Thank you. I had not seen that page before, or at least not the part about the base package. I tried to move the parent to "com.example.newapp.base" (pages are in "com.example.newapp.pages"), but the error stays the same. ChildA will not render before ChildB has been accessed or the @Log annotation in the parent class have been removed.
Regards Sigbjørn Tvedt On Thu, Sep 15, 2011 at 09:40, Chris Poulsen <mailingl...@nesluop.dk> wrote: > > http://tapestry.apache.org/component-classes.html#ComponentClasses-ComponentPackages > mentions the "base" package. > > I can't guess what you have tried. Did you move both parent class and tml > to > "base" ? > > -- > Chris > > On Thu, Sep 15, 2011 at 9:24 AM, Sigbjørn Tvedt <sigbjo...@gmail.com> > wrote: > > > Thank you for your reply, but I still cannot get it to work. Please note > > that the parent class has a tml file that will be used by the children > > (since they do not have any tml files of their own) > > > > Sigbjørn > > > > On Thu, Sep 15, 2011 at 09:13, Chris Poulsen <mailingl...@nesluop.dk> > > wrote: > > > > > AFAIK "base" classes (like your parent) should go into the "base" > > package. > > > > > > -- > > > Chris > > > > > > On Thu, Sep 15, 2011 at 8:45 AM, Sigbjørn Tvedt <sigbjo...@gmail.com> > > > wrote: > > > > > > > Howard: The pages and superclass are all in the same package > > > > (com.example.newapp.pages) > > > > > > > > I made a demo app (for both issues) on > > > > https://github.com/sigbjornt/T5.3-beta-6-bug-demo . > > > > > > > > Robert: I see you filed TAP5-1652 so I will not file a second > report. > > > > > > > > Regards > > > > > > > > Sigbjørn Tvedt > > > > > > > > On Wed, Sep 14, 2011 at 19:18, Robert Zeigler > > > > <robert.zeig...@roxanemy.com>wrote: > > > > > > > > > Please file an issue for at least the second issue (whitespace > isn't > > > > > ignored after expressions). That's definitely a regression, and > > caused > > > by > > > > my > > > > > recent changes to the expansion parsing. > > > > > > > > > > Robert > > > > > > > > > > On Sep 14, 2011, at 9/1410:14 AM , Howard Lewis Ship wrote: > > > > > > > > > > > These looks like legitimate issues to me. I know Roger was > tweaking > > > > > > the regular expressions for template expansions, that could > account > > > > > > for the one change. The other is certainly in my domain, class > > > > > > transformation. A simple test case for the class loading problem > > > > > > would be useful, I'm especially concerned about which packages > each > > > > > > class is in. > > > > > > > > > > > > On Wed, Sep 14, 2011 at 5:27 AM, Sigbjørn Tvedt < > > sigbjo...@gmail.com > > > > > > > > > wrote: > > > > > >> Hi. > > > > > >> I just did a test upgrade on one of our applications to > 5.3-beta-6 > > > > (from > > > > > >> 5.2.6) and I found two problem areas. > > > > > >> > > > > > >> **** > > > > > >> The first problem I encountered are connected with abstract > > classes > > > > and > > > > > @Log > > > > > >> (I have not tried other annotations). > > > > > >> > > > > > >> I have a parent class and two subclasses. > > > > > >> The parent is declared as a abstract class as the logic in the > > > > > subclasses > > > > > >> will differ slightly but they are both using Parent.tml and the > > same > > > > > setup > > > > > >> routine. > > > > > >> > > > > > >> public abstract class Parent { > > > > > >> @Log > > > > > >> public void setupRender() { > > > > > >> } > > > > > >> } > > > > > >> public class ChildA extends Parent { > > > > > >> .... > > > > > >> } > > > > > >> public class ChildB extends Parent { > > > > > >> @Override > > > > > >> public void setupRender() { > > > > > >> super.setupRender(); > > > > > >> } > > > > > >> .... > > > > > >> } > > > > > >> > > > > > >> > > > > > >> In T5.2.6, this was acceptable, but T5.3-beta-6 gives this this > > > error: > > > > > >> org.apache.tapestry5.internal.services.RenderQueueException > > > > > >> Render queue error in SetupRender[ChildA]: Unable to locate > Method > > > > > public > > > > > >> void setupRender(): > com.example.newapp.pages.ChildA.setupRender() > > > > > >> activeComponents: > > > > > >> ChildA (class com.example.newapp.pages.ChildA) > > > > > >> java.lang.NoSuchMethodException > > > > > >> com.example.newapp.pages.ChildA.setupRender() > > > > > >> > > > > > >> (The stacktrace are included at the end of the e-mail) > > > > > >> > > > > > >> > > > > > >> > > > > > >> Please note that the error will _only_ occur if the page ChildA > is > > > > > accessed > > > > > >> before ChildB. Once ChildB (with the overridden method) has been > > > > > accessed, > > > > > >> ChildA will work as expected. > > > > > >> > > > > > >> > > > > > >> ***** > > > > > >> The second problem is that the tailing whitespace on properties > > are > > > no > > > > > >> longer ignored. > > > > > >> ${message:greeting } will therefore give a [[missing key: > > greeting > > > ]] > > > > > >> while ${message:greeting} works as it should. > > > > > >> > > > > > >> One could agree that we should not insert the whitespace, but as > > the > > > > > editor > > > > > >> (Eclipse) is eager to insert a whitespace after writing ${, this > > > will > > > > > >> probably be a problem for several users. > > > > > >> > > > > > >> > > > > > >> Am I breaking the conventions here, or should I file 2 jiras? > > > > > >> > > > > > >> > > > > > >> Regards > > > > > >> > > > > > >> Sigbjørn Tvedt > > > > > >> > > > > > >> > > > > > >> > > > > > > > > > > > > > > > ----------------------------------------------------------------------------- > > > > > >> Stack trace from the parent/child problem: > > > > > >> java.lang.Class.getDeclaredMethod(Class.java:1954) > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.internal.plastic.MethodInvocationBundle.findMethod(MethodInvocationBundle.java:59) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.internal.plastic.MethodInvocationBundle.getMethod(MethodInvocationBundle.java:42) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.getMethod(AbstractMethodInvocation.java:110) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.ioc.internal.services.MethodLogger.entry(MethodLogger.java:63) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.ioc.internal.services.LoggingAdvice.advise(LoggingAdvice.java:41) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86) > > > > > >> > > > > > >> com.example.newapp.pages.Parent.setupRender(Parent.java) > > > > > >> com.example.newapp.pages.Parent.setupRender(Parent.java) > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$SetupRenderPhase.invokeComponent(ComponentPageElementImpl.java:174) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:133) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$SetupRenderPhase.render(ComponentPageElementImpl.java:181) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:72) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:124) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.internal.services.MarkupRendererTerminator.renderMarkup(MarkupRendererTerminator.java:37) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.services.TapestryModule$31.renderMarkup(TapestryModule.java:1998) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.services.TapestryModule$30.renderMarkup(TapestryModule.java:1982) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.services.TapestryModule$29.renderMarkup(TapestryModule.java:1964) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.services.TapestryModule$28.renderMarkup(TapestryModule.java:1949) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.services.TapestryModule$27.renderMarkup(TapestryModule.java:1935) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.services.TapestryModule$26.renderMarkup(TapestryModule.java:1917) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.services.TapestryModule$25.renderMarkup(TapestryModule.java:1898) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:47) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:67) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:64) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.services.TapestryModule$38.handle(TapestryModule.java:2227) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:48) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.services.InitializeActivePageName.handlePageRender(InitializeActivePageName.java:47) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:45) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:297) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:894) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:884) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90) > > > > > >> > > > > > >> > com.example.newapp.services.AppModule$1.service(AppModule.java:90) > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:105) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:95) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:119) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:248) > > > > > >> > > > > > >> > > > > > > > > > org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53) > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62) > > > > > >> > > > > > >> > > > > > > > > > > > > > > > org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:844) > > > > > >> > > > > > >> > > > org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:160) > > > > > >> > > > > > >> > > > > > >> > > > > > >> > > > > > >> -------------------- > > > > > >> java.library.path > > > > > >> /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server > > > > > >> /usr/lib/jvm/java-6-openjdk/jre/lib/amd64 > > > > > >> /usr/lib/jvm/java-6-openjdk/jre/../lib/amd64 > > > > > >> /usr/java/packages/lib/amd64 > > > > > >> /usr/lib/x86_64-linux-gnu/jni > > > > > >> /lib/x86_64-linux-gnu > > > > > >> /usr/lib/x86_64-linux-gnu > > > > > >> /usr/lib/jni > > > > > >> /lib > > > > > >> /usr/lib > > > > > >> java.runtime.name > > > > > >> OpenJDK Runtime Environment > > > > > >> java.runtime.version > > > > > >> 1.6.0_22-b22 > > > > > >> java.specification.name > > > > > >> Java Platform API Specification > > > > > >> java.specification.vendor > > > > > >> Sun Microsystems Inc. > > > > > >> java.specification.version > > > > > >> 1.6 > > > > > >> java.vendor > > > > > >> Sun Microsystems Inc. > > > > > >> java.vendor.url > > > > > >> http://java.sun.com/ > > > > > >> java.vendor.url.bug > > > > > >> http://java.sun.com/cgi-bin/bugreport.cgi > > > > > >> java.version > > > > > >> 1.6.0_22 > > > > > >> java.vm.info > > > > > >> mixed mode > > > > > >> java.vm.name > > > > > >> OpenJDK 64-Bit Server VM > > > > > >> java.vm.specification.name > > > > > >> Java Virtual Machine Specification > > > > > >> java.vm.specification.vendor > > > > > >> Sun Microsystems Inc. > > > > > >> java.vm.specification.version > > > > > >> 1.0 > > > > > >> java.vm.vendor > > > > > >> Sun Microsystems Inc. > > > > > >> java.vm.version > > > > > >> 20.0-b11 > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > Howard M. Lewis Ship > > > > > > > > > > > > Creator of Apache Tapestry > > > > > > > > > > > > The source for Tapestry training, mentoring and support. Contact > me > > > to > > > > > > learn how I can get you up and productive in Tapestry fast! > > > > > > > > > > > > (971) 678-5210 > > > > > > http://howardlewisship.com > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > > To unsubscribe, e-mail: dev-unsubscr...@tapestry.apache.org > > > > > > For additional commands, e-mail: dev-h...@tapestry.apache.org > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > To unsubscribe, e-mail: dev-unsubscr...@tapestry.apache.org > > > > > For additional commands, e-mail: dev-h...@tapestry.apache.org > > > > > > > > > > > > > > > > > > > >