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
>
>

Reply via email to