Tapestry
  1. Tapestry
  2. TAPESTRY-848

Binding Exceptions more prominent with annotations

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 4.0
    • Fix Version/s: 4.1.1
    • Component/s: Annotations
    • Labels:
      None
    • Environment:
      Gentoo Linux, Jboss 4.0.2 JDK 5.0

      Description

      As posted in the tapestry forums:

      At first I thought I could work around these issues but they seem to
      be popping up more and more throughout my application. Its really
      becoming an issue for me.

      Ever since I have moved from .page and .jwc files to annotations I get
      these exceptions more often.

      I don't believe I am doing anything wrong with these annotations. As
      you can see by the following one I have just declared a DelegateBean
      in my class. Using

      @Bean(SimpleValidationDeleage)
      public abstract SimpleValidationDelegate getDelegate();

      That same Delegate is used on mulitple pages and in components. From
      what I understand this should be acceptable.

      This issue also has sprung up on my declaring the same Persistent
      property on different pages or components using the @Persist
      annotation.

      I've also recieved a similar exception doing the following in which both the
      page and component contain:
      @InjectState("visit")
      public abstract void getVisitObj();

      I was able to work around the issue by changing the component to be
      @InjectState("visit")
      public abstract void getVisitObjComp();

      I didn't run into these problems before I used annotations. I'd also
      hate to have to go back to .page and .jwc files since there are so
      many files that I've changed.

      Here is an one of the exceptions:

      Exception invoking listener method searchLinkListener of component
      SearchResults/border.search: Error: An error occured processing
      annotation @org.apache.tapestry.annotations.Bean(value=class
      view.util.SimpleValidationDelegate, lifecycle=REQUEST, initializer=)
      of public abstract view.util.SimpleValidationDelegate
      view.components.BasicSearch.getDelegate(): Bean delegate has already
      been declared (at Annotation
      @org.apache.tapestry.annotations.Bean(value=class
      view.util.SimpleValidationDelegate, lifecycle=REQUEST, initializer=)
      of public abstract view.util.SimpleValidationDelegate
      view.components.BasicSearch.getDelegate()).
      binding: org.apache.tapestry.binding.ListenerMethodBinding@fe8153[template
      parameter listener, component=SearchResults/border.search,
      methodName=searchLinkListener,
      location=context:/WEB-INF/BasicSearch.html, line 16]
      component: $BasicSearch_181@4c72e3[SearchResults/border.search]
      location: context:/WEB-INF/BasicSearch.html, line 16
      11 <br>
      12 <input jwcid="companyField"
      13 autocomplete="off" size="20" id="txt1" /> <br>
      14 <input jwcid="@Submit" name="Submit" label="message:submit" /></form>
      15
      16 <a jwcid="@DirectLink" listener="listener:searchLinkListener">
      17 » <span key="advanced">Advanced</span>
      18 </a>
      19 </div>
      20 </td>
      21 </tr>

      org.apache.hivemind.ApplicationRuntimeException
      Error: An error occured processing annotation
      @org.apache.tapestry.annotations.Bean(value=class
      util.SimpleValidationDelegate, lifecycle=REQUEST, initializer=) of
      public abstract view.util.SimpleValidationDelegate
      view.components.BasicSearch.getDelegate(): Bean delegate has already
      been declared (at Annotation
      @org.apache.tapestry.annotations.Bean(value=class
      view.util.SimpleValidationDelegate, lifecycle=REQUEST, initializer=)
      of public abstract view.util.SimpleValidationDelegate
      view.components.BasicSearch.getDelegate()).
      location: Annotation @org.apache.tapestry.annotations.Bean(value=class
      view.util.SimpleValidationDelegate, lifecycle=REQUEST, initializer=)
      of public abstract view.util.SimpleValidationDelegate
      view.components.BasicSearch.getDelegate()

      org.apache.hivemind.ApplicationRuntimeException
      Bean delegate has already been declared (at Annotation
      @org.apache.tapestry.annotations.Bean(value=class
      view.util.SimpleValidationDelegate, lifecycle=REQUEST, initializer=)
      of public abstract view.util.SimpleValidationDelegate
      view.components.BasicSearch.getDelegate()).
      location: Annotation @org.apache.tapestry.annotations.Bean(value=class
      view.util.SimpleValidationDelegate, lifecycle=REQUEST, initializer=)
      of public abstract view.util.SimpleValidationDelegate
      view.components.BasicSearch.getDelegate()
      Stack Trace:
      org.apache.tapestry.spec.ComponentSpecification.addBeanSpecification(ComponentSpecification.java:410)
      org.apache.tapestry.annotations.BeanAnnotationWorker.performEnhancement(BeanAnnotationWorker.java:64)
      org.apache.tapestry.annotations.AnnotationEnhancementWorker.performMethodEnhancement(AnnotationEnhancementWorker.java:142)
      org.apache.tapestry.annotations.AnnotationEnhancementWorker.performMethodEnhancement(AnnotationEnhancementWorker.java:110)
      org.apache.tapestry.annotations.AnnotationEnhancementWorker.performEnhancement(AnnotationEnhancementWorker.java:70)
      $EnhancementWorker_1090cd8cc4b.performEnhancement($EnhancementWorker_1090cd8cc4b.java)
      $EnhancementWorker_1090cd8cc4d.performEnhancement($EnhancementWorker_1090cd8cc4d.java)
      $EnhancementWorker_1090cd8cc2d.performEnhancement($EnhancementWorker_1090cd8cc2d.java)
      org.apache.tapestry.services.impl.ComponentConstructorFactoryImpl.getComponentConstructor(ComponentConstructorFactoryImpl.java:97)
      $ComponentConstructorFactory_1090cd8cc1a.getComponentConstructor($ComponentConstructorFactory_1090cd8cc1a.java)
      org.apache.tapestry.pageload.PageLoader.instantiateComponent(PageLoader.java:531)
      org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageLoader.java:481)

      1. DisableCachingFilter.java
        3 kB
        Joseph Chen
      2. ComponentConstructorFactoryImpl.java
        5 kB
        Joseph Chen
      3. annbug.tar.gz
        10 kB
        Vitaliy Batichko
      4. patch.txt
        3 kB
        Jan Normann Nielsen

        Issue Links

          Activity

          No work has yet been logged on this issue.

            People

            • Assignee:
              Jesse Kuhnert
              Reporter:
              Chris Chiappone
            • Votes:
              5 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development