Tapestry
  1. Tapestry
  2. TAPESTRY-1731

@Inject @Symbol does not work inside a component

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 5.0.5
    • Fix Version/s: 5.0.6
    • Component/s: tapestry-core
    • Labels:
      None

      Description

      This should work:

      @Inject
      @Symbol(WebConstants.DOCUMENT_ROOT_DIR)
      private String _documentRoot;

      But the @Symbol is not recognized, so the injection is implemented as:

      add method: private void _$write_documentRoot(java.lang.String $1)
      throw new java.lang.RuntimeException("Field com.dtsoft.ws.web.pages.CreateOrder._documentRoot is read-only.");

      add constructor: com.dtsoft.ws.web.pages.CreateOrder(org.apache.tapestry.internal.InternalComponentResources $1, com.dtsoft.ws.web.services.OrderDatabase $2)

      { _$resources = $1; _documentRoot = _$resources.getCompleteId(); _database = $2; initializer(); }

      This appears to be the same for @Inject @Value ... with a String type, the only thing that can be injected is the component id.

        Activity

        Howard M. Lewis Ship created issue -
        Howard M. Lewis Ship made changes -
        Field Original Value New Value
        Assignee Howard M. Lewis Ship [ hlship ]
        Howard M. Lewis Ship made changes -
        Fix Version/s 5.0.6 [ 12312544 ]
        Status Open [ 1 ] Closed [ 6 ]
        Resolution Fixed [ 1 ]
        Mark Thomas made changes -
        Workflow jira [ 12411966 ] Default workflow, editable Closed status [ 12568297 ]
        Mark Thomas made changes -
        Workflow Default workflow, editable Closed status [ 12568297 ] jira [ 12591363 ]

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development