Tapestry
  1. Tapestry
  2. TAPESTRY-846

Random error accesing pages: Property " " has already been accounted for by the element at Annotation ...

    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:
      Linux, OS X, WXP

      Description

      As posted in Tapestry mailing list:

      I have been unable to write a test to reproduce the error since it happens randomly which makes me thing that it happens when classes are enhanced. I have checked all my classes and com.estudiowebs.CMS.components.AbstractCMSComponent is the only place where that property is declared.

      Here is my code:

      public abstract class AbstractCMSComponent extends BaseComponent

      { @InjectPage("News") public abstract News getNewsPage(); }

      public abstract class AbstractCategoryLinker extends AbstractCMSComponent {

      public IPage onClickMenuItem() {
      Contact cp = getContactPage();
      return cp;
      }

      public abstract class MenuNavigation extends AbstractCategoryLinker {

      }

      Here is the stack trace:

      org.apache.hivemind.ApplicationRuntimeException
      Property newsPage has already been accounted for by the element at Annotation @org.apache.tapestry.annotations.InjectPage(value=News) of public abstract com.estudiowebs.CMS.pages.News com.estudiowebs.CMS.components.AbstractCMSComponent.getNewsPage().
      location: Annotation @org.apache.tapestry.annotations.InjectPage(value=News) of public abstract com.estudiowebs.CMS.pages.News com.estudiowebs.CMS.components.AbstractCMSComponent.getNewsPage()
      Stack Trace:

      • org.apache.tapestry.spec.ComponentSpecification.claimProperty(ComponentSpecification.java:674)
      • org.apache.tapestry.spec.ComponentSpecification.addInjectSpecification(ComponentSpecification.java:645)
      • org.apache.tapestry.annotations.InjectPageAnnotationWorker.performEnhancement(InjectPageAnnotationWorker.java:50)
      • 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_108fb922aed.performEnhancement($EnhancementWorker_108fb922aed.java)
      • $EnhancementWorker_108fb922aef.performEnhancement($EnhancementWorker_108fb922aef.java)
      • $EnhancementWorker_108fb922acb.performEnhancement($EnhancementWorker_108fb922acb.java)
      • org.apache.tapestry.services.impl.ComponentConstructorFactoryImpl.getComponentConstructor(ComponentConstructorFactoryImpl.java:97)
      • $ComponentConstructorFactory_108fb922ab8.getComponentConstructor($ComponentConstructorFactory_108fb922ab8.java)
      • org.apache.tapestry.pageload.PageLoader.instantiateComponent(PageLoader.java:531)
      • org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.java:401)
      • org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageLoader.java:494)
      • $IPageLoader_108fb922aa8.createImplicitComponent($IPageLoader_108fb922aa8.java)
      • $IPageLoader_108fb922aa9.createImplicitComponent($IPageLoader_108fb922aa9.java)
      • org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.createImplicitComponent(ComponentTemplateLoaderLogic.java:218)
      • org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.process(ComponentTemplateLoaderLogic.java:172)
      • org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.process(ComponentTemplateLoaderLogic.java:111)
      • org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.loadTemplate(ComponentTemplateLoaderLogic.java:88)
      • org.apache.tapestry.services.impl.ComponentTemplateLoaderImpl.loadTemplate(ComponentTemplateLoaderImpl.java:60)
      • $ComponentTemplateLoader_108fb922abc.loadTemplate($ComponentTemplateLoader_108fb922abc.java)
      • org.apache.tapestry.pageload.PageLoader.loadTemplateForComponent(PageLoader.java:648)
      • org.apache.tapestry.BaseComponent.readTemplate(BaseComponent.java:77)
      • org.apache.tapestry.BaseComponent.finishLoad(BaseComponent.java:107)
      • $Contact_470.finishLoad($Contact_470.java)
      • org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.java:439)
      • org.apache.tapestry.pageload.PageLoader.loadPage(PageLoader.java:613)
      • $IPageLoader_108fb922aa8.loadPage($IPageLoader_108fb922aa8.java)
      • $IPageLoader_108fb922aa9.loadPage($IPageLoader_108fb922aa9.java)
      • org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:120)
      • $IPageSource_108fb922a07.getPage($IPageSource_108fb922a07.java)
      • org.apache.tapestry.engine.RequestCycle.loadPage(RequestCycle.java:268)
      • org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:251)
      • $MenuNavigation_464.getContactPage($MenuNavigation_464.java)
      • com.estudiowebs.CMS.components.AbstractCategoryLinker.onClickMenuItem(AbstractCategoryLinker.java:20)
      • sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      • sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      • sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      • java.lang.reflect.Method.invoke(Method.java:585)
      • org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeTargetMethod(ListenerMethodInvokerImpl.java:214)
      • org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod(ListenerMethodInvokerImpl.java:155)
      • org.apache.tapestry.listener.ListenerMethodInvokerImpl.searchAndInvoke(ListenerMethodInvokerImpl.java:124)
      • org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod(ListenerMethodInvokerImpl.java:65)
      • org.apache.tapestry.listener.SyntheticListener.actionTriggered(SyntheticListener.java:51)
      • org.apache.tapestry.binding.ListenerMethodBinding.actionTriggered(ListenerMethodBinding.java:77)
      • org.apache.tapestry.listener.ListenerInvokerTerminator.invokeListener(ListenerInvokerTerminator.java:51)
      • $ListenerInvoker_108fb922a35.invokeListener($ListenerInvoker_108fb922a35.java)
      • org.apache.tapestry.link.DirectLink.trigger(DirectLink.java:105)
      • org.apache.tapestry.engine.DirectService.triggerComponent(DirectService.java:146)
      • org.apache.tapestry.engine.DirectService.service(DirectService.java:132)
      • $IEngineService_108fb922a92.service($IEngineService_108fb922a92.java)
      • org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:66)
      • org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:248)
      • org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60)
      • $WebRequestServicer_108fb922a6b.service($WebRequestServicer_108fb922a6b.java)
      • org.apache.tapestry.services.impl.DisableCachingFilter.service(DisableCachingFilter.java:48)
      • $WebRequestServicerFilter_108fb922a6d.service($WebRequestServicerFilter_108fb922a6d.java)
      • $WebRequestServicer_108fb922a6f.service($WebRequestServicer_108fb922a6f.java)
      • $WebRequestServicer_108fb922a67.service($WebRequestServicer_108fb922a67.java)
      • org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:56)
      • $ServletRequestServicer_108fb922a4b.service($ServletRequestServicer_108fb922a4b.java)
      • org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
      • $ServletRequestServicerFilter_108fb922a47.service($ServletRequestServicerFilter_108fb922a47.java)
      • $ServletRequestServicer_108fb922a4d.service($ServletRequestServicer_108fb922a4d.java)
      • org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
      • $ServletRequestServicerFilter_108fb922a45.service($ServletRequestServicerFilter_108fb922a45.java)
      • $ServletRequestServicer_108fb922a4d.service($ServletRequestServicer_108fb922a4d.java)
      • org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
      • $ServletRequestServicerFilter_108fb922a49.service($ServletRequestServicerFilter_108fb922a49.java)
      • $ServletRequestServicer_108fb922a4d.service($ServletRequestServicer_108fb922a4d.java)
      • $ServletRequestServicer_108fb922a3f.service($ServletRequestServicer_108fb922a3f.java)
      • org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)
      • org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:79)
      • javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
      • javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      • org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
      • org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      • org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:172)
      • org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
      • org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      • org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      • org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
      • org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
      • org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
      • org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
      • org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
      • org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
      • org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
      • org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
      • org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
      • org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
      • org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
      • java.lang.Thread.run(Thread.java:613)

        Issue Links

          Activity

          Mark Thomas made changes -
          Workflow Default workflow, editable Closed status [ 12567629 ] jira [ 12590763 ]
          Mark Thomas made changes -
          Workflow jira [ 12346206 ] Default workflow, editable Closed status [ 12567629 ]
          Jesse Kuhnert made changes -
          Link This issue is duplicated by TAPESTRY-848 [ TAPESTRY-848 ]
          Jesse Kuhnert made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Fix Version/s 4.1.1 [ 12312021 ]
          Resolution Fixed [ 1 ]
          Jesse Kuhnert made changes -
          Field Original Value New Value
          Assignee Jesse Kuhnert [ jkuhnert ]
          Raul Raja Martinez created issue -

            People

            • Assignee:
              Jesse Kuhnert
              Reporter:
              Raul Raja Martinez
            • Votes:
              14 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development