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