I've added a jira issue for OGNL ....I think - but am not sure - that
this should be properly evaluated normally...So, it could be a bug.

You can probably do one of the following:

-) Create a simple inner class def of your IPropertySelectionModel
using an int[] .
-) Wait for me to fix it in OGNL.
-) Replace your "(index % tableSize) == 0"  with a  method equivalent
that you implement on your page / component so that it turns in to
"ognl:odd"  (as in public boolean isOdd(){ return getIndex() %
getTableSize() == 0; }

I'd go for the third option if it were me.   Thanks for shortening
down your question for me,  I usually have an unofficial automatic
email content limit that makes me skip over them if they are too long
to read easily in a few seconds.

On 10/12/07, Ken nashua <[EMAIL PROTECTED]> wrote:
>
> I am trying to operate a PropertySelection that uses an array of strings but 
> their content are numbers.
>
> private static final String[] tableSizeOptions = new String[] {
>              "1", "2", "3"
> };
>
> I am assuming OGNL is smart enough to coerce these during render cycle on IF 
> conditions that attempt to perform arithmetic.
>
> NOT the case... see stack trace below.
>
> Do I need to implement an IntegerPropertySelectionModel for this to operate 
> properly?
>
> Best regards
> Ken in nashua
>
> 2007-10-12 15:01:00,575 [btpool0-2] ERROR 
> org.apache.tapestry.services.impl.HiveMindExpressionCompiler - Error 
> generating OGNL getter for expression (index % tableSize) == 0 with root 
> [EMAIL PROTECTED]/galleryWidget] and body:
> { return  ($w) ((ognl.OgnlOps.equal( ($w) ((($Gallery_17)$2).getIndex() % 
> (($Gallery_17)$2).getTableSize() ), ($w)  0)));}
> org.apache.hivemind.ApplicationRuntimeException: Unable to add method 
> java.lang.Object get(ognl.OgnlContext, java.lang.Object) to class 
> $ASTEq_1159596f3b2: [source error] invalid types for %
>     at 
> org.apache.tapestry.enhance.ClassFabImpl.addMethod(ClassFabImpl.java:278)
>     at 
> org.apache.tapestry.services.impl.HiveMindExpressionCompiler.compileExpression(HiveMindExpressionCompiler.java:176)
>     at ognl.OgnlRuntime.compileExpression(OgnlRuntime.java:523)
>
>
> _________________________________________________________________
> Windows Live Hotmail and Microsoft Office Outlook – together at last. Get it 
> now.
> http://office.microsoft.com/en-us/outlook/HA102225181033.aspx?pid=CL100626971033


-- 
Jesse Kuhnert
Tapestry/Dojo team member/developer

Open source based consulting work centered around
dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com

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

Reply via email to