ognl 2.7.3 has been available for some days now, though i dont know if it
can handle such expressions...

In any case, here's ognl's jira
http://jira.opensymphony.com/browse/OGNL

and of course the obvious workaround is to move  (if possible) the expression
into java code.




On Tue, Jun 24, 2008 at 10:31 PM, rdhallman <[EMAIL PROTECTED]> wrote:
>
> We are in the process of upgrading from Tapestry 4.0.2 to Tapestry 4.1.5.
> I've run into several porting issues along the way, but the most problematic
> is:
>
> ERROR HiveMindExpressionCompiler - Error generating OGNL getter for
> expression
>
> We use some OGNL expressions in our application that are probably more
> complex than is typical.  It seems that 4.0.2 with OGNL 2.6.9 allowed these
> more complex OGNL expressions, but _apparently_ OGNL 2.7.2 has regressed in
> this regard.
>
> Here are some examples of the OGNL expressions we have in our application
> that are causing problems with the latest Tapestry, OGNL libraries:
>
>  <binding name="queryParameters"
>        value="ognl:[EMAIL PROTECTED]@class,
> @[EMAIL PROTECTED]()
>               .addEqFilter('photoType',@[EMAIL PROTECTED])
>               .addScopeFilter(getUserScope())
>
> .addConCategoryFilter(components.categoryRetriever_UserPhoto.pageCategory)
> .setSortBy('publishDate desc') }" />
>
>  <binding name="sortingCriteria"
>          value="ognl:{ #{'label':'Latest', 'criterion':'publishDate
> desc','default':true},
>                #{'label':'Title', 'criterion':'title asc','default':false},
>                #{'label':'Most Popular', 'criterion':'counter.viewCounts.total
> desc','default':false},
>                #{'label':'Most Commented', 
> 'criterion':'counter.commentCounts.total
> desc','default':false},
>                #{'label':'Highest Rated',
> 'criterion':'counter.ratingSummary.ratingAvgScore desc','default':false}
>                }"/>
>
> So, these expressions succeed in Tapestry 4.0.2 + OGNL 2.6.9, but fail with
> Tapestry 4.1.5 + OGNL 2.7.2.  Is this a known issue?
>
> Here is an abbreviated stack trace:
>
> ERROR HiveMindExpressionCompiler - Error generating OGNL getter for
> expression { @[EMAIL PROTECTED],
> @[EMAIL PROTECTED]().addEqFilter("galleryType",
> @[EMAIL 
> PROTECTED]).addScopeFilter(getEditorScope()).addConCategoryFilter(components.categoryRetriever_EditorPhotoGallery.pageCategory).setSortBy("publishDate
> desc") } with root [EMAIL PROTECTED] and body:
> { return
> ((com.wmg.cdp.domain.filter.QueryFilter)((com.wmg.cdp.domain.filter.QueryFilter)((com.wmg.cdp.domain.filter.QueryFilter)java.util.Arrays.asList(
> new Object[] {  ($w) (com.wmg.cdp.domain.photo.PhotoGallery.class),  ($w)
> (com.wmg.cdp.domain.filter.QueryFilter#getInstance()).addEqFilter("galleryType",
> com.wmg.cdp.domain.common.GalleryType.PHOTO_GALLERY)).addScopeFilter((($SectionPage_0)$2).getEditorScope())).addConCategoryFilter(((com.wmg.cdp.controller.components.contentmanager.category.PageCategoryRetriever)(($SectionPage_0)$2).getComponents().get("categoryRetriever_EditorPhotoGallery")).getPageCategory()).setSortBy("publishDate
> desc"))});}
> org.apache.hivemind.ApplicationRuntimeException: Unable to add method
> java.lang.Object get(ognl.OgnlContext, java.lang.Object) to class
> $ASTList_11ab9f3e5a1: [source error] syntax error near
> "_GALLERY)).addScopeF"
>        at
> org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:278)
>        at
> org.apache.tapestry.services.impl.HiveMindExpressionCompiler.compileExpression(HiveMindExpressionCompiler.java:171)
>        at ognl.OgnlRuntime.compileExpression(OgnlRuntime.java:414)
>        at ognl.Ognl.compileExpression(Ognl.java:141)
>        at
> org.apache.tapestry.services.impl.ExpressionCacheImpl.parse(ExpressionCacheImpl.java:152)
>        at
> org.apache.tapestry.services.impl.ExpressionCacheImpl.getCompiledExpression(ExpressionCacheImpl.java:115)
>        at
> $ExpressionCache_11ab9f3e4e0.getCompiledExpression($ExpressionCache_11ab9f3e4e0.java)
>        at
> org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:134)
>        at
> org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:125)
>        at
> org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84)
>        at
> $GenericListComponent_39.getQueryParameters($GenericListComponent_39.java)
>        at
> com.wmg.cdp.controller.components.GenericListComponent.getEntityCount(GenericListComponent.java:157)
>        at sun.reflect.GeneratedMethodAccessor108.invoke(Unknown Source)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>        at java.lang.reflect.Method.invoke(Unknown Source)
>        at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:851)
>        at ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:1414)
>        at
> ognl.ObjectPropertyAccessor.getPossibleProperty(ObjectPropertyAccessor.java:60)
>        at 
> ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:147)
>        at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:2210)
>        at ognl.ASTProperty.getValueBody(ASTProperty.java:114)
>        ... 149 more
> Caused by: compile error: syntax error near "_GALLERY)).addScopeF"
>        at javassist.compiler.Parser.parseArrayInitializer(Parser.java:676)
>        at javassist.compiler.Parser.parseNew(Parser.java:1284)
>
> --
> View this message in context: 
> http://www.nabble.com/Tapestry-4.1.5---OGNL-2.7.2-bug--tp18098278p18098278.html
> Sent from the Tapestry - Dev mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>



-- 
Andreas Andreou - [EMAIL PROTECTED] - http://blog.andyhot.gr
Tapestry / Tacos developer
Open Source / JEE Consulting

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to