Tapestry
  1. Tapestry
  2. TAPESTRY-1331

Need an @InjectValue annotation for cases where a value to insert contains a colon

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 5.0
    • Fix Version/s: 5.0.4
    • Component/s: tapestry-ioc
    • Labels:
      None

      Description

      If a value (not a service) to be injected into a method is a string that contains a colon (':') character, it will be interpreted as a object provider expression (i.e., such as "service:foo" or "infrastructure:bar"). If the value is a JDBC or other URL, the scheme ("http:") will be interpretted as a object provider prefix, resulting in an exception.

      Either @Inject needs an attribute for this case (i..e, literal=true), or there needs to be a secondary annotation, @InjectValue, for this case.

      Hiding the URL inside a symbol, i.e., @Inject("$

      {mysymbol}") doesn't work, because ${mysymbol}

      is expanded before the check for the colon.

        Issue Links

          Activity

          Hide
          Howard M. Lewis Ship added a comment -

          Added a @Value annotation that works in concert with @Inject for this purpose.

          Show
          Howard M. Lewis Ship added a comment - Added a @Value annotation that works in concert with @Inject for this purpose.

            People

            • Assignee:
              Howard M. Lewis Ship
              Reporter:
              Howard M. Lewis Ship
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development