On 8/14/07, Andrus Adamchik <[EMAIL PROTECTED]> wrote: > > I found essentially the same problem in a @For loop over a list of objects > that do not implement any common interface, but (by design) have matching > method names. Tapestry would try to cast to the class of the first object > in > the loop, instead of using a declared class of the loop variable. This > stalled our upgrade to 4.1.2. > I traced it down to HiveMindExpressionCompiler.generateGetter(..), but I > am > still not sure whether this is a Tapestry or OGNL bug (or rather where the > solution should be implemented). BTW where OGNL posts its releases now? I > couldn't find anything beyond 2.6.7. > I wonder if you had a chance to look into this issue? >
Just by reading this, I'm 95% sure it's a OGNL issue. Jesse publishes new OGNL snapshots on his repository ( http://opencomponentry.com/repository/m2-snapshot-repo/ognl/ognl/2.7.1-SNAPSHOT/). Try excluding the OGNL 2.7 that comes with 4.1.2 and use one of the newer 2.7.1 snapshots (2.7.1-20070723.185910-9 for example solved lots of issue for us). Though I'm still tracking down yet another, similar ClassCastException one even in the latest. Kalle > Jessek wrote: > > > > Thanks, I've re-opened the bug and will take a look. > > > > On 7/10/07, Damien Uern <[EMAIL PROTECTED]> wrote: > >> > >> Hello, > >> > >> I recently upgraded to OGNL 2.7, Tapestry 4.1.2 and am experiencing the > >> same issue described here http://jira.opensymphony.com/browse/OGNL-11. > >> > >> The original poster didn't seem to provide much information, so I have > >> added a comment to that bug describing the issue I am having. I'm not > >> sure if I need to open a new bug in order for somebody to look at it. > >> > >> I will reproduce my comment here for convenience, any help/workarounds > >> would be most appreciated: > >> > >> I have just updated from Tapestry 4.0 to 4.1.2 with OGNL 2.7 and I am > >> having this same class cast exception on an ASTChain generated class, > >> stack trace is here: > >> > >> Caused by: java.lang.ClassCastException: > >> com.jigsawpublications.common.tapestry.menu.ActionLinkNode > >> at $ASTChain_113aed5c33f.get($ASTChain_113aed5c33f.java) > >> at > >> org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read( > >> ExpressionEvaluatorImpl.java:142) > >> > >> What we have in the component template looks like this: > >> > >> > >> <li> > >> parameters="ognl:getNodeIter().getAction()" > >> href="#" title="ognl:nodeIter.title"> > >> > >> > >> </li> > >> > >> > >> The nodeIter property on the component class is declared as follows: > >> > >> public IMenuNode getNodeIter() { ....} > >> > >> So what we have here is a list of objects all implementing this > >> interface IMenuNode, and getNodeIter() returns the current iteration as > >> set by the tapestry @For component. The class cast exception was on an > >> ActionLinkNode which implements that interface. Other classes are > >> PageLinkNode, RootNode and MenuNode. The *only* one that causes a > >> problem seems to be the above @Block component, as another block: > >> > >> > >> <li> > >> # page="ognl:nodeIter.page"> > >> > >> > >> </li> > >> > >> > >> renders fine without any issue (these other blocks occur earlier in the > >> page than the ActionLinkBlock). If I change the actionLink block to be > >> the following (i.e. change the offending ognl expressions): > >> > >> > >> <li> > >> parameters="ognl:'action'" > >> href="#" title="ognl:'title'"> > >> > >> > >> </li> > >> > >> > >> Then I do not get an exception during the page render. This worked fine > >> with the previous version of ognl we were using (2.6.7). > >> > >> Please let me know if you require more information. > >> > >> Regards, > >> > >> Damien Uern > >> > >> -- > >> > >> > >> Damien Uern > >> Online Applications Developer > >> Synect Online Solutions > >> http://www.synect.com > >> > >> > > > > > > -- > > Jesse Kuhnert > > Tapestry/Dojo team member/developer > > > > Open source based consulting work centered around > > dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com > > > > > > -- > View this message in context: > http://www.nabble.com/Class-cast-exception-in-ASTChain%2C-Bug-OGNL-11-tf4054151.html#a12151415 > Sent from the Tapestry - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >