[ http://issues.apache.org/jira/browse/TAPESTRY-846?page=comments#action_12364247 ]
Chris Chiappone commented on TAPESTRY-846: ------------------------------------------ This is actually becoming way more of a problem than I originally expected. Here is an entry I made in the tapestry list describing more of the issue: 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 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: [EMAIL PROTECTED] parameter listener, component=SearchResults/border.search, methodName=searchLinkListener, location=context:/WEB-INF/BasicSearch.html, line 16] component: [EMAIL PROTECTED]/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) > Random error accesing pages: Property " " has already been accounted for by > the element at Annotation ... > --------------------------------------------------------------------------------------------------------- > > Key: TAPESTRY-846 > URL: http://issues.apache.org/jira/browse/TAPESTRY-846 > Project: Tapestry > Type: Bug > Components: Annotations > Versions: 4.0 > Environment: Linux, OS X, WXP > Reporter: Raul Raja Martinez > > 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) -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
