Tapestry 5
  1. Tapestry 5
  2. TAP5-1676

When an @InjectComponent annotation fails due to missing component, it should identify the class name and field for the injection

    Details

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

      Description

      Stack trace

      org.apache.tapestry5.internal.structure.ComponentPageElementImpl.getEmbeddedElement(ComponentPageElementImpl.java:853)
      org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.getEmbeddedComponent(InternalComponentResourcesImpl.java:186)
      org.apache.tapestry5.internal.transform.InjectComponentWorker$InjectedComponentFieldValueConduit.load(InjectComponentWorker.java:65)
      org.apache.tapestry5.internal.transform.InjectComponentWorker$InjectedComponentFieldValueConduit.access$000(InjectComponentWorker.java:35)
      org.apache.tapestry5.internal.transform.InjectComponentWorker$InjectedComponentFieldValueConduit$1.containingPageDidLoad(InjectComponentWorker.java:56)
      org.apache.tapestry5.internal.structure.PageImpl.loaded(PageImpl.java:170)
      org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:178)
      org.apache.tapestry5.internal.pageload.PageLoaderImpl$3.invoke(PageLoaderImpl.java:164)

      Operation trace:

      Constructing instance of page class com.xxx.pages.CreateEntity

      Exception message:

      Component CreateEntity does not contain embedded component 'subElementsFrag'.

      However, this does not make it obvious that the failure was the @InjectComponent on the subElementsFrag field.

        Activity

        Hide
        Hudson added a comment -

        Integrated in tapestry-trunk-freestyle #553 (See https://builds.apache.org/job/tapestry-trunk-freestyle/553/)
        TAP5-1676: When an @InjectComponent annotation fails due to missing component, it should identify the class name and field for the injection

        hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1177038
        Files :

        • /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/InjectComponentWorker.java
        • /tapestry/tapestry5/trunk/tapestry-core/src/test/app1/Index.tml
        • /tapestry/tapestry5/trunk/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/PageLoadErrorTests.groovy
        • /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java
        • /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/MissingEmbeddedComponent.java
        Show
        Hudson added a comment - Integrated in tapestry-trunk-freestyle #553 (See https://builds.apache.org/job/tapestry-trunk-freestyle/553/ ) TAP5-1676 : When an @InjectComponent annotation fails due to missing component, it should identify the class name and field for the injection hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1177038 Files : /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/InjectComponentWorker.java /tapestry/tapestry5/trunk/tapestry-core/src/test/app1/Index.tml /tapestry/tapestry5/trunk/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/PageLoadErrorTests.groovy /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/CoreBehaviorsTests.java /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/MissingEmbeddedComponent.java

          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