You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Ben Dotte <bd...@widen.com> on 2007/03/23 15:38:21 UTC

OGNL AND errors

I recently tried updating from a Tapestry 4.1.2 snapshot a couple months
old to one from 3-21. Along the way I had to incorporate the new 2.7
OGNL snapshot from 3-18. I'm seeing multiple expressions on each page
that no longer work. So far they have all involved AND expressions. Here
are some examples:

 

info.rootCause.getMessage() != null &&
info.rootCause.getMessage().length() > 0

currentElement.message != null && currentElement.message.length() > 0

sysMessages != null && sysMessages.size() != 0

title != null && title.length() > 0

 

Here is an example error message:

Error compiling expression on object
$SystemMessageDisplay_245@750e6725[DirectorAccount/$SystemMessageDisplay
] with expression node (sysMessages != null) && (sysMessages.size() !=
0) getter body: { return ($w)
((ognl.OgnlOps.booleanValue((($SystemMessageDisplay_245)$2).getSysMessag
es() != null) ? ognl.OgnlOps.convertValue(!ognl.OgnlOps.equal( ($w)
ognl.OgnlOps.convertValue((($SystemMessageDisplay_245)$2).getSysMessages
().size(), java.lang.Integer.class) , ognl.OgnlOps.convertValue(0,
java.lang.Integer.class)), java.lang.Integer.class) :
(($SystemMessageDisplay_245)$2).getSysMessages() != null));} setter
body: { _node.setValue($1, $2, $3); }

 

Our app is now specless so any objects being accessed are defined on the
Java class. I can open a case in the OGNL issue tracking system but I
wanted to check if anyone knows what is going on first since I don't
want to have to go through and convert hundreds of expressions to Java
code if I can avoid it (still haven't even gotten our Home page to come
up yet..)

 

Thanks,

Ben


RE: OGNL AND errors

Posted by Ben Dotte <bd...@widen.com>.
Certainly--I have started opening cases for the remaining open issues. I
will file any more OGNL bugs I see in JIRA going forward as well.

Thanks!!!

-----Original Message-----
From: Jesse Kuhnert [mailto:jkuhnert@gmail.com] 
Sent: Monday, March 26, 2007 1:54 PM
To: Tapestry users
Subject: Re: OGNL AND errors

Any chance you could do me a favor and file them in
http://jira.opensymphony.com/browse/OGNL ? (it'll make it easier than
filtering through mailing list emails )

On 3/26/07, Ben Dotte <bd...@widen.com> wrote:
> Excellent, again I really appreciate it.
>
> While you're in there string concatenation appears to have some issues
> as well. For example:
>
> <span jwcid="@Any" class="ognl:'' + 'tabHeader'>Test</span>
>
> This ends up outputting <span class="nulltabHeader"/> whereas it used
to
> output a class of just "tabHeader". This causes problem for us in a
few
> places, and may also be the cause of another string problem. Here is a
> contrived example of that:
>
> <span jwcid="@Any" class="ognl:(true ? 'tabHeader' : '') + (false ?
> 'tabHeader' : '')">Test</span>
>
> I verified this expression works in OGNL 2.6 and outputs a class of
> "tabHeader". In 2.7 you get this:
>
> Unable to parse OGNL expression '(true ? 'tabHeader' : '') + (false ?
> 'tabHeader' : '')': Error compiling expression on object
> $DirectorAccount_650@3c1[DirectorAccount] with expression node (true ?
> "tabHeader" : "") + (false ? "tabHeader" : "") getter body: { return
> ($w) (ognl.OgnlOps.booleanValue(true) ? "tabHeader" : "" +
> ognl.OgnlOps.booleanValue(false) ? "tabHeader" : "");} setter body:
null
>
> Nested Exception:
> caused by  javassist.compiler.CompileError: invalid types for +
> javassist.compiler.CodeGen#badTypes (CodeGen.java:1242)
> javassist.compiler.CodeGen#convertOprandTypes (CodeGen.java:1303)
> javassist.compiler.CodeGen#compareExpr (CodeGen.java:1193)
> javassist.compiler.CodeGen#booleanExpr (CodeGen.java:1091)
> javassist.compiler.CodeGen#atCondExpr (CodeGen.java:904)
> javassist.compiler.ast.CondExpr#accept (CondExpr.java:42)
> javassist.compiler.CodeGen#atCondExpr (CodeGen.java:913)
> javassist.compiler.ast.CondExpr#accept (CondExpr.java:42)
> javassist.compiler.JvstCodeGen#atCastToWrapper (JvstCodeGen.java:201)
> javassist.compiler.JvstCodeGen#atCastExpr (JvstCodeGen.java:171)
> javassist.compiler.ast.CastExpr#accept (CastExpr.java:54)
> javassist.compiler.CodeGen#compileExpr (CodeGen.java:223)
> javassist.compiler.CodeGen#atReturnStmnt2 (CodeGen.java:591)
> javassist.compiler.JvstCodeGen#atReturnStmnt (JvstCodeGen.java:424)
> javassist.compiler.CodeGen#atStmnt (CodeGen.java:356)
> javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
> javassist.compiler.CodeGen#atStmnt (CodeGen.java:344)
> javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
> javassist.compiler.CodeGen#atMethodBody (CodeGen.java:285)
> javassist.compiler.Javac#compileBody (Javac.java:212)
> javassist.CtBehavior#setBody (CtBehavior.java:341)
> javassist.CtBehavior#setBody (CtBehavior.java:316)
> org.apache.tapestry.enhance.ClassFabImpl#addMethod
> (ClassFabImpl.java:272)
>
org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
> ession (HiveMindExpressionCompiler.java:221)
> ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
> ognl.Ognl#compileExpression (Ognl.java:123)
> org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
> (ExpressionCacheImpl.java:129)
>
org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
> ion (ExpressionCacheImpl.java:91)
> $ExpressionCache_1118f7bbf54#getCompiledExpression
> ($ExpressionCache_1118f7bbf54.java:-1)
> ...
>
> -----Original Message-----
> From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> Sent: Monday, March 26, 2007 1:09 PM
> To: Tapestry users
> Subject: Re: OGNL AND errors
>
> Yep.....but this is probably still a bug...I'll get it tonight.
>
> On 3/26/07, Ben Dotte <bd...@widen.com> wrote:
> > Ok, actually the concrete listSource implementation in this case
does
> > extend ArrayList in addition to implementing the ListSource
> > interface--that's got to be where this is coming from.
> >
> > -----Original Message-----
> > From: Ben Dotte [mailto:bdotte@widen.com]
> > Sent: Monday, March 26, 2007 12:10 PM
> > To: Tapestry users
> > Subject: RE: OGNL AND errors
> >
> > getListSource() returns a ListSource object, which is one of our own
> > interfaces. It has a getTotal() method that returns an int, which is
> > what I expect to have called in this case.
> >
> > So the problem appears to be that it thinks getListSource() returns
a
> > java.util.List, then it tries to call the get() method on that.
> >
> > But the definition on BaseListContainerModel for getListSource() is
> > pretty clear:
> > public abstract ListSource getListSource();
> >
> > ListSource does not extend any other interfaces so I'm unclear as to
> why
> > it would think it was a List.
> >
> > -----Original Message-----
> > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > Sent: Monday, March 26, 2007 12:05 PM
> > To: Tapestry users
> > Subject: Re: OGNL AND errors
> >
> > Aha......So what kind of interfaces does your listSource implement?
> >
> > On 3/26/07, Ben Dotte <bd...@widen.com> wrote:
> > > Aha! "count" is a parameter, it is what is being passed in for
count
> > > that is the problem. Here is the template portion:
> > >
> > > <showAll jwcid="@ShowAll"
> > > count="ognl:components.doxList.model.listSource.total" title=""
> > > pageName="MyDocuments" >
> > >   <div class="shadeIconIndent">
> > >     <br/>
> > >     <myDocs jwcid="doxList@MyDocumentsList"
> > > allowItemsPerPageSelection="false"/>
> > >   </div>
> > > </showAll>
> > >
> > > So the "components.doxList.model.listSource.total" is what isn't
> being
> > > evaluated properly. Looking closer at the stack trace I see how it
> is
> > > expanding the ognl:
> > >
> > > Unable to parse OGNL expression
> > > 'components.doxList.model.listSource.total': Error compiling
> > expression
> > > on object $BuilderAccount_106@3c1[BuilderAccount] with expression
> node
> > > components.doxList.model.listSource.total getter body: { return
> ($w)
> > >
> >
>
(((java.util.List)((collective.listcontainer.model.BaseListContainerMode
> > >
> >
>
l)((collective.mb.ui.components.MyDocumentsList)(($BuilderAccount_106)$2
> > >
> >
>
).getComponents().get("doxList")).getModel()).getListSource()).get(total
> > > ));} setter body: null
> > >
> > > Notice it is calling getListSource().get(total). This should be
> > > getListSource().getTotal() (and it worked this way in 2.6).
> > >
> > > -----Original Message-----
> > > From: Ben Dotte [mailto:bdotte@widen.com]
> > > Sent: Monday, March 26, 2007 11:16 AM
> > > To: Tapestry users
> > > Subject: RE: OGNL AND errors
> > >
> > > I upgraded javassist to 3.4.ga so it should be the same version. I
> > just
> > > verified that is the one on the build path too. I'm fairly certain
I
> > got
> > > all of our dependencies up to date with the versions listed on the
> > > Tapestry site but I'll double check that as well.
> > >
> > > -----Original Message-----
> > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > Sent: Monday, March 26, 2007 11:12 AM
> > > To: Tapestry users
> > > Subject: Re: OGNL AND errors
> > >
> > > What version of javassist are you using? In my test suite I've
> created
> > > a similar count > 0 expression for every conceivable type / object
> > > combination I can think of with no failure. ...So I'm either not
> > > correctly re-creating the exact object structure you have or we
are
> on
> > > different version of javassist. ..It should be 3.4ga (something
like
> > > that)
> > >
> > > On 3/26/07, Ben Dotte <bd...@widen.com> wrote:
> > > > I got the latest OGNL snapshot from 3-24 but the "ognl:count >
0"
> > > > expression still isn't working. I get a different exception
> however:
> > > >
> > > > Unable to parse OGNL expression 'count > 0': Error compiling
> > > expression
> > > > on object $ShowAll_179@69ba7b9d[BuilderAccount/$ShowAll] with
> > > expression
> > > > node count > 0 getter body: null setter body: null
> > > >
> > > > Nested Exception:
> > > > caused by  javassist.compiler.NoFieldException: no such field:
> total
> > > > javassist.compiler.TypeChecker#fieldAccess
(TypeChecker.java:812)
> > > > javassist.compiler.TypeChecker#atFieldRead
(TypeChecker.java:770)
> > > > javassist.compiler.TypeChecker#atMember (TypeChecker.java:920)
> > > > javassist.compiler.JvstTypeChecker#atMember
> > (JvstTypeChecker.java:65)
> > > > javassist.compiler.ast.Member#accept (Member.java:38)
> > > > javassist.compiler.JvstTypeChecker#atMethodArgs
> > > > (JvstTypeChecker.java:220)
> > > > javassist.compiler.TypeChecker#atMethodCallCore
> > (TypeChecker.java:702)
> > > > javassist.compiler.TypeChecker#atCallExpr (TypeChecker.java:681)
> > > > javassist.compiler.JvstTypeChecker#atCallExpr
> > > (JvstTypeChecker.java:156)
> > > > javassist.compiler.ast.CallExpr#accept (CallExpr.java:45)
> > > > javassist.compiler.JvstTypeChecker#atCastToWrapper
> > > > (JvstTypeChecker.java:125)
> > > > javassist.compiler.JvstTypeChecker#atCastExpr
> > > (JvstTypeChecker.java:97)
> > > > javassist.compiler.ast.CastExpr#accept (CastExpr.java:54)
> > > > javassist.compiler.CodeGen#doTypeCheck (CodeGen.java:235)
> > > > javassist.compiler.CodeGen#compileExpr (CodeGen.java:222)
> > > > javassist.compiler.CodeGen#atReturnStmnt2 (CodeGen.java:591)
> > > > javassist.compiler.JvstCodeGen#atReturnStmnt
> (JvstCodeGen.java:424)
> > > > javassist.compiler.CodeGen#atStmnt (CodeGen.java:356)
> > > > javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
> > > > javassist.compiler.CodeGen#atStmnt (CodeGen.java:344)
> > > > javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
> > > > javassist.compiler.CodeGen#atMethodBody (CodeGen.java:285)
> > > > javassist.compiler.Javac#compileBody (Javac.java:212)
> > > > javassist.CtBehavior#setBody (CtBehavior.java:341)
> > > > javassist.CtBehavior#setBody (CtBehavior.java:316)
> > > > org.apache.tapestry.enhance.ClassFabImpl#addMethod
> > > > (ClassFabImpl.java:272)
> > > >
> > >
> >
>
org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
> > > > ession (HiveMindExpressionCompiler.java:221)
> > > > ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
> > > > ognl.Ognl#compileExpression (Ognl.java:123)
> > > > org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
> > > > (ExpressionCacheImpl.java:129)
> > > >
> > >
> >
>
org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
> > > > ion (ExpressionCacheImpl.java:91)
> > > > $ExpressionCache_1118ef72fb5#getCompiledExpression
> > > > ($ExpressionCache_1118ef72fb5.java:-1)
> > > > org.apache.tapestry.binding.ExpressionBinding#resolveExpression
> > > > (ExpressionBinding.java:120)
> > > > org.apache.tapestry.binding.ExpressionBinding#getObject
> > > > (ExpressionBinding.java:111)
> > > > org.apache.tapestry.binding.AbstractBinding#getObject
> > > > (AbstractBinding.java:84)
> > > > org.apache.tapestry.enhance.EnhanceUtils#toInt
> > (EnhanceUtils.java:204)
> > > > $ShowAll_179#getCount ($ShowAll_179.java:-1)
> > > > ...
> > > >
> > > > -----Original Message-----
> > > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > > Sent: Friday, March 23, 2007 2:44 PM
> > > > To: Tapestry users
> > > > Subject: Re: OGNL AND errors
> > > >
> > > > Fix should be finished deploying in the next few minutes.
> > > >
> > > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > > Excellent thanks, that seems to have fixed the AND issue.
Here's
> > one
> > > > > that still isn't working:
> > > > >
> > > > > <anyItems jwcid="@If" condition="ognl:count > 0">
> > > > >
> > > > > @Parameter(required = true)
> > > > > public abstract int getCount();
> > > > > public abstract void setCount(int count);
> > > > >
> > > > > This error occurred in the file
javassist.compiler.CompileError:
> > > > missing
> > > > > member name
> > > > > This error occurred in the file ShowAll.html on line 7
> > > > >
> > > > > Tapestry error message: Unable to parse OGNL expression 'count
>
> > 0':
> > > > > Error compiling expression on object
> > > > > $ShowAll_179@69ba7b9d[BuilderAccount/$ShowAll] with expression
> > node
> > > > > count > 0 getter body: null setter body: null
> > > > >
> > > > > Nested Stack Trace:
> > > > >
> > > > > caused by  javassist.compiler.CompileError: missing member
name
> > > > > javassist.compiler.Parser#parsePostfix (Parser.java:1068)
> > > > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:887)
> > > > > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > > > > javassist.compiler.Parser#parseConditionalExpr
(Parser.java:718)
> > > > > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > > > > javassist.compiler.Parser#parseArgumentList (Parser.java:1329)
> > > > > javassist.compiler.Parser#parseMethodCall (Parser.java:1177)
> > > > > javassist.compiler.Parser#parsePostfix (Parser.java:1034)
> > > > > javassist.compiler.Parser#parseCast (Parser.java:920)
> > > > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > > > > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > > > > javassist.compiler.Parser#parseConditionalExpr
(Parser.java:718)
> > > > > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > > > > javassist.compiler.Parser#parsePrimaryExpr (Parser.java:1243)
> > > > > javassist.compiler.Parser#parsePostfix (Parser.java:1029)
> > > > > javassist.compiler.Parser#parseCast (Parser.java:920)
> > > > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > > > > javassist.compiler.Parser#parseCast (Parser.java:917)
> > > > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > > > > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > > > > javassist.compiler.Parser#parseConditionalExpr
(Parser.java:718)
> > > > > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > > > > javassist.compiler.Parser#parseReturn (Parser.java:506)
> > > > > javassist.compiler.Parser#parseStatement (Parser.java:268)
> > > > > javassist.compiler.Parser#parseBlock (Parser.java:288)
> > > > > javassist.compiler.Parser#parseStatement (Parser.java:242)
> > > > > javassist.compiler.Javac#compileBody (Javac.java:203)
> > > > > javassist.CtBehavior#setBody (CtBehavior.java:341)
> > > > > javassist.CtBehavior#setBody (CtBehavior.java:316)
> > > > > org.apache.tapestry.enhance.ClassFabImpl#addMethod
> > > > > (ClassFabImpl.java:272)
> > > > >
> > > >
> > >
> >
>
org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
> > > > > ession (HiveMindExpressionCompiler.java:221)
> > > > > ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
> > > > > ognl.Ognl#compileExpression (Ognl.java:123)
> > > > > org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
> > > > > (ExpressionCacheImpl.java:129)
> > > > >
> > > >
> > >
> >
>
org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
> > > > > ion (ExpressionCacheImpl.java:91)
> > > > > $ExpressionCache_111801dfeec#getCompiledExpression
> > > > > ($ExpressionCache_111801dfeec.java:-1)
> > > > >
org.apache.tapestry.binding.ExpressionBinding#resolveExpression
> > > > > (ExpressionBinding.java:120)
> > > > > org.apache.tapestry.binding.ExpressionBinding#getObject
> > > > > (ExpressionBinding.java:111)
> > > > > org.apache.tapestry.binding.AbstractBinding#getObject
> > > > > (AbstractBinding.java:84)
> > > > > org.apache.tapestry.enhance.EnhanceUtils#toInt
> > > (EnhanceUtils.java:204)
> > > > > $ShowAll_179#getCount ($ShowAll_179.java:-1)
> > > > > ...
> > > > >
> > > > > -----Original Message-----
> > > > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > > > Sent: Friday, March 23, 2007 12:40 PM
> > > > > To: Tapestry users
> > > > > Subject: Re: OGNL AND errors
> > > > >
> > > > > This particular issue should be fixed && deployed now. Feel
free
> > to
> > > > > report any others...It only took so long because I discovered
a
> > > > > critical section of code that hadn't had the same kind of
> > > refactoring
> > > > > that others had gone through recently..If similar new bugs
come
> up
> > > > > they should be quicker to fix now.
> > > > >
> > > > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > > > Awesome, I really appreciate it. The simplest one is
probably
> > the
> > > > last
> > > > > > one. It is just a String parameter on a component.
> > > > > >
> > > > > > <pageTitle jwcid="@If" condition="ognl:title != null &&
> > > > title.length()
> > > > > >
> > > > > > 0">
> > > > > >         <span class="title"><title jwcid="@Insert"
> > > > > > mode="ognl:@org.apache.tapestry.components.InsertMode@BREAK"
> > > > > > value="ognl:title" /></span>
> > > > > > </pageTitle>
> > > > > >
> > > > > > Java:
> > > > > > @Parameter
> > > > > > public abstract String getTitle();
> > > > > > public abstract void setTitle(String title);
> > > > > >
> > > > > > -----Original Message-----
> > > > > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > > > > Sent: Friday, March 23, 2007 10:16 AM
> > > > > > To: Tapestry users
> > > > > > Subject: Re: OGNL AND errors
> > > > > >
> > > > > > Well I'm going in to fix one other tiny bug this morning, so
> > I'll
> > > > see
> > > > > > if what you wrote is enough to re-produce it.
> > > > > >
> > > > > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > > > > I tried the new version but unfortunately I'm still
getting
> > the
> > > > same
> > > > > > > errors.
> > > > > > >
> > > > > > > -----Original Message-----
> > > > > > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > > > > > Sent: Friday, March 23, 2007 9:45 AM
> > > > > > > To: Tapestry users
> > > > > > > Subject: Re: OGNL AND errors
> > > > > > >
> > > > > > > I think a new ognl version went out last night. I would
try
> > that
> > > > > > first.
> > > > > > >
> > > > > > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > > > > > I recently tried updating from a Tapestry 4.1.2 snapshot
a
> > > > couple
> > > > > > > months
> > > > > > > > old to one from 3-21. Along the way I had to incorporate
> the
> > > new
> > > > > 2.7
> > > > > > > > OGNL snapshot from 3-18. I'm seeing multiple expressions
> on
> > > each
> > > > > > page
> > > > > > > > that no longer work. So far they have all involved AND
> > > > > expressions.
> > > > > > > Here
> > > > > > > > are some examples:
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > info.rootCause.getMessage() != null &&
> > > > > > > > info.rootCause.getMessage().length() > 0
> > > > > > > >
> > > > > > > > currentElement.message != null &&
> > > > currentElement.message.length()
> > > > > >
> > > > > > 0
> > > > > > > >
> > > > > > > > sysMessages != null && sysMessages.size() != 0
> > > > > > > >
> > > > > > > > title != null && title.length() > 0
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Here is an example error message:
> > > > > > > >
> > > > > > > > Error compiling expression on object
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
$SystemMessageDisplay_245@750e6725[DirectorAccount/$SystemMessageDisplay
> > > > > > > > ] with expression node (sysMessages != null) &&
> > > > > (sysMessages.size()
> > > > > > !=
> > > > > > > > 0) getter body: { return ($w)
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
((ognl.OgnlOps.booleanValue((($SystemMessageDisplay_245)$2).getSysMessag
> > > > > > > > es() != null) ?
> > ognl.OgnlOps.convertValue(!ognl.OgnlOps.equal(
> > > > > ($w)
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
ognl.OgnlOps.convertValue((($SystemMessageDisplay_245)$2).getSysMessages
> > > > > > > > ().size(), java.lang.Integer.class) ,
> > > > ognl.OgnlOps.convertValue(0,
> > > > > > > > java.lang.Integer.class)), java.lang.Integer.class) :
> > > > > > > > (($SystemMessageDisplay_245)$2).getSysMessages() !=
> null));}
> > > > > setter
> > > > > > > > body: { _node.setValue($1, $2, $3); }
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Our app is now specless so any objects being accessed
are
> > > > defined
> > > > > on
> > > > > > > the
> > > > > > > > Java class. I can open a case in the OGNL issue tracking
> > > system
> > > > > but
> > > > > > I
> > > > > > > > wanted to check if anyone knows what is going on first
> since
> > I
> > > > > don't
> > > > > > > > want to have to go through and convert hundreds of
> > expressions
> > > > to
> > > > > > Java
> > > > > > > > code if I can avoid it (still haven't even gotten our
Home
> > > page
> > > > to
> > > > > > > come
> > > > > > > > up yet..)
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Thanks,
> > > > > > > >
> > > > > > > > Ben
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > 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:
> users-unsubscribe@tapestry.apache.org
> > > > > > > For additional commands, e-mail:
> > users-help@tapestry.apache.org
> > > > > > >
> > > > > > >
> > > > > > >
> > > > >
> > >
> ---------------------------------------------------------------------
> > > > > > > To unsubscribe, e-mail:
> users-unsubscribe@tapestry.apache.org
> > > > > > > For additional commands, e-mail:
> > users-help@tapestry.apache.org
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > 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:
users-unsubscribe@tapestry.apache.org
> > > > > > For additional commands, e-mail:
> users-help@tapestry.apache.org
> > > > > >
> > > > > >
> > > > > >
> > > >
> >
---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail:
users-unsubscribe@tapestry.apache.org
> > > > > > For additional commands, e-mail:
> users-help@tapestry.apache.org
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > 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: users-unsubscribe@tapestry.apache.org
> > > > > For additional commands, e-mail:
users-help@tapestry.apache.org
> > > > >
> > > > >
> > > > >
> > >
> ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > > > For additional commands, e-mail:
users-help@tapestry.apache.org
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > 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: users-unsubscribe@tapestry.apache.org
> > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > >
> > > >
> > > >
> >
---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > >
> > > >
> > >
> > >
> > > --
> > > 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: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> >
> >
> > --
> > 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: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
> --
> 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: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
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: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: OGNL AND errors

Posted by Jesse Kuhnert <jk...@gmail.com>.
Any chance you could do me a favor and file them in
http://jira.opensymphony.com/browse/OGNL ? (it'll make it easier than
filtering through mailing list emails )

On 3/26/07, Ben Dotte <bd...@widen.com> wrote:
> Excellent, again I really appreciate it.
>
> While you're in there string concatenation appears to have some issues
> as well. For example:
>
> <span jwcid="@Any" class="ognl:'' + 'tabHeader'>Test</span>
>
> This ends up outputting <span class="nulltabHeader"/> whereas it used to
> output a class of just "tabHeader". This causes problem for us in a few
> places, and may also be the cause of another string problem. Here is a
> contrived example of that:
>
> <span jwcid="@Any" class="ognl:(true ? 'tabHeader' : '') + (false ?
> 'tabHeader' : '')">Test</span>
>
> I verified this expression works in OGNL 2.6 and outputs a class of
> "tabHeader". In 2.7 you get this:
>
> Unable to parse OGNL expression '(true ? 'tabHeader' : '') + (false ?
> 'tabHeader' : '')': Error compiling expression on object
> $DirectorAccount_650@3c1[DirectorAccount] with expression node (true ?
> "tabHeader" : "") + (false ? "tabHeader" : "") getter body: { return
> ($w) (ognl.OgnlOps.booleanValue(true) ? "tabHeader" : "" +
> ognl.OgnlOps.booleanValue(false) ? "tabHeader" : "");} setter body: null
>
> Nested Exception:
> caused by  javassist.compiler.CompileError: invalid types for +
> javassist.compiler.CodeGen#badTypes (CodeGen.java:1242)
> javassist.compiler.CodeGen#convertOprandTypes (CodeGen.java:1303)
> javassist.compiler.CodeGen#compareExpr (CodeGen.java:1193)
> javassist.compiler.CodeGen#booleanExpr (CodeGen.java:1091)
> javassist.compiler.CodeGen#atCondExpr (CodeGen.java:904)
> javassist.compiler.ast.CondExpr#accept (CondExpr.java:42)
> javassist.compiler.CodeGen#atCondExpr (CodeGen.java:913)
> javassist.compiler.ast.CondExpr#accept (CondExpr.java:42)
> javassist.compiler.JvstCodeGen#atCastToWrapper (JvstCodeGen.java:201)
> javassist.compiler.JvstCodeGen#atCastExpr (JvstCodeGen.java:171)
> javassist.compiler.ast.CastExpr#accept (CastExpr.java:54)
> javassist.compiler.CodeGen#compileExpr (CodeGen.java:223)
> javassist.compiler.CodeGen#atReturnStmnt2 (CodeGen.java:591)
> javassist.compiler.JvstCodeGen#atReturnStmnt (JvstCodeGen.java:424)
> javassist.compiler.CodeGen#atStmnt (CodeGen.java:356)
> javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
> javassist.compiler.CodeGen#atStmnt (CodeGen.java:344)
> javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
> javassist.compiler.CodeGen#atMethodBody (CodeGen.java:285)
> javassist.compiler.Javac#compileBody (Javac.java:212)
> javassist.CtBehavior#setBody (CtBehavior.java:341)
> javassist.CtBehavior#setBody (CtBehavior.java:316)
> org.apache.tapestry.enhance.ClassFabImpl#addMethod
> (ClassFabImpl.java:272)
> org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
> ession (HiveMindExpressionCompiler.java:221)
> ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
> ognl.Ognl#compileExpression (Ognl.java:123)
> org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
> (ExpressionCacheImpl.java:129)
> org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
> ion (ExpressionCacheImpl.java:91)
> $ExpressionCache_1118f7bbf54#getCompiledExpression
> ($ExpressionCache_1118f7bbf54.java:-1)
> ...
>
> -----Original Message-----
> From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> Sent: Monday, March 26, 2007 1:09 PM
> To: Tapestry users
> Subject: Re: OGNL AND errors
>
> Yep.....but this is probably still a bug...I'll get it tonight.
>
> On 3/26/07, Ben Dotte <bd...@widen.com> wrote:
> > Ok, actually the concrete listSource implementation in this case does
> > extend ArrayList in addition to implementing the ListSource
> > interface--that's got to be where this is coming from.
> >
> > -----Original Message-----
> > From: Ben Dotte [mailto:bdotte@widen.com]
> > Sent: Monday, March 26, 2007 12:10 PM
> > To: Tapestry users
> > Subject: RE: OGNL AND errors
> >
> > getListSource() returns a ListSource object, which is one of our own
> > interfaces. It has a getTotal() method that returns an int, which is
> > what I expect to have called in this case.
> >
> > So the problem appears to be that it thinks getListSource() returns a
> > java.util.List, then it tries to call the get() method on that.
> >
> > But the definition on BaseListContainerModel for getListSource() is
> > pretty clear:
> > public abstract ListSource getListSource();
> >
> > ListSource does not extend any other interfaces so I'm unclear as to
> why
> > it would think it was a List.
> >
> > -----Original Message-----
> > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > Sent: Monday, March 26, 2007 12:05 PM
> > To: Tapestry users
> > Subject: Re: OGNL AND errors
> >
> > Aha......So what kind of interfaces does your listSource implement?
> >
> > On 3/26/07, Ben Dotte <bd...@widen.com> wrote:
> > > Aha! "count" is a parameter, it is what is being passed in for count
> > > that is the problem. Here is the template portion:
> > >
> > > <showAll jwcid="@ShowAll"
> > > count="ognl:components.doxList.model.listSource.total" title=""
> > > pageName="MyDocuments" >
> > >   <div class="shadeIconIndent">
> > >     <br/>
> > >     <myDocs jwcid="doxList@MyDocumentsList"
> > > allowItemsPerPageSelection="false"/>
> > >   </div>
> > > </showAll>
> > >
> > > So the "components.doxList.model.listSource.total" is what isn't
> being
> > > evaluated properly. Looking closer at the stack trace I see how it
> is
> > > expanding the ognl:
> > >
> > > Unable to parse OGNL expression
> > > 'components.doxList.model.listSource.total': Error compiling
> > expression
> > > on object $BuilderAccount_106@3c1[BuilderAccount] with expression
> node
> > > components.doxList.model.listSource.total getter body: { return
> ($w)
> > >
> >
> (((java.util.List)((collective.listcontainer.model.BaseListContainerMode
> > >
> >
> l)((collective.mb.ui.components.MyDocumentsList)(($BuilderAccount_106)$2
> > >
> >
> ).getComponents().get("doxList")).getModel()).getListSource()).get(total
> > > ));} setter body: null
> > >
> > > Notice it is calling getListSource().get(total). This should be
> > > getListSource().getTotal() (and it worked this way in 2.6).
> > >
> > > -----Original Message-----
> > > From: Ben Dotte [mailto:bdotte@widen.com]
> > > Sent: Monday, March 26, 2007 11:16 AM
> > > To: Tapestry users
> > > Subject: RE: OGNL AND errors
> > >
> > > I upgraded javassist to 3.4.ga so it should be the same version. I
> > just
> > > verified that is the one on the build path too. I'm fairly certain I
> > got
> > > all of our dependencies up to date with the versions listed on the
> > > Tapestry site but I'll double check that as well.
> > >
> > > -----Original Message-----
> > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > Sent: Monday, March 26, 2007 11:12 AM
> > > To: Tapestry users
> > > Subject: Re: OGNL AND errors
> > >
> > > What version of javassist are you using? In my test suite I've
> created
> > > a similar count > 0 expression for every conceivable type / object
> > > combination I can think of with no failure. ...So I'm either not
> > > correctly re-creating the exact object structure you have or we are
> on
> > > different version of javassist. ..It should be 3.4ga (something like
> > > that)
> > >
> > > On 3/26/07, Ben Dotte <bd...@widen.com> wrote:
> > > > I got the latest OGNL snapshot from 3-24 but the "ognl:count > 0"
> > > > expression still isn't working. I get a different exception
> however:
> > > >
> > > > Unable to parse OGNL expression 'count > 0': Error compiling
> > > expression
> > > > on object $ShowAll_179@69ba7b9d[BuilderAccount/$ShowAll] with
> > > expression
> > > > node count > 0 getter body: null setter body: null
> > > >
> > > > Nested Exception:
> > > > caused by  javassist.compiler.NoFieldException: no such field:
> total
> > > > javassist.compiler.TypeChecker#fieldAccess (TypeChecker.java:812)
> > > > javassist.compiler.TypeChecker#atFieldRead (TypeChecker.java:770)
> > > > javassist.compiler.TypeChecker#atMember (TypeChecker.java:920)
> > > > javassist.compiler.JvstTypeChecker#atMember
> > (JvstTypeChecker.java:65)
> > > > javassist.compiler.ast.Member#accept (Member.java:38)
> > > > javassist.compiler.JvstTypeChecker#atMethodArgs
> > > > (JvstTypeChecker.java:220)
> > > > javassist.compiler.TypeChecker#atMethodCallCore
> > (TypeChecker.java:702)
> > > > javassist.compiler.TypeChecker#atCallExpr (TypeChecker.java:681)
> > > > javassist.compiler.JvstTypeChecker#atCallExpr
> > > (JvstTypeChecker.java:156)
> > > > javassist.compiler.ast.CallExpr#accept (CallExpr.java:45)
> > > > javassist.compiler.JvstTypeChecker#atCastToWrapper
> > > > (JvstTypeChecker.java:125)
> > > > javassist.compiler.JvstTypeChecker#atCastExpr
> > > (JvstTypeChecker.java:97)
> > > > javassist.compiler.ast.CastExpr#accept (CastExpr.java:54)
> > > > javassist.compiler.CodeGen#doTypeCheck (CodeGen.java:235)
> > > > javassist.compiler.CodeGen#compileExpr (CodeGen.java:222)
> > > > javassist.compiler.CodeGen#atReturnStmnt2 (CodeGen.java:591)
> > > > javassist.compiler.JvstCodeGen#atReturnStmnt
> (JvstCodeGen.java:424)
> > > > javassist.compiler.CodeGen#atStmnt (CodeGen.java:356)
> > > > javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
> > > > javassist.compiler.CodeGen#atStmnt (CodeGen.java:344)
> > > > javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
> > > > javassist.compiler.CodeGen#atMethodBody (CodeGen.java:285)
> > > > javassist.compiler.Javac#compileBody (Javac.java:212)
> > > > javassist.CtBehavior#setBody (CtBehavior.java:341)
> > > > javassist.CtBehavior#setBody (CtBehavior.java:316)
> > > > org.apache.tapestry.enhance.ClassFabImpl#addMethod
> > > > (ClassFabImpl.java:272)
> > > >
> > >
> >
> org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
> > > > ession (HiveMindExpressionCompiler.java:221)
> > > > ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
> > > > ognl.Ognl#compileExpression (Ognl.java:123)
> > > > org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
> > > > (ExpressionCacheImpl.java:129)
> > > >
> > >
> >
> org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
> > > > ion (ExpressionCacheImpl.java:91)
> > > > $ExpressionCache_1118ef72fb5#getCompiledExpression
> > > > ($ExpressionCache_1118ef72fb5.java:-1)
> > > > org.apache.tapestry.binding.ExpressionBinding#resolveExpression
> > > > (ExpressionBinding.java:120)
> > > > org.apache.tapestry.binding.ExpressionBinding#getObject
> > > > (ExpressionBinding.java:111)
> > > > org.apache.tapestry.binding.AbstractBinding#getObject
> > > > (AbstractBinding.java:84)
> > > > org.apache.tapestry.enhance.EnhanceUtils#toInt
> > (EnhanceUtils.java:204)
> > > > $ShowAll_179#getCount ($ShowAll_179.java:-1)
> > > > ...
> > > >
> > > > -----Original Message-----
> > > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > > Sent: Friday, March 23, 2007 2:44 PM
> > > > To: Tapestry users
> > > > Subject: Re: OGNL AND errors
> > > >
> > > > Fix should be finished deploying in the next few minutes.
> > > >
> > > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > > Excellent thanks, that seems to have fixed the AND issue. Here's
> > one
> > > > > that still isn't working:
> > > > >
> > > > > <anyItems jwcid="@If" condition="ognl:count > 0">
> > > > >
> > > > > @Parameter(required = true)
> > > > > public abstract int getCount();
> > > > > public abstract void setCount(int count);
> > > > >
> > > > > This error occurred in the file javassist.compiler.CompileError:
> > > > missing
> > > > > member name
> > > > > This error occurred in the file ShowAll.html on line 7
> > > > >
> > > > > Tapestry error message: Unable to parse OGNL expression 'count >
> > 0':
> > > > > Error compiling expression on object
> > > > > $ShowAll_179@69ba7b9d[BuilderAccount/$ShowAll] with expression
> > node
> > > > > count > 0 getter body: null setter body: null
> > > > >
> > > > > Nested Stack Trace:
> > > > >
> > > > > caused by  javassist.compiler.CompileError: missing member name
> > > > > javassist.compiler.Parser#parsePostfix (Parser.java:1068)
> > > > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:887)
> > > > > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > > > > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > > > > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > > > > javassist.compiler.Parser#parseArgumentList (Parser.java:1329)
> > > > > javassist.compiler.Parser#parseMethodCall (Parser.java:1177)
> > > > > javassist.compiler.Parser#parsePostfix (Parser.java:1034)
> > > > > javassist.compiler.Parser#parseCast (Parser.java:920)
> > > > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > > > > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > > > > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > > > > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > > > > javassist.compiler.Parser#parsePrimaryExpr (Parser.java:1243)
> > > > > javassist.compiler.Parser#parsePostfix (Parser.java:1029)
> > > > > javassist.compiler.Parser#parseCast (Parser.java:920)
> > > > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > > > > javassist.compiler.Parser#parseCast (Parser.java:917)
> > > > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > > > > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > > > > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > > > > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > > > > javassist.compiler.Parser#parseReturn (Parser.java:506)
> > > > > javassist.compiler.Parser#parseStatement (Parser.java:268)
> > > > > javassist.compiler.Parser#parseBlock (Parser.java:288)
> > > > > javassist.compiler.Parser#parseStatement (Parser.java:242)
> > > > > javassist.compiler.Javac#compileBody (Javac.java:203)
> > > > > javassist.CtBehavior#setBody (CtBehavior.java:341)
> > > > > javassist.CtBehavior#setBody (CtBehavior.java:316)
> > > > > org.apache.tapestry.enhance.ClassFabImpl#addMethod
> > > > > (ClassFabImpl.java:272)
> > > > >
> > > >
> > >
> >
> org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
> > > > > ession (HiveMindExpressionCompiler.java:221)
> > > > > ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
> > > > > ognl.Ognl#compileExpression (Ognl.java:123)
> > > > > org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
> > > > > (ExpressionCacheImpl.java:129)
> > > > >
> > > >
> > >
> >
> org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
> > > > > ion (ExpressionCacheImpl.java:91)
> > > > > $ExpressionCache_111801dfeec#getCompiledExpression
> > > > > ($ExpressionCache_111801dfeec.java:-1)
> > > > > org.apache.tapestry.binding.ExpressionBinding#resolveExpression
> > > > > (ExpressionBinding.java:120)
> > > > > org.apache.tapestry.binding.ExpressionBinding#getObject
> > > > > (ExpressionBinding.java:111)
> > > > > org.apache.tapestry.binding.AbstractBinding#getObject
> > > > > (AbstractBinding.java:84)
> > > > > org.apache.tapestry.enhance.EnhanceUtils#toInt
> > > (EnhanceUtils.java:204)
> > > > > $ShowAll_179#getCount ($ShowAll_179.java:-1)
> > > > > ...
> > > > >
> > > > > -----Original Message-----
> > > > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > > > Sent: Friday, March 23, 2007 12:40 PM
> > > > > To: Tapestry users
> > > > > Subject: Re: OGNL AND errors
> > > > >
> > > > > This particular issue should be fixed && deployed now. Feel free
> > to
> > > > > report any others...It only took so long because I discovered a
> > > > > critical section of code that hadn't had the same kind of
> > > refactoring
> > > > > that others had gone through recently..If similar new bugs come
> up
> > > > > they should be quicker to fix now.
> > > > >
> > > > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > > > Awesome, I really appreciate it. The simplest one is probably
> > the
> > > > last
> > > > > > one. It is just a String parameter on a component.
> > > > > >
> > > > > > <pageTitle jwcid="@If" condition="ognl:title != null &&
> > > > title.length()
> > > > > >
> > > > > > 0">
> > > > > >         <span class="title"><title jwcid="@Insert"
> > > > > > mode="ognl:@org.apache.tapestry.components.InsertMode@BREAK"
> > > > > > value="ognl:title" /></span>
> > > > > > </pageTitle>
> > > > > >
> > > > > > Java:
> > > > > > @Parameter
> > > > > > public abstract String getTitle();
> > > > > > public abstract void setTitle(String title);
> > > > > >
> > > > > > -----Original Message-----
> > > > > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > > > > Sent: Friday, March 23, 2007 10:16 AM
> > > > > > To: Tapestry users
> > > > > > Subject: Re: OGNL AND errors
> > > > > >
> > > > > > Well I'm going in to fix one other tiny bug this morning, so
> > I'll
> > > > see
> > > > > > if what you wrote is enough to re-produce it.
> > > > > >
> > > > > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > > > > I tried the new version but unfortunately I'm still getting
> > the
> > > > same
> > > > > > > errors.
> > > > > > >
> > > > > > > -----Original Message-----
> > > > > > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > > > > > Sent: Friday, March 23, 2007 9:45 AM
> > > > > > > To: Tapestry users
> > > > > > > Subject: Re: OGNL AND errors
> > > > > > >
> > > > > > > I think a new ognl version went out last night. I would try
> > that
> > > > > > first.
> > > > > > >
> > > > > > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > > > > > I recently tried updating from a Tapestry 4.1.2 snapshot a
> > > > couple
> > > > > > > months
> > > > > > > > old to one from 3-21. Along the way I had to incorporate
> the
> > > new
> > > > > 2.7
> > > > > > > > OGNL snapshot from 3-18. I'm seeing multiple expressions
> on
> > > each
> > > > > > page
> > > > > > > > that no longer work. So far they have all involved AND
> > > > > expressions.
> > > > > > > Here
> > > > > > > > are some examples:
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > info.rootCause.getMessage() != null &&
> > > > > > > > info.rootCause.getMessage().length() > 0
> > > > > > > >
> > > > > > > > currentElement.message != null &&
> > > > currentElement.message.length()
> > > > > >
> > > > > > 0
> > > > > > > >
> > > > > > > > sysMessages != null && sysMessages.size() != 0
> > > > > > > >
> > > > > > > > title != null && title.length() > 0
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Here is an example error message:
> > > > > > > >
> > > > > > > > Error compiling expression on object
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> $SystemMessageDisplay_245@750e6725[DirectorAccount/$SystemMessageDisplay
> > > > > > > > ] with expression node (sysMessages != null) &&
> > > > > (sysMessages.size()
> > > > > > !=
> > > > > > > > 0) getter body: { return ($w)
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> ((ognl.OgnlOps.booleanValue((($SystemMessageDisplay_245)$2).getSysMessag
> > > > > > > > es() != null) ?
> > ognl.OgnlOps.convertValue(!ognl.OgnlOps.equal(
> > > > > ($w)
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> ognl.OgnlOps.convertValue((($SystemMessageDisplay_245)$2).getSysMessages
> > > > > > > > ().size(), java.lang.Integer.class) ,
> > > > ognl.OgnlOps.convertValue(0,
> > > > > > > > java.lang.Integer.class)), java.lang.Integer.class) :
> > > > > > > > (($SystemMessageDisplay_245)$2).getSysMessages() !=
> null));}
> > > > > setter
> > > > > > > > body: { _node.setValue($1, $2, $3); }
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Our app is now specless so any objects being accessed are
> > > > defined
> > > > > on
> > > > > > > the
> > > > > > > > Java class. I can open a case in the OGNL issue tracking
> > > system
> > > > > but
> > > > > > I
> > > > > > > > wanted to check if anyone knows what is going on first
> since
> > I
> > > > > don't
> > > > > > > > want to have to go through and convert hundreds of
> > expressions
> > > > to
> > > > > > Java
> > > > > > > > code if I can avoid it (still haven't even gotten our Home
> > > page
> > > > to
> > > > > > > come
> > > > > > > > up yet..)
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > Thanks,
> > > > > > > >
> > > > > > > > Ben
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > 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:
> users-unsubscribe@tapestry.apache.org
> > > > > > > For additional commands, e-mail:
> > users-help@tapestry.apache.org
> > > > > > >
> > > > > > >
> > > > > > >
> > > > >
> > >
> ---------------------------------------------------------------------
> > > > > > > To unsubscribe, e-mail:
> users-unsubscribe@tapestry.apache.org
> > > > > > > For additional commands, e-mail:
> > users-help@tapestry.apache.org
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > 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: users-unsubscribe@tapestry.apache.org
> > > > > > For additional commands, e-mail:
> users-help@tapestry.apache.org
> > > > > >
> > > > > >
> > > > > >
> > > >
> > ---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > > > > For additional commands, e-mail:
> users-help@tapestry.apache.org
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > 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: users-unsubscribe@tapestry.apache.org
> > > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > > >
> > > > >
> > > > >
> > >
> ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > 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: users-unsubscribe@tapestry.apache.org
> > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > >
> > > >
> > > >
> > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > >
> > > >
> > >
> > >
> > > --
> > > 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: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> >
> >
> > --
> > 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: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
> --
> 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: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
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: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: T5: maven build error

Posted by Celia Mou <cm...@ocean7.com>.
Hi Howard,

I'm using 0.0.9. (JDK is 1.5, Eclipse 3.2.0 on Windows)

Thanks a lot for the help!

celia


Howard Lewis Ship wrote:
> Which version do you use?  I've head rumors that 0.0.10 is unstable,
> so I've been holding back at 0.0.9.
>
> On 3/26/07, Celia Mou <cm...@ocean7.com> wrote:
>> Hi, has anyone tried to build a distribution of a T5 project using
>> Eclipse Maven plugin?
>>
>> When I tried to build after following the steps of the tutorial and
>> adding my own java and template files, it failed on the war file making.
>> Here are the beginning line of the error dump:
>> --------------------
>> Diagnosis: Error configuring:
>> org.apache.maven.plugins:maven-deploy-plugin. Reason: Unable to parse
>> the created DOM for plugin configuration
>> FATAL ERROR: Error executing Maven for a project
>> org.apache.maven.lifecycle.LifecycleExecutionException: Error
>> configuring: org.apache.maven.plugins:maven-deploy-plugin. Reason:
>> Unable to parse the created DOM for plugin configuration
>>     at
>> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:563) 
>>
>> --------------------
>>
>> I haven't changed the POM file from what was made by following the
>> tutorial. One error I surrounded when building was a missing dependency
>> of the plexus-utils:jar:1.4.1-SNAPSHOT. After that, the above appeared
>> when re-running the maven build.
>>
>> Any hint would be greatly appreciated! Thanks!
>>
>> celia
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: T5: maven build error

Posted by Stephan Schwab <sn...@caimito.net>.

Howard Lewis Ship wrote:
> 
> Which version do you use?  I've head rumors that 0.0.10 is unstable,
> so I've been holding back at 0.0.9.

We use 0.0.10 of the M2Eclipse plugin since a few months. First we built it
from SVN and then switched to the released version. No problems so far. But
there were trouble with 0.0.9. Actually the only one using the "real" Maven
is our build server. Everybody else stays in Eclipse and let the plugin do
the work.

Stephan
--
http://www.stephan-schwab.com

-- 
View this message in context: http://www.nabble.com/OGNL-AND-errors-tf3454279.html#a9696662
Sent from the Tapestry - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: T5: maven build error

Posted by Jun Tsai <ju...@gmail.com>.
I think Tapestry should use other build system such as ivy.

2007/3/27, Howard Lewis Ship <hl...@gmail.com>:
> Which version do you use?  I've head rumors that 0.0.10 is unstable,
> so I've been holding back at 0.0.9.
>
> On 3/26/07, Celia Mou <cm...@ocean7.com> wrote:
> > Hi, has anyone tried to build a distribution of a T5 project using
> > Eclipse Maven plugin?
> >
> > When I tried to build after following the steps of the tutorial and
> > adding my own java and template files, it failed on the war file making.
> > Here are the beginning line of the error dump:
> > --------------------
> > Diagnosis: Error configuring:
> > org.apache.maven.plugins:maven-deploy-plugin. Reason: Unable to parse
> > the created DOM for plugin configuration
> > FATAL ERROR: Error executing Maven for a project
> > org.apache.maven.lifecycle.LifecycleExecutionException: Error
> > configuring: org.apache.maven.plugins:maven-deploy-plugin. Reason:
> > Unable to parse the created DOM for plugin configuration
> >     at
> > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:563)
> > --------------------
> >
> > I haven't changed the POM file from what was made by following the
> > tutorial. One error I surrounded when building was a missing dependency
> > of the plexus-utils:jar:1.4.1-SNAPSHOT. After that, the above appeared
> > when re-running the maven build.
> >
> > Any hint would be greatly appreciated! Thanks!
> >
> > celia
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
> --
> Howard M. Lewis Ship
> TWD Consulting, Inc.
> Independent J2EE / Open-Source Java Consultant
> Creator and PMC Chair, Apache Tapestry
> Creator, Apache HiveMind
>
> Professional Tapestry training, mentoring, support
> and project work.  http://howardlewisship.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Welcome to China Java Users Group(CNJUG).
http://cnjug.dev.java.net

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: T5: maven build error

Posted by Howard Lewis Ship <hl...@gmail.com>.
Which version do you use?  I've head rumors that 0.0.10 is unstable,
so I've been holding back at 0.0.9.

On 3/26/07, Celia Mou <cm...@ocean7.com> wrote:
> Hi, has anyone tried to build a distribution of a T5 project using
> Eclipse Maven plugin?
>
> When I tried to build after following the steps of the tutorial and
> adding my own java and template files, it failed on the war file making.
> Here are the beginning line of the error dump:
> --------------------
> Diagnosis: Error configuring:
> org.apache.maven.plugins:maven-deploy-plugin. Reason: Unable to parse
> the created DOM for plugin configuration
> FATAL ERROR: Error executing Maven for a project
> org.apache.maven.lifecycle.LifecycleExecutionException: Error
> configuring: org.apache.maven.plugins:maven-deploy-plugin. Reason:
> Unable to parse the created DOM for plugin configuration
>     at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:563)
> --------------------
>
> I haven't changed the POM file from what was made by following the
> tutorial. One error I surrounded when building was a missing dependency
> of the plexus-utils:jar:1.4.1-SNAPSHOT. After that, the above appeared
> when re-running the maven build.
>
> Any hint would be greatly appreciated! Thanks!
>
> celia
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Howard M. Lewis Ship
TWD Consulting, Inc.
Independent J2EE / Open-Source Java Consultant
Creator and PMC Chair, Apache Tapestry
Creator, Apache HiveMind

Professional Tapestry training, mentoring, support
and project work.  http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


T5: maven build error

Posted by Celia Mou <cm...@ocean7.com>.
Hi, has anyone tried to build a distribution of a T5 project using 
Eclipse Maven plugin?

When I tried to build after following the steps of the tutorial and 
adding my own java and template files, it failed on the war file making. 
Here are the beginning line of the error dump:
--------------------
Diagnosis: Error configuring: 
org.apache.maven.plugins:maven-deploy-plugin. Reason: Unable to parse 
the created DOM for plugin configuration
FATAL ERROR: Error executing Maven for a project
org.apache.maven.lifecycle.LifecycleExecutionException: Error 
configuring: org.apache.maven.plugins:maven-deploy-plugin. Reason: 
Unable to parse the created DOM for plugin configuration
    at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:563)
--------------------

I haven't changed the POM file from what was made by following the 
tutorial. One error I surrounded when building was a missing dependency 
of the plexus-utils:jar:1.4.1-SNAPSHOT. After that, the above appeared 
when re-running the maven build.

Any hint would be greatly appreciated! Thanks!

celia


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


RE: OGNL AND errors

Posted by Ben Dotte <bd...@widen.com>.
Excellent, again I really appreciate it.

While you're in there string concatenation appears to have some issues
as well. For example:

<span jwcid="@Any" class="ognl:'' + 'tabHeader'>Test</span>

This ends up outputting <span class="nulltabHeader"/> whereas it used to
output a class of just "tabHeader". This causes problem for us in a few
places, and may also be the cause of another string problem. Here is a
contrived example of that:

<span jwcid="@Any" class="ognl:(true ? 'tabHeader' : '') + (false ?
'tabHeader' : '')">Test</span>

I verified this expression works in OGNL 2.6 and outputs a class of
"tabHeader". In 2.7 you get this:

Unable to parse OGNL expression '(true ? 'tabHeader' : '') + (false ?
'tabHeader' : '')': Error compiling expression on object
$DirectorAccount_650@3c1[DirectorAccount] with expression node (true ?
"tabHeader" : "") + (false ? "tabHeader" : "") getter body: { return
($w) (ognl.OgnlOps.booleanValue(true) ? "tabHeader" : "" +
ognl.OgnlOps.booleanValue(false) ? "tabHeader" : "");} setter body: null

Nested Exception:
caused by  javassist.compiler.CompileError: invalid types for +
javassist.compiler.CodeGen#badTypes (CodeGen.java:1242)
javassist.compiler.CodeGen#convertOprandTypes (CodeGen.java:1303)
javassist.compiler.CodeGen#compareExpr (CodeGen.java:1193)
javassist.compiler.CodeGen#booleanExpr (CodeGen.java:1091)
javassist.compiler.CodeGen#atCondExpr (CodeGen.java:904)
javassist.compiler.ast.CondExpr#accept (CondExpr.java:42)
javassist.compiler.CodeGen#atCondExpr (CodeGen.java:913)
javassist.compiler.ast.CondExpr#accept (CondExpr.java:42)
javassist.compiler.JvstCodeGen#atCastToWrapper (JvstCodeGen.java:201)
javassist.compiler.JvstCodeGen#atCastExpr (JvstCodeGen.java:171)
javassist.compiler.ast.CastExpr#accept (CastExpr.java:54)
javassist.compiler.CodeGen#compileExpr (CodeGen.java:223)
javassist.compiler.CodeGen#atReturnStmnt2 (CodeGen.java:591)
javassist.compiler.JvstCodeGen#atReturnStmnt (JvstCodeGen.java:424)
javassist.compiler.CodeGen#atStmnt (CodeGen.java:356)
javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
javassist.compiler.CodeGen#atStmnt (CodeGen.java:344)
javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
javassist.compiler.CodeGen#atMethodBody (CodeGen.java:285)
javassist.compiler.Javac#compileBody (Javac.java:212)
javassist.CtBehavior#setBody (CtBehavior.java:341)
javassist.CtBehavior#setBody (CtBehavior.java:316)
org.apache.tapestry.enhance.ClassFabImpl#addMethod
(ClassFabImpl.java:272)
org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
ession (HiveMindExpressionCompiler.java:221)
ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
ognl.Ognl#compileExpression (Ognl.java:123)
org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
(ExpressionCacheImpl.java:129)
org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
ion (ExpressionCacheImpl.java:91)
$ExpressionCache_1118f7bbf54#getCompiledExpression
($ExpressionCache_1118f7bbf54.java:-1)
...

-----Original Message-----
From: Jesse Kuhnert [mailto:jkuhnert@gmail.com] 
Sent: Monday, March 26, 2007 1:09 PM
To: Tapestry users
Subject: Re: OGNL AND errors

Yep.....but this is probably still a bug...I'll get it tonight.

On 3/26/07, Ben Dotte <bd...@widen.com> wrote:
> Ok, actually the concrete listSource implementation in this case does
> extend ArrayList in addition to implementing the ListSource
> interface--that's got to be where this is coming from.
>
> -----Original Message-----
> From: Ben Dotte [mailto:bdotte@widen.com]
> Sent: Monday, March 26, 2007 12:10 PM
> To: Tapestry users
> Subject: RE: OGNL AND errors
>
> getListSource() returns a ListSource object, which is one of our own
> interfaces. It has a getTotal() method that returns an int, which is
> what I expect to have called in this case.
>
> So the problem appears to be that it thinks getListSource() returns a
> java.util.List, then it tries to call the get() method on that.
>
> But the definition on BaseListContainerModel for getListSource() is
> pretty clear:
> public abstract ListSource getListSource();
>
> ListSource does not extend any other interfaces so I'm unclear as to
why
> it would think it was a List.
>
> -----Original Message-----
> From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> Sent: Monday, March 26, 2007 12:05 PM
> To: Tapestry users
> Subject: Re: OGNL AND errors
>
> Aha......So what kind of interfaces does your listSource implement?
>
> On 3/26/07, Ben Dotte <bd...@widen.com> wrote:
> > Aha! "count" is a parameter, it is what is being passed in for count
> > that is the problem. Here is the template portion:
> >
> > <showAll jwcid="@ShowAll"
> > count="ognl:components.doxList.model.listSource.total" title=""
> > pageName="MyDocuments" >
> >   <div class="shadeIconIndent">
> >     <br/>
> >     <myDocs jwcid="doxList@MyDocumentsList"
> > allowItemsPerPageSelection="false"/>
> >   </div>
> > </showAll>
> >
> > So the "components.doxList.model.listSource.total" is what isn't
being
> > evaluated properly. Looking closer at the stack trace I see how it
is
> > expanding the ognl:
> >
> > Unable to parse OGNL expression
> > 'components.doxList.model.listSource.total': Error compiling
> expression
> > on object $BuilderAccount_106@3c1[BuilderAccount] with expression
node
> > components.doxList.model.listSource.total getter body: { return
($w)
> >
>
(((java.util.List)((collective.listcontainer.model.BaseListContainerMode
> >
>
l)((collective.mb.ui.components.MyDocumentsList)(($BuilderAccount_106)$2
> >
>
).getComponents().get("doxList")).getModel()).getListSource()).get(total
> > ));} setter body: null
> >
> > Notice it is calling getListSource().get(total). This should be
> > getListSource().getTotal() (and it worked this way in 2.6).
> >
> > -----Original Message-----
> > From: Ben Dotte [mailto:bdotte@widen.com]
> > Sent: Monday, March 26, 2007 11:16 AM
> > To: Tapestry users
> > Subject: RE: OGNL AND errors
> >
> > I upgraded javassist to 3.4.ga so it should be the same version. I
> just
> > verified that is the one on the build path too. I'm fairly certain I
> got
> > all of our dependencies up to date with the versions listed on the
> > Tapestry site but I'll double check that as well.
> >
> > -----Original Message-----
> > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > Sent: Monday, March 26, 2007 11:12 AM
> > To: Tapestry users
> > Subject: Re: OGNL AND errors
> >
> > What version of javassist are you using? In my test suite I've
created
> > a similar count > 0 expression for every conceivable type / object
> > combination I can think of with no failure. ...So I'm either not
> > correctly re-creating the exact object structure you have or we are
on
> > different version of javassist. ..It should be 3.4ga (something like
> > that)
> >
> > On 3/26/07, Ben Dotte <bd...@widen.com> wrote:
> > > I got the latest OGNL snapshot from 3-24 but the "ognl:count > 0"
> > > expression still isn't working. I get a different exception
however:
> > >
> > > Unable to parse OGNL expression 'count > 0': Error compiling
> > expression
> > > on object $ShowAll_179@69ba7b9d[BuilderAccount/$ShowAll] with
> > expression
> > > node count > 0 getter body: null setter body: null
> > >
> > > Nested Exception:
> > > caused by  javassist.compiler.NoFieldException: no such field:
total
> > > javassist.compiler.TypeChecker#fieldAccess (TypeChecker.java:812)
> > > javassist.compiler.TypeChecker#atFieldRead (TypeChecker.java:770)
> > > javassist.compiler.TypeChecker#atMember (TypeChecker.java:920)
> > > javassist.compiler.JvstTypeChecker#atMember
> (JvstTypeChecker.java:65)
> > > javassist.compiler.ast.Member#accept (Member.java:38)
> > > javassist.compiler.JvstTypeChecker#atMethodArgs
> > > (JvstTypeChecker.java:220)
> > > javassist.compiler.TypeChecker#atMethodCallCore
> (TypeChecker.java:702)
> > > javassist.compiler.TypeChecker#atCallExpr (TypeChecker.java:681)
> > > javassist.compiler.JvstTypeChecker#atCallExpr
> > (JvstTypeChecker.java:156)
> > > javassist.compiler.ast.CallExpr#accept (CallExpr.java:45)
> > > javassist.compiler.JvstTypeChecker#atCastToWrapper
> > > (JvstTypeChecker.java:125)
> > > javassist.compiler.JvstTypeChecker#atCastExpr
> > (JvstTypeChecker.java:97)
> > > javassist.compiler.ast.CastExpr#accept (CastExpr.java:54)
> > > javassist.compiler.CodeGen#doTypeCheck (CodeGen.java:235)
> > > javassist.compiler.CodeGen#compileExpr (CodeGen.java:222)
> > > javassist.compiler.CodeGen#atReturnStmnt2 (CodeGen.java:591)
> > > javassist.compiler.JvstCodeGen#atReturnStmnt
(JvstCodeGen.java:424)
> > > javassist.compiler.CodeGen#atStmnt (CodeGen.java:356)
> > > javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
> > > javassist.compiler.CodeGen#atStmnt (CodeGen.java:344)
> > > javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
> > > javassist.compiler.CodeGen#atMethodBody (CodeGen.java:285)
> > > javassist.compiler.Javac#compileBody (Javac.java:212)
> > > javassist.CtBehavior#setBody (CtBehavior.java:341)
> > > javassist.CtBehavior#setBody (CtBehavior.java:316)
> > > org.apache.tapestry.enhance.ClassFabImpl#addMethod
> > > (ClassFabImpl.java:272)
> > >
> >
>
org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
> > > ession (HiveMindExpressionCompiler.java:221)
> > > ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
> > > ognl.Ognl#compileExpression (Ognl.java:123)
> > > org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
> > > (ExpressionCacheImpl.java:129)
> > >
> >
>
org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
> > > ion (ExpressionCacheImpl.java:91)
> > > $ExpressionCache_1118ef72fb5#getCompiledExpression
> > > ($ExpressionCache_1118ef72fb5.java:-1)
> > > org.apache.tapestry.binding.ExpressionBinding#resolveExpression
> > > (ExpressionBinding.java:120)
> > > org.apache.tapestry.binding.ExpressionBinding#getObject
> > > (ExpressionBinding.java:111)
> > > org.apache.tapestry.binding.AbstractBinding#getObject
> > > (AbstractBinding.java:84)
> > > org.apache.tapestry.enhance.EnhanceUtils#toInt
> (EnhanceUtils.java:204)
> > > $ShowAll_179#getCount ($ShowAll_179.java:-1)
> > > ...
> > >
> > > -----Original Message-----
> > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > Sent: Friday, March 23, 2007 2:44 PM
> > > To: Tapestry users
> > > Subject: Re: OGNL AND errors
> > >
> > > Fix should be finished deploying in the next few minutes.
> > >
> > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > Excellent thanks, that seems to have fixed the AND issue. Here's
> one
> > > > that still isn't working:
> > > >
> > > > <anyItems jwcid="@If" condition="ognl:count > 0">
> > > >
> > > > @Parameter(required = true)
> > > > public abstract int getCount();
> > > > public abstract void setCount(int count);
> > > >
> > > > This error occurred in the file javassist.compiler.CompileError:
> > > missing
> > > > member name
> > > > This error occurred in the file ShowAll.html on line 7
> > > >
> > > > Tapestry error message: Unable to parse OGNL expression 'count >
> 0':
> > > > Error compiling expression on object
> > > > $ShowAll_179@69ba7b9d[BuilderAccount/$ShowAll] with expression
> node
> > > > count > 0 getter body: null setter body: null
> > > >
> > > > Nested Stack Trace:
> > > >
> > > > caused by  javassist.compiler.CompileError: missing member name
> > > > javassist.compiler.Parser#parsePostfix (Parser.java:1068)
> > > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:887)
> > > > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > > > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > > > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > > > javassist.compiler.Parser#parseArgumentList (Parser.java:1329)
> > > > javassist.compiler.Parser#parseMethodCall (Parser.java:1177)
> > > > javassist.compiler.Parser#parsePostfix (Parser.java:1034)
> > > > javassist.compiler.Parser#parseCast (Parser.java:920)
> > > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > > > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > > > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > > > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > > > javassist.compiler.Parser#parsePrimaryExpr (Parser.java:1243)
> > > > javassist.compiler.Parser#parsePostfix (Parser.java:1029)
> > > > javassist.compiler.Parser#parseCast (Parser.java:920)
> > > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > > > javassist.compiler.Parser#parseCast (Parser.java:917)
> > > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > > > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > > > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > > > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > > > javassist.compiler.Parser#parseReturn (Parser.java:506)
> > > > javassist.compiler.Parser#parseStatement (Parser.java:268)
> > > > javassist.compiler.Parser#parseBlock (Parser.java:288)
> > > > javassist.compiler.Parser#parseStatement (Parser.java:242)
> > > > javassist.compiler.Javac#compileBody (Javac.java:203)
> > > > javassist.CtBehavior#setBody (CtBehavior.java:341)
> > > > javassist.CtBehavior#setBody (CtBehavior.java:316)
> > > > org.apache.tapestry.enhance.ClassFabImpl#addMethod
> > > > (ClassFabImpl.java:272)
> > > >
> > >
> >
>
org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
> > > > ession (HiveMindExpressionCompiler.java:221)
> > > > ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
> > > > ognl.Ognl#compileExpression (Ognl.java:123)
> > > > org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
> > > > (ExpressionCacheImpl.java:129)
> > > >
> > >
> >
>
org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
> > > > ion (ExpressionCacheImpl.java:91)
> > > > $ExpressionCache_111801dfeec#getCompiledExpression
> > > > ($ExpressionCache_111801dfeec.java:-1)
> > > > org.apache.tapestry.binding.ExpressionBinding#resolveExpression
> > > > (ExpressionBinding.java:120)
> > > > org.apache.tapestry.binding.ExpressionBinding#getObject
> > > > (ExpressionBinding.java:111)
> > > > org.apache.tapestry.binding.AbstractBinding#getObject
> > > > (AbstractBinding.java:84)
> > > > org.apache.tapestry.enhance.EnhanceUtils#toInt
> > (EnhanceUtils.java:204)
> > > > $ShowAll_179#getCount ($ShowAll_179.java:-1)
> > > > ...
> > > >
> > > > -----Original Message-----
> > > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > > Sent: Friday, March 23, 2007 12:40 PM
> > > > To: Tapestry users
> > > > Subject: Re: OGNL AND errors
> > > >
> > > > This particular issue should be fixed && deployed now. Feel free
> to
> > > > report any others...It only took so long because I discovered a
> > > > critical section of code that hadn't had the same kind of
> > refactoring
> > > > that others had gone through recently..If similar new bugs come
up
> > > > they should be quicker to fix now.
> > > >
> > > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > > Awesome, I really appreciate it. The simplest one is probably
> the
> > > last
> > > > > one. It is just a String parameter on a component.
> > > > >
> > > > > <pageTitle jwcid="@If" condition="ognl:title != null &&
> > > title.length()
> > > > >
> > > > > 0">
> > > > >         <span class="title"><title jwcid="@Insert"
> > > > > mode="ognl:@org.apache.tapestry.components.InsertMode@BREAK"
> > > > > value="ognl:title" /></span>
> > > > > </pageTitle>
> > > > >
> > > > > Java:
> > > > > @Parameter
> > > > > public abstract String getTitle();
> > > > > public abstract void setTitle(String title);
> > > > >
> > > > > -----Original Message-----
> > > > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > > > Sent: Friday, March 23, 2007 10:16 AM
> > > > > To: Tapestry users
> > > > > Subject: Re: OGNL AND errors
> > > > >
> > > > > Well I'm going in to fix one other tiny bug this morning, so
> I'll
> > > see
> > > > > if what you wrote is enough to re-produce it.
> > > > >
> > > > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > > > I tried the new version but unfortunately I'm still getting
> the
> > > same
> > > > > > errors.
> > > > > >
> > > > > > -----Original Message-----
> > > > > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > > > > Sent: Friday, March 23, 2007 9:45 AM
> > > > > > To: Tapestry users
> > > > > > Subject: Re: OGNL AND errors
> > > > > >
> > > > > > I think a new ognl version went out last night. I would try
> that
> > > > > first.
> > > > > >
> > > > > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > > > > I recently tried updating from a Tapestry 4.1.2 snapshot a
> > > couple
> > > > > > months
> > > > > > > old to one from 3-21. Along the way I had to incorporate
the
> > new
> > > > 2.7
> > > > > > > OGNL snapshot from 3-18. I'm seeing multiple expressions
on
> > each
> > > > > page
> > > > > > > that no longer work. So far they have all involved AND
> > > > expressions.
> > > > > > Here
> > > > > > > are some examples:
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > info.rootCause.getMessage() != null &&
> > > > > > > info.rootCause.getMessage().length() > 0
> > > > > > >
> > > > > > > currentElement.message != null &&
> > > currentElement.message.length()
> > > > >
> > > > > 0
> > > > > > >
> > > > > > > sysMessages != null && sysMessages.size() != 0
> > > > > > >
> > > > > > > title != null && title.length() > 0
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Here is an example error message:
> > > > > > >
> > > > > > > Error compiling expression on object
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
$SystemMessageDisplay_245@750e6725[DirectorAccount/$SystemMessageDisplay
> > > > > > > ] with expression node (sysMessages != null) &&
> > > > (sysMessages.size()
> > > > > !=
> > > > > > > 0) getter body: { return ($w)
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
((ognl.OgnlOps.booleanValue((($SystemMessageDisplay_245)$2).getSysMessag
> > > > > > > es() != null) ?
> ognl.OgnlOps.convertValue(!ognl.OgnlOps.equal(
> > > > ($w)
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
ognl.OgnlOps.convertValue((($SystemMessageDisplay_245)$2).getSysMessages
> > > > > > > ().size(), java.lang.Integer.class) ,
> > > ognl.OgnlOps.convertValue(0,
> > > > > > > java.lang.Integer.class)), java.lang.Integer.class) :
> > > > > > > (($SystemMessageDisplay_245)$2).getSysMessages() !=
null));}
> > > > setter
> > > > > > > body: { _node.setValue($1, $2, $3); }
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Our app is now specless so any objects being accessed are
> > > defined
> > > > on
> > > > > > the
> > > > > > > Java class. I can open a case in the OGNL issue tracking
> > system
> > > > but
> > > > > I
> > > > > > > wanted to check if anyone knows what is going on first
since
> I
> > > > don't
> > > > > > > want to have to go through and convert hundreds of
> expressions
> > > to
> > > > > Java
> > > > > > > code if I can avoid it (still haven't even gotten our Home
> > page
> > > to
> > > > > > come
> > > > > > > up yet..)
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Thanks,
> > > > > > >
> > > > > > > Ben
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > 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:
users-unsubscribe@tapestry.apache.org
> > > > > > For additional commands, e-mail:
> users-help@tapestry.apache.org
> > > > > >
> > > > > >
> > > > > >
> > > >
> >
---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail:
users-unsubscribe@tapestry.apache.org
> > > > > > For additional commands, e-mail:
> users-help@tapestry.apache.org
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > 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: users-unsubscribe@tapestry.apache.org
> > > > > For additional commands, e-mail:
users-help@tapestry.apache.org
> > > > >
> > > > >
> > > > >
> > >
> ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > > > For additional commands, e-mail:
users-help@tapestry.apache.org
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > 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: users-unsubscribe@tapestry.apache.org
> > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > >
> > > >
> > > >
> >
---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > >
> > > >
> > >
> > >
> > > --
> > > 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: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> >
> >
> > --
> > 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: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
> --
> 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: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
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: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: OGNL AND errors

Posted by Jesse Kuhnert <jk...@gmail.com>.
Yep.....but this is probably still a bug...I'll get it tonight.

On 3/26/07, Ben Dotte <bd...@widen.com> wrote:
> Ok, actually the concrete listSource implementation in this case does
> extend ArrayList in addition to implementing the ListSource
> interface--that's got to be where this is coming from.
>
> -----Original Message-----
> From: Ben Dotte [mailto:bdotte@widen.com]
> Sent: Monday, March 26, 2007 12:10 PM
> To: Tapestry users
> Subject: RE: OGNL AND errors
>
> getListSource() returns a ListSource object, which is one of our own
> interfaces. It has a getTotal() method that returns an int, which is
> what I expect to have called in this case.
>
> So the problem appears to be that it thinks getListSource() returns a
> java.util.List, then it tries to call the get() method on that.
>
> But the definition on BaseListContainerModel for getListSource() is
> pretty clear:
> public abstract ListSource getListSource();
>
> ListSource does not extend any other interfaces so I'm unclear as to why
> it would think it was a List.
>
> -----Original Message-----
> From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> Sent: Monday, March 26, 2007 12:05 PM
> To: Tapestry users
> Subject: Re: OGNL AND errors
>
> Aha......So what kind of interfaces does your listSource implement?
>
> On 3/26/07, Ben Dotte <bd...@widen.com> wrote:
> > Aha! "count" is a parameter, it is what is being passed in for count
> > that is the problem. Here is the template portion:
> >
> > <showAll jwcid="@ShowAll"
> > count="ognl:components.doxList.model.listSource.total" title=""
> > pageName="MyDocuments" >
> >   <div class="shadeIconIndent">
> >     <br/>
> >     <myDocs jwcid="doxList@MyDocumentsList"
> > allowItemsPerPageSelection="false"/>
> >   </div>
> > </showAll>
> >
> > So the "components.doxList.model.listSource.total" is what isn't being
> > evaluated properly. Looking closer at the stack trace I see how it is
> > expanding the ognl:
> >
> > Unable to parse OGNL expression
> > 'components.doxList.model.listSource.total': Error compiling
> expression
> > on object $BuilderAccount_106@3c1[BuilderAccount] with expression node
> > components.doxList.model.listSource.total getter body: { return  ($w)
> >
> (((java.util.List)((collective.listcontainer.model.BaseListContainerMode
> >
> l)((collective.mb.ui.components.MyDocumentsList)(($BuilderAccount_106)$2
> >
> ).getComponents().get("doxList")).getModel()).getListSource()).get(total
> > ));} setter body: null
> >
> > Notice it is calling getListSource().get(total). This should be
> > getListSource().getTotal() (and it worked this way in 2.6).
> >
> > -----Original Message-----
> > From: Ben Dotte [mailto:bdotte@widen.com]
> > Sent: Monday, March 26, 2007 11:16 AM
> > To: Tapestry users
> > Subject: RE: OGNL AND errors
> >
> > I upgraded javassist to 3.4.ga so it should be the same version. I
> just
> > verified that is the one on the build path too. I'm fairly certain I
> got
> > all of our dependencies up to date with the versions listed on the
> > Tapestry site but I'll double check that as well.
> >
> > -----Original Message-----
> > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > Sent: Monday, March 26, 2007 11:12 AM
> > To: Tapestry users
> > Subject: Re: OGNL AND errors
> >
> > What version of javassist are you using? In my test suite I've created
> > a similar count > 0 expression for every conceivable type / object
> > combination I can think of with no failure. ...So I'm either not
> > correctly re-creating the exact object structure you have or we are on
> > different version of javassist. ..It should be 3.4ga (something like
> > that)
> >
> > On 3/26/07, Ben Dotte <bd...@widen.com> wrote:
> > > I got the latest OGNL snapshot from 3-24 but the "ognl:count > 0"
> > > expression still isn't working. I get a different exception however:
> > >
> > > Unable to parse OGNL expression 'count > 0': Error compiling
> > expression
> > > on object $ShowAll_179@69ba7b9d[BuilderAccount/$ShowAll] with
> > expression
> > > node count > 0 getter body: null setter body: null
> > >
> > > Nested Exception:
> > > caused by  javassist.compiler.NoFieldException: no such field: total
> > > javassist.compiler.TypeChecker#fieldAccess (TypeChecker.java:812)
> > > javassist.compiler.TypeChecker#atFieldRead (TypeChecker.java:770)
> > > javassist.compiler.TypeChecker#atMember (TypeChecker.java:920)
> > > javassist.compiler.JvstTypeChecker#atMember
> (JvstTypeChecker.java:65)
> > > javassist.compiler.ast.Member#accept (Member.java:38)
> > > javassist.compiler.JvstTypeChecker#atMethodArgs
> > > (JvstTypeChecker.java:220)
> > > javassist.compiler.TypeChecker#atMethodCallCore
> (TypeChecker.java:702)
> > > javassist.compiler.TypeChecker#atCallExpr (TypeChecker.java:681)
> > > javassist.compiler.JvstTypeChecker#atCallExpr
> > (JvstTypeChecker.java:156)
> > > javassist.compiler.ast.CallExpr#accept (CallExpr.java:45)
> > > javassist.compiler.JvstTypeChecker#atCastToWrapper
> > > (JvstTypeChecker.java:125)
> > > javassist.compiler.JvstTypeChecker#atCastExpr
> > (JvstTypeChecker.java:97)
> > > javassist.compiler.ast.CastExpr#accept (CastExpr.java:54)
> > > javassist.compiler.CodeGen#doTypeCheck (CodeGen.java:235)
> > > javassist.compiler.CodeGen#compileExpr (CodeGen.java:222)
> > > javassist.compiler.CodeGen#atReturnStmnt2 (CodeGen.java:591)
> > > javassist.compiler.JvstCodeGen#atReturnStmnt (JvstCodeGen.java:424)
> > > javassist.compiler.CodeGen#atStmnt (CodeGen.java:356)
> > > javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
> > > javassist.compiler.CodeGen#atStmnt (CodeGen.java:344)
> > > javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
> > > javassist.compiler.CodeGen#atMethodBody (CodeGen.java:285)
> > > javassist.compiler.Javac#compileBody (Javac.java:212)
> > > javassist.CtBehavior#setBody (CtBehavior.java:341)
> > > javassist.CtBehavior#setBody (CtBehavior.java:316)
> > > org.apache.tapestry.enhance.ClassFabImpl#addMethod
> > > (ClassFabImpl.java:272)
> > >
> >
> org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
> > > ession (HiveMindExpressionCompiler.java:221)
> > > ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
> > > ognl.Ognl#compileExpression (Ognl.java:123)
> > > org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
> > > (ExpressionCacheImpl.java:129)
> > >
> >
> org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
> > > ion (ExpressionCacheImpl.java:91)
> > > $ExpressionCache_1118ef72fb5#getCompiledExpression
> > > ($ExpressionCache_1118ef72fb5.java:-1)
> > > org.apache.tapestry.binding.ExpressionBinding#resolveExpression
> > > (ExpressionBinding.java:120)
> > > org.apache.tapestry.binding.ExpressionBinding#getObject
> > > (ExpressionBinding.java:111)
> > > org.apache.tapestry.binding.AbstractBinding#getObject
> > > (AbstractBinding.java:84)
> > > org.apache.tapestry.enhance.EnhanceUtils#toInt
> (EnhanceUtils.java:204)
> > > $ShowAll_179#getCount ($ShowAll_179.java:-1)
> > > ...
> > >
> > > -----Original Message-----
> > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > Sent: Friday, March 23, 2007 2:44 PM
> > > To: Tapestry users
> > > Subject: Re: OGNL AND errors
> > >
> > > Fix should be finished deploying in the next few minutes.
> > >
> > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > Excellent thanks, that seems to have fixed the AND issue. Here's
> one
> > > > that still isn't working:
> > > >
> > > > <anyItems jwcid="@If" condition="ognl:count > 0">
> > > >
> > > > @Parameter(required = true)
> > > > public abstract int getCount();
> > > > public abstract void setCount(int count);
> > > >
> > > > This error occurred in the file javassist.compiler.CompileError:
> > > missing
> > > > member name
> > > > This error occurred in the file ShowAll.html on line 7
> > > >
> > > > Tapestry error message: Unable to parse OGNL expression 'count >
> 0':
> > > > Error compiling expression on object
> > > > $ShowAll_179@69ba7b9d[BuilderAccount/$ShowAll] with expression
> node
> > > > count > 0 getter body: null setter body: null
> > > >
> > > > Nested Stack Trace:
> > > >
> > > > caused by  javassist.compiler.CompileError: missing member name
> > > > javassist.compiler.Parser#parsePostfix (Parser.java:1068)
> > > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:887)
> > > > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > > > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > > > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > > > javassist.compiler.Parser#parseArgumentList (Parser.java:1329)
> > > > javassist.compiler.Parser#parseMethodCall (Parser.java:1177)
> > > > javassist.compiler.Parser#parsePostfix (Parser.java:1034)
> > > > javassist.compiler.Parser#parseCast (Parser.java:920)
> > > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > > > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > > > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > > > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > > > javassist.compiler.Parser#parsePrimaryExpr (Parser.java:1243)
> > > > javassist.compiler.Parser#parsePostfix (Parser.java:1029)
> > > > javassist.compiler.Parser#parseCast (Parser.java:920)
> > > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > > > javassist.compiler.Parser#parseCast (Parser.java:917)
> > > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > > > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > > > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > > > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > > > javassist.compiler.Parser#parseReturn (Parser.java:506)
> > > > javassist.compiler.Parser#parseStatement (Parser.java:268)
> > > > javassist.compiler.Parser#parseBlock (Parser.java:288)
> > > > javassist.compiler.Parser#parseStatement (Parser.java:242)
> > > > javassist.compiler.Javac#compileBody (Javac.java:203)
> > > > javassist.CtBehavior#setBody (CtBehavior.java:341)
> > > > javassist.CtBehavior#setBody (CtBehavior.java:316)
> > > > org.apache.tapestry.enhance.ClassFabImpl#addMethod
> > > > (ClassFabImpl.java:272)
> > > >
> > >
> >
> org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
> > > > ession (HiveMindExpressionCompiler.java:221)
> > > > ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
> > > > ognl.Ognl#compileExpression (Ognl.java:123)
> > > > org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
> > > > (ExpressionCacheImpl.java:129)
> > > >
> > >
> >
> org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
> > > > ion (ExpressionCacheImpl.java:91)
> > > > $ExpressionCache_111801dfeec#getCompiledExpression
> > > > ($ExpressionCache_111801dfeec.java:-1)
> > > > org.apache.tapestry.binding.ExpressionBinding#resolveExpression
> > > > (ExpressionBinding.java:120)
> > > > org.apache.tapestry.binding.ExpressionBinding#getObject
> > > > (ExpressionBinding.java:111)
> > > > org.apache.tapestry.binding.AbstractBinding#getObject
> > > > (AbstractBinding.java:84)
> > > > org.apache.tapestry.enhance.EnhanceUtils#toInt
> > (EnhanceUtils.java:204)
> > > > $ShowAll_179#getCount ($ShowAll_179.java:-1)
> > > > ...
> > > >
> > > > -----Original Message-----
> > > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > > Sent: Friday, March 23, 2007 12:40 PM
> > > > To: Tapestry users
> > > > Subject: Re: OGNL AND errors
> > > >
> > > > This particular issue should be fixed && deployed now. Feel free
> to
> > > > report any others...It only took so long because I discovered a
> > > > critical section of code that hadn't had the same kind of
> > refactoring
> > > > that others had gone through recently..If similar new bugs come up
> > > > they should be quicker to fix now.
> > > >
> > > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > > Awesome, I really appreciate it. The simplest one is probably
> the
> > > last
> > > > > one. It is just a String parameter on a component.
> > > > >
> > > > > <pageTitle jwcid="@If" condition="ognl:title != null &&
> > > title.length()
> > > > >
> > > > > 0">
> > > > >         <span class="title"><title jwcid="@Insert"
> > > > > mode="ognl:@org.apache.tapestry.components.InsertMode@BREAK"
> > > > > value="ognl:title" /></span>
> > > > > </pageTitle>
> > > > >
> > > > > Java:
> > > > > @Parameter
> > > > > public abstract String getTitle();
> > > > > public abstract void setTitle(String title);
> > > > >
> > > > > -----Original Message-----
> > > > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > > > Sent: Friday, March 23, 2007 10:16 AM
> > > > > To: Tapestry users
> > > > > Subject: Re: OGNL AND errors
> > > > >
> > > > > Well I'm going in to fix one other tiny bug this morning, so
> I'll
> > > see
> > > > > if what you wrote is enough to re-produce it.
> > > > >
> > > > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > > > I tried the new version but unfortunately I'm still getting
> the
> > > same
> > > > > > errors.
> > > > > >
> > > > > > -----Original Message-----
> > > > > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > > > > Sent: Friday, March 23, 2007 9:45 AM
> > > > > > To: Tapestry users
> > > > > > Subject: Re: OGNL AND errors
> > > > > >
> > > > > > I think a new ognl version went out last night. I would try
> that
> > > > > first.
> > > > > >
> > > > > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > > > > I recently tried updating from a Tapestry 4.1.2 snapshot a
> > > couple
> > > > > > months
> > > > > > > old to one from 3-21. Along the way I had to incorporate the
> > new
> > > > 2.7
> > > > > > > OGNL snapshot from 3-18. I'm seeing multiple expressions on
> > each
> > > > > page
> > > > > > > that no longer work. So far they have all involved AND
> > > > expressions.
> > > > > > Here
> > > > > > > are some examples:
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > info.rootCause.getMessage() != null &&
> > > > > > > info.rootCause.getMessage().length() > 0
> > > > > > >
> > > > > > > currentElement.message != null &&
> > > currentElement.message.length()
> > > > >
> > > > > 0
> > > > > > >
> > > > > > > sysMessages != null && sysMessages.size() != 0
> > > > > > >
> > > > > > > title != null && title.length() > 0
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Here is an example error message:
> > > > > > >
> > > > > > > Error compiling expression on object
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> $SystemMessageDisplay_245@750e6725[DirectorAccount/$SystemMessageDisplay
> > > > > > > ] with expression node (sysMessages != null) &&
> > > > (sysMessages.size()
> > > > > !=
> > > > > > > 0) getter body: { return ($w)
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> ((ognl.OgnlOps.booleanValue((($SystemMessageDisplay_245)$2).getSysMessag
> > > > > > > es() != null) ?
> ognl.OgnlOps.convertValue(!ognl.OgnlOps.equal(
> > > > ($w)
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> ognl.OgnlOps.convertValue((($SystemMessageDisplay_245)$2).getSysMessages
> > > > > > > ().size(), java.lang.Integer.class) ,
> > > ognl.OgnlOps.convertValue(0,
> > > > > > > java.lang.Integer.class)), java.lang.Integer.class) :
> > > > > > > (($SystemMessageDisplay_245)$2).getSysMessages() != null));}
> > > > setter
> > > > > > > body: { _node.setValue($1, $2, $3); }
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Our app is now specless so any objects being accessed are
> > > defined
> > > > on
> > > > > > the
> > > > > > > Java class. I can open a case in the OGNL issue tracking
> > system
> > > > but
> > > > > I
> > > > > > > wanted to check if anyone knows what is going on first since
> I
> > > > don't
> > > > > > > want to have to go through and convert hundreds of
> expressions
> > > to
> > > > > Java
> > > > > > > code if I can avoid it (still haven't even gotten our Home
> > page
> > > to
> > > > > > come
> > > > > > > up yet..)
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Thanks,
> > > > > > >
> > > > > > > Ben
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > 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: users-unsubscribe@tapestry.apache.org
> > > > > > For additional commands, e-mail:
> users-help@tapestry.apache.org
> > > > > >
> > > > > >
> > > > > >
> > > >
> > ---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > > > > For additional commands, e-mail:
> users-help@tapestry.apache.org
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > 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: users-unsubscribe@tapestry.apache.org
> > > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > > >
> > > > >
> > > > >
> > >
> ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > 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: users-unsubscribe@tapestry.apache.org
> > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > >
> > > >
> > > >
> > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > >
> > > >
> > >
> > >
> > > --
> > > 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: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> >
> >
> > --
> > 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: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
> --
> 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: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
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: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


RE: OGNL AND errors

Posted by Ben Dotte <bd...@widen.com>.
Ok, actually the concrete listSource implementation in this case does
extend ArrayList in addition to implementing the ListSource
interface--that's got to be where this is coming from.

-----Original Message-----
From: Ben Dotte [mailto:bdotte@widen.com] 
Sent: Monday, March 26, 2007 12:10 PM
To: Tapestry users
Subject: RE: OGNL AND errors

getListSource() returns a ListSource object, which is one of our own
interfaces. It has a getTotal() method that returns an int, which is
what I expect to have called in this case.

So the problem appears to be that it thinks getListSource() returns a
java.util.List, then it tries to call the get() method on that.

But the definition on BaseListContainerModel for getListSource() is
pretty clear:
public abstract ListSource getListSource();

ListSource does not extend any other interfaces so I'm unclear as to why
it would think it was a List.

-----Original Message-----
From: Jesse Kuhnert [mailto:jkuhnert@gmail.com] 
Sent: Monday, March 26, 2007 12:05 PM
To: Tapestry users
Subject: Re: OGNL AND errors

Aha......So what kind of interfaces does your listSource implement?

On 3/26/07, Ben Dotte <bd...@widen.com> wrote:
> Aha! "count" is a parameter, it is what is being passed in for count
> that is the problem. Here is the template portion:
>
> <showAll jwcid="@ShowAll"
> count="ognl:components.doxList.model.listSource.total" title=""
> pageName="MyDocuments" >
>   <div class="shadeIconIndent">
>     <br/>
>     <myDocs jwcid="doxList@MyDocumentsList"
> allowItemsPerPageSelection="false"/>
>   </div>
> </showAll>
>
> So the "components.doxList.model.listSource.total" is what isn't being
> evaluated properly. Looking closer at the stack trace I see how it is
> expanding the ognl:
>
> Unable to parse OGNL expression
> 'components.doxList.model.listSource.total': Error compiling
expression
> on object $BuilderAccount_106@3c1[BuilderAccount] with expression node
> components.doxList.model.listSource.total getter body: { return  ($w)
>
(((java.util.List)((collective.listcontainer.model.BaseListContainerMode
>
l)((collective.mb.ui.components.MyDocumentsList)(($BuilderAccount_106)$2
>
).getComponents().get("doxList")).getModel()).getListSource()).get(total
> ));} setter body: null
>
> Notice it is calling getListSource().get(total). This should be
> getListSource().getTotal() (and it worked this way in 2.6).
>
> -----Original Message-----
> From: Ben Dotte [mailto:bdotte@widen.com]
> Sent: Monday, March 26, 2007 11:16 AM
> To: Tapestry users
> Subject: RE: OGNL AND errors
>
> I upgraded javassist to 3.4.ga so it should be the same version. I
just
> verified that is the one on the build path too. I'm fairly certain I
got
> all of our dependencies up to date with the versions listed on the
> Tapestry site but I'll double check that as well.
>
> -----Original Message-----
> From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> Sent: Monday, March 26, 2007 11:12 AM
> To: Tapestry users
> Subject: Re: OGNL AND errors
>
> What version of javassist are you using? In my test suite I've created
> a similar count > 0 expression for every conceivable type / object
> combination I can think of with no failure. ...So I'm either not
> correctly re-creating the exact object structure you have or we are on
> different version of javassist. ..It should be 3.4ga (something like
> that)
>
> On 3/26/07, Ben Dotte <bd...@widen.com> wrote:
> > I got the latest OGNL snapshot from 3-24 but the "ognl:count > 0"
> > expression still isn't working. I get a different exception however:
> >
> > Unable to parse OGNL expression 'count > 0': Error compiling
> expression
> > on object $ShowAll_179@69ba7b9d[BuilderAccount/$ShowAll] with
> expression
> > node count > 0 getter body: null setter body: null
> >
> > Nested Exception:
> > caused by  javassist.compiler.NoFieldException: no such field: total
> > javassist.compiler.TypeChecker#fieldAccess (TypeChecker.java:812)
> > javassist.compiler.TypeChecker#atFieldRead (TypeChecker.java:770)
> > javassist.compiler.TypeChecker#atMember (TypeChecker.java:920)
> > javassist.compiler.JvstTypeChecker#atMember
(JvstTypeChecker.java:65)
> > javassist.compiler.ast.Member#accept (Member.java:38)
> > javassist.compiler.JvstTypeChecker#atMethodArgs
> > (JvstTypeChecker.java:220)
> > javassist.compiler.TypeChecker#atMethodCallCore
(TypeChecker.java:702)
> > javassist.compiler.TypeChecker#atCallExpr (TypeChecker.java:681)
> > javassist.compiler.JvstTypeChecker#atCallExpr
> (JvstTypeChecker.java:156)
> > javassist.compiler.ast.CallExpr#accept (CallExpr.java:45)
> > javassist.compiler.JvstTypeChecker#atCastToWrapper
> > (JvstTypeChecker.java:125)
> > javassist.compiler.JvstTypeChecker#atCastExpr
> (JvstTypeChecker.java:97)
> > javassist.compiler.ast.CastExpr#accept (CastExpr.java:54)
> > javassist.compiler.CodeGen#doTypeCheck (CodeGen.java:235)
> > javassist.compiler.CodeGen#compileExpr (CodeGen.java:222)
> > javassist.compiler.CodeGen#atReturnStmnt2 (CodeGen.java:591)
> > javassist.compiler.JvstCodeGen#atReturnStmnt (JvstCodeGen.java:424)
> > javassist.compiler.CodeGen#atStmnt (CodeGen.java:356)
> > javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
> > javassist.compiler.CodeGen#atStmnt (CodeGen.java:344)
> > javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
> > javassist.compiler.CodeGen#atMethodBody (CodeGen.java:285)
> > javassist.compiler.Javac#compileBody (Javac.java:212)
> > javassist.CtBehavior#setBody (CtBehavior.java:341)
> > javassist.CtBehavior#setBody (CtBehavior.java:316)
> > org.apache.tapestry.enhance.ClassFabImpl#addMethod
> > (ClassFabImpl.java:272)
> >
>
org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
> > ession (HiveMindExpressionCompiler.java:221)
> > ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
> > ognl.Ognl#compileExpression (Ognl.java:123)
> > org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
> > (ExpressionCacheImpl.java:129)
> >
>
org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
> > ion (ExpressionCacheImpl.java:91)
> > $ExpressionCache_1118ef72fb5#getCompiledExpression
> > ($ExpressionCache_1118ef72fb5.java:-1)
> > org.apache.tapestry.binding.ExpressionBinding#resolveExpression
> > (ExpressionBinding.java:120)
> > org.apache.tapestry.binding.ExpressionBinding#getObject
> > (ExpressionBinding.java:111)
> > org.apache.tapestry.binding.AbstractBinding#getObject
> > (AbstractBinding.java:84)
> > org.apache.tapestry.enhance.EnhanceUtils#toInt
(EnhanceUtils.java:204)
> > $ShowAll_179#getCount ($ShowAll_179.java:-1)
> > ...
> >
> > -----Original Message-----
> > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > Sent: Friday, March 23, 2007 2:44 PM
> > To: Tapestry users
> > Subject: Re: OGNL AND errors
> >
> > Fix should be finished deploying in the next few minutes.
> >
> > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > Excellent thanks, that seems to have fixed the AND issue. Here's
one
> > > that still isn't working:
> > >
> > > <anyItems jwcid="@If" condition="ognl:count > 0">
> > >
> > > @Parameter(required = true)
> > > public abstract int getCount();
> > > public abstract void setCount(int count);
> > >
> > > This error occurred in the file javassist.compiler.CompileError:
> > missing
> > > member name
> > > This error occurred in the file ShowAll.html on line 7
> > >
> > > Tapestry error message: Unable to parse OGNL expression 'count >
0':
> > > Error compiling expression on object
> > > $ShowAll_179@69ba7b9d[BuilderAccount/$ShowAll] with expression
node
> > > count > 0 getter body: null setter body: null
> > >
> > > Nested Stack Trace:
> > >
> > > caused by  javassist.compiler.CompileError: missing member name
> > > javassist.compiler.Parser#parsePostfix (Parser.java:1068)
> > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:887)
> > > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > > javassist.compiler.Parser#parseArgumentList (Parser.java:1329)
> > > javassist.compiler.Parser#parseMethodCall (Parser.java:1177)
> > > javassist.compiler.Parser#parsePostfix (Parser.java:1034)
> > > javassist.compiler.Parser#parseCast (Parser.java:920)
> > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > > javassist.compiler.Parser#parsePrimaryExpr (Parser.java:1243)
> > > javassist.compiler.Parser#parsePostfix (Parser.java:1029)
> > > javassist.compiler.Parser#parseCast (Parser.java:920)
> > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > > javassist.compiler.Parser#parseCast (Parser.java:917)
> > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > > javassist.compiler.Parser#parseReturn (Parser.java:506)
> > > javassist.compiler.Parser#parseStatement (Parser.java:268)
> > > javassist.compiler.Parser#parseBlock (Parser.java:288)
> > > javassist.compiler.Parser#parseStatement (Parser.java:242)
> > > javassist.compiler.Javac#compileBody (Javac.java:203)
> > > javassist.CtBehavior#setBody (CtBehavior.java:341)
> > > javassist.CtBehavior#setBody (CtBehavior.java:316)
> > > org.apache.tapestry.enhance.ClassFabImpl#addMethod
> > > (ClassFabImpl.java:272)
> > >
> >
>
org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
> > > ession (HiveMindExpressionCompiler.java:221)
> > > ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
> > > ognl.Ognl#compileExpression (Ognl.java:123)
> > > org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
> > > (ExpressionCacheImpl.java:129)
> > >
> >
>
org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
> > > ion (ExpressionCacheImpl.java:91)
> > > $ExpressionCache_111801dfeec#getCompiledExpression
> > > ($ExpressionCache_111801dfeec.java:-1)
> > > org.apache.tapestry.binding.ExpressionBinding#resolveExpression
> > > (ExpressionBinding.java:120)
> > > org.apache.tapestry.binding.ExpressionBinding#getObject
> > > (ExpressionBinding.java:111)
> > > org.apache.tapestry.binding.AbstractBinding#getObject
> > > (AbstractBinding.java:84)
> > > org.apache.tapestry.enhance.EnhanceUtils#toInt
> (EnhanceUtils.java:204)
> > > $ShowAll_179#getCount ($ShowAll_179.java:-1)
> > > ...
> > >
> > > -----Original Message-----
> > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > Sent: Friday, March 23, 2007 12:40 PM
> > > To: Tapestry users
> > > Subject: Re: OGNL AND errors
> > >
> > > This particular issue should be fixed && deployed now. Feel free
to
> > > report any others...It only took so long because I discovered a
> > > critical section of code that hadn't had the same kind of
> refactoring
> > > that others had gone through recently..If similar new bugs come up
> > > they should be quicker to fix now.
> > >
> > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > Awesome, I really appreciate it. The simplest one is probably
the
> > last
> > > > one. It is just a String parameter on a component.
> > > >
> > > > <pageTitle jwcid="@If" condition="ognl:title != null &&
> > title.length()
> > > >
> > > > 0">
> > > >         <span class="title"><title jwcid="@Insert"
> > > > mode="ognl:@org.apache.tapestry.components.InsertMode@BREAK"
> > > > value="ognl:title" /></span>
> > > > </pageTitle>
> > > >
> > > > Java:
> > > > @Parameter
> > > > public abstract String getTitle();
> > > > public abstract void setTitle(String title);
> > > >
> > > > -----Original Message-----
> > > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > > Sent: Friday, March 23, 2007 10:16 AM
> > > > To: Tapestry users
> > > > Subject: Re: OGNL AND errors
> > > >
> > > > Well I'm going in to fix one other tiny bug this morning, so
I'll
> > see
> > > > if what you wrote is enough to re-produce it.
> > > >
> > > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > > I tried the new version but unfortunately I'm still getting
the
> > same
> > > > > errors.
> > > > >
> > > > > -----Original Message-----
> > > > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > > > Sent: Friday, March 23, 2007 9:45 AM
> > > > > To: Tapestry users
> > > > > Subject: Re: OGNL AND errors
> > > > >
> > > > > I think a new ognl version went out last night. I would try
that
> > > > first.
> > > > >
> > > > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > > > I recently tried updating from a Tapestry 4.1.2 snapshot a
> > couple
> > > > > months
> > > > > > old to one from 3-21. Along the way I had to incorporate the
> new
> > > 2.7
> > > > > > OGNL snapshot from 3-18. I'm seeing multiple expressions on
> each
> > > > page
> > > > > > that no longer work. So far they have all involved AND
> > > expressions.
> > > > > Here
> > > > > > are some examples:
> > > > > >
> > > > > >
> > > > > >
> > > > > > info.rootCause.getMessage() != null &&
> > > > > > info.rootCause.getMessage().length() > 0
> > > > > >
> > > > > > currentElement.message != null &&
> > currentElement.message.length()
> > > >
> > > > 0
> > > > > >
> > > > > > sysMessages != null && sysMessages.size() != 0
> > > > > >
> > > > > > title != null && title.length() > 0
> > > > > >
> > > > > >
> > > > > >
> > > > > > Here is an example error message:
> > > > > >
> > > > > > Error compiling expression on object
> > > > > >
> > > > >
> > > >
> > >
> >
>
$SystemMessageDisplay_245@750e6725[DirectorAccount/$SystemMessageDisplay
> > > > > > ] with expression node (sysMessages != null) &&
> > > (sysMessages.size()
> > > > !=
> > > > > > 0) getter body: { return ($w)
> > > > > >
> > > > >
> > > >
> > >
> >
>
((ognl.OgnlOps.booleanValue((($SystemMessageDisplay_245)$2).getSysMessag
> > > > > > es() != null) ?
ognl.OgnlOps.convertValue(!ognl.OgnlOps.equal(
> > > ($w)
> > > > > >
> > > > >
> > > >
> > >
> >
>
ognl.OgnlOps.convertValue((($SystemMessageDisplay_245)$2).getSysMessages
> > > > > > ().size(), java.lang.Integer.class) ,
> > ognl.OgnlOps.convertValue(0,
> > > > > > java.lang.Integer.class)), java.lang.Integer.class) :
> > > > > > (($SystemMessageDisplay_245)$2).getSysMessages() != null));}
> > > setter
> > > > > > body: { _node.setValue($1, $2, $3); }
> > > > > >
> > > > > >
> > > > > >
> > > > > > Our app is now specless so any objects being accessed are
> > defined
> > > on
> > > > > the
> > > > > > Java class. I can open a case in the OGNL issue tracking
> system
> > > but
> > > > I
> > > > > > wanted to check if anyone knows what is going on first since
I
> > > don't
> > > > > > want to have to go through and convert hundreds of
expressions
> > to
> > > > Java
> > > > > > code if I can avoid it (still haven't even gotten our Home
> page
> > to
> > > > > come
> > > > > > up yet..)
> > > > > >
> > > > > >
> > > > > >
> > > > > > Thanks,
> > > > > >
> > > > > > Ben
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > 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: users-unsubscribe@tapestry.apache.org
> > > > > For additional commands, e-mail:
users-help@tapestry.apache.org
> > > > >
> > > > >
> > > > >
> > >
> ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > > > For additional commands, e-mail:
users-help@tapestry.apache.org
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > 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: users-unsubscribe@tapestry.apache.org
> > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > >
> > > >
> > > >
> >
---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > >
> > > >
> > >
> > >
> > > --
> > > 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: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> >
> >
> > --
> > 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: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
> --
> 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: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
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: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


RE: OGNL AND errors

Posted by Ben Dotte <bd...@widen.com>.
getListSource() returns a ListSource object, which is one of our own
interfaces. It has a getTotal() method that returns an int, which is
what I expect to have called in this case.

So the problem appears to be that it thinks getListSource() returns a
java.util.List, then it tries to call the get() method on that.

But the definition on BaseListContainerModel for getListSource() is
pretty clear:
public abstract ListSource getListSource();

ListSource does not extend any other interfaces so I'm unclear as to why
it would think it was a List.

-----Original Message-----
From: Jesse Kuhnert [mailto:jkuhnert@gmail.com] 
Sent: Monday, March 26, 2007 12:05 PM
To: Tapestry users
Subject: Re: OGNL AND errors

Aha......So what kind of interfaces does your listSource implement?

On 3/26/07, Ben Dotte <bd...@widen.com> wrote:
> Aha! "count" is a parameter, it is what is being passed in for count
> that is the problem. Here is the template portion:
>
> <showAll jwcid="@ShowAll"
> count="ognl:components.doxList.model.listSource.total" title=""
> pageName="MyDocuments" >
>   <div class="shadeIconIndent">
>     <br/>
>     <myDocs jwcid="doxList@MyDocumentsList"
> allowItemsPerPageSelection="false"/>
>   </div>
> </showAll>
>
> So the "components.doxList.model.listSource.total" is what isn't being
> evaluated properly. Looking closer at the stack trace I see how it is
> expanding the ognl:
>
> Unable to parse OGNL expression
> 'components.doxList.model.listSource.total': Error compiling
expression
> on object $BuilderAccount_106@3c1[BuilderAccount] with expression node
> components.doxList.model.listSource.total getter body: { return  ($w)
>
(((java.util.List)((collective.listcontainer.model.BaseListContainerMode
>
l)((collective.mb.ui.components.MyDocumentsList)(($BuilderAccount_106)$2
>
).getComponents().get("doxList")).getModel()).getListSource()).get(total
> ));} setter body: null
>
> Notice it is calling getListSource().get(total). This should be
> getListSource().getTotal() (and it worked this way in 2.6).
>
> -----Original Message-----
> From: Ben Dotte [mailto:bdotte@widen.com]
> Sent: Monday, March 26, 2007 11:16 AM
> To: Tapestry users
> Subject: RE: OGNL AND errors
>
> I upgraded javassist to 3.4.ga so it should be the same version. I
just
> verified that is the one on the build path too. I'm fairly certain I
got
> all of our dependencies up to date with the versions listed on the
> Tapestry site but I'll double check that as well.
>
> -----Original Message-----
> From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> Sent: Monday, March 26, 2007 11:12 AM
> To: Tapestry users
> Subject: Re: OGNL AND errors
>
> What version of javassist are you using? In my test suite I've created
> a similar count > 0 expression for every conceivable type / object
> combination I can think of with no failure. ...So I'm either not
> correctly re-creating the exact object structure you have or we are on
> different version of javassist. ..It should be 3.4ga (something like
> that)
>
> On 3/26/07, Ben Dotte <bd...@widen.com> wrote:
> > I got the latest OGNL snapshot from 3-24 but the "ognl:count > 0"
> > expression still isn't working. I get a different exception however:
> >
> > Unable to parse OGNL expression 'count > 0': Error compiling
> expression
> > on object $ShowAll_179@69ba7b9d[BuilderAccount/$ShowAll] with
> expression
> > node count > 0 getter body: null setter body: null
> >
> > Nested Exception:
> > caused by  javassist.compiler.NoFieldException: no such field: total
> > javassist.compiler.TypeChecker#fieldAccess (TypeChecker.java:812)
> > javassist.compiler.TypeChecker#atFieldRead (TypeChecker.java:770)
> > javassist.compiler.TypeChecker#atMember (TypeChecker.java:920)
> > javassist.compiler.JvstTypeChecker#atMember
(JvstTypeChecker.java:65)
> > javassist.compiler.ast.Member#accept (Member.java:38)
> > javassist.compiler.JvstTypeChecker#atMethodArgs
> > (JvstTypeChecker.java:220)
> > javassist.compiler.TypeChecker#atMethodCallCore
(TypeChecker.java:702)
> > javassist.compiler.TypeChecker#atCallExpr (TypeChecker.java:681)
> > javassist.compiler.JvstTypeChecker#atCallExpr
> (JvstTypeChecker.java:156)
> > javassist.compiler.ast.CallExpr#accept (CallExpr.java:45)
> > javassist.compiler.JvstTypeChecker#atCastToWrapper
> > (JvstTypeChecker.java:125)
> > javassist.compiler.JvstTypeChecker#atCastExpr
> (JvstTypeChecker.java:97)
> > javassist.compiler.ast.CastExpr#accept (CastExpr.java:54)
> > javassist.compiler.CodeGen#doTypeCheck (CodeGen.java:235)
> > javassist.compiler.CodeGen#compileExpr (CodeGen.java:222)
> > javassist.compiler.CodeGen#atReturnStmnt2 (CodeGen.java:591)
> > javassist.compiler.JvstCodeGen#atReturnStmnt (JvstCodeGen.java:424)
> > javassist.compiler.CodeGen#atStmnt (CodeGen.java:356)
> > javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
> > javassist.compiler.CodeGen#atStmnt (CodeGen.java:344)
> > javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
> > javassist.compiler.CodeGen#atMethodBody (CodeGen.java:285)
> > javassist.compiler.Javac#compileBody (Javac.java:212)
> > javassist.CtBehavior#setBody (CtBehavior.java:341)
> > javassist.CtBehavior#setBody (CtBehavior.java:316)
> > org.apache.tapestry.enhance.ClassFabImpl#addMethod
> > (ClassFabImpl.java:272)
> >
>
org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
> > ession (HiveMindExpressionCompiler.java:221)
> > ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
> > ognl.Ognl#compileExpression (Ognl.java:123)
> > org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
> > (ExpressionCacheImpl.java:129)
> >
>
org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
> > ion (ExpressionCacheImpl.java:91)
> > $ExpressionCache_1118ef72fb5#getCompiledExpression
> > ($ExpressionCache_1118ef72fb5.java:-1)
> > org.apache.tapestry.binding.ExpressionBinding#resolveExpression
> > (ExpressionBinding.java:120)
> > org.apache.tapestry.binding.ExpressionBinding#getObject
> > (ExpressionBinding.java:111)
> > org.apache.tapestry.binding.AbstractBinding#getObject
> > (AbstractBinding.java:84)
> > org.apache.tapestry.enhance.EnhanceUtils#toInt
(EnhanceUtils.java:204)
> > $ShowAll_179#getCount ($ShowAll_179.java:-1)
> > ...
> >
> > -----Original Message-----
> > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > Sent: Friday, March 23, 2007 2:44 PM
> > To: Tapestry users
> > Subject: Re: OGNL AND errors
> >
> > Fix should be finished deploying in the next few minutes.
> >
> > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > Excellent thanks, that seems to have fixed the AND issue. Here's
one
> > > that still isn't working:
> > >
> > > <anyItems jwcid="@If" condition="ognl:count > 0">
> > >
> > > @Parameter(required = true)
> > > public abstract int getCount();
> > > public abstract void setCount(int count);
> > >
> > > This error occurred in the file javassist.compiler.CompileError:
> > missing
> > > member name
> > > This error occurred in the file ShowAll.html on line 7
> > >
> > > Tapestry error message: Unable to parse OGNL expression 'count >
0':
> > > Error compiling expression on object
> > > $ShowAll_179@69ba7b9d[BuilderAccount/$ShowAll] with expression
node
> > > count > 0 getter body: null setter body: null
> > >
> > > Nested Stack Trace:
> > >
> > > caused by  javassist.compiler.CompileError: missing member name
> > > javassist.compiler.Parser#parsePostfix (Parser.java:1068)
> > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:887)
> > > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > > javassist.compiler.Parser#parseArgumentList (Parser.java:1329)
> > > javassist.compiler.Parser#parseMethodCall (Parser.java:1177)
> > > javassist.compiler.Parser#parsePostfix (Parser.java:1034)
> > > javassist.compiler.Parser#parseCast (Parser.java:920)
> > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > > javassist.compiler.Parser#parsePrimaryExpr (Parser.java:1243)
> > > javassist.compiler.Parser#parsePostfix (Parser.java:1029)
> > > javassist.compiler.Parser#parseCast (Parser.java:920)
> > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > > javassist.compiler.Parser#parseCast (Parser.java:917)
> > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > > javassist.compiler.Parser#parseReturn (Parser.java:506)
> > > javassist.compiler.Parser#parseStatement (Parser.java:268)
> > > javassist.compiler.Parser#parseBlock (Parser.java:288)
> > > javassist.compiler.Parser#parseStatement (Parser.java:242)
> > > javassist.compiler.Javac#compileBody (Javac.java:203)
> > > javassist.CtBehavior#setBody (CtBehavior.java:341)
> > > javassist.CtBehavior#setBody (CtBehavior.java:316)
> > > org.apache.tapestry.enhance.ClassFabImpl#addMethod
> > > (ClassFabImpl.java:272)
> > >
> >
>
org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
> > > ession (HiveMindExpressionCompiler.java:221)
> > > ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
> > > ognl.Ognl#compileExpression (Ognl.java:123)
> > > org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
> > > (ExpressionCacheImpl.java:129)
> > >
> >
>
org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
> > > ion (ExpressionCacheImpl.java:91)
> > > $ExpressionCache_111801dfeec#getCompiledExpression
> > > ($ExpressionCache_111801dfeec.java:-1)
> > > org.apache.tapestry.binding.ExpressionBinding#resolveExpression
> > > (ExpressionBinding.java:120)
> > > org.apache.tapestry.binding.ExpressionBinding#getObject
> > > (ExpressionBinding.java:111)
> > > org.apache.tapestry.binding.AbstractBinding#getObject
> > > (AbstractBinding.java:84)
> > > org.apache.tapestry.enhance.EnhanceUtils#toInt
> (EnhanceUtils.java:204)
> > > $ShowAll_179#getCount ($ShowAll_179.java:-1)
> > > ...
> > >
> > > -----Original Message-----
> > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > Sent: Friday, March 23, 2007 12:40 PM
> > > To: Tapestry users
> > > Subject: Re: OGNL AND errors
> > >
> > > This particular issue should be fixed && deployed now. Feel free
to
> > > report any others...It only took so long because I discovered a
> > > critical section of code that hadn't had the same kind of
> refactoring
> > > that others had gone through recently..If similar new bugs come up
> > > they should be quicker to fix now.
> > >
> > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > Awesome, I really appreciate it. The simplest one is probably
the
> > last
> > > > one. It is just a String parameter on a component.
> > > >
> > > > <pageTitle jwcid="@If" condition="ognl:title != null &&
> > title.length()
> > > >
> > > > 0">
> > > >         <span class="title"><title jwcid="@Insert"
> > > > mode="ognl:@org.apache.tapestry.components.InsertMode@BREAK"
> > > > value="ognl:title" /></span>
> > > > </pageTitle>
> > > >
> > > > Java:
> > > > @Parameter
> > > > public abstract String getTitle();
> > > > public abstract void setTitle(String title);
> > > >
> > > > -----Original Message-----
> > > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > > Sent: Friday, March 23, 2007 10:16 AM
> > > > To: Tapestry users
> > > > Subject: Re: OGNL AND errors
> > > >
> > > > Well I'm going in to fix one other tiny bug this morning, so
I'll
> > see
> > > > if what you wrote is enough to re-produce it.
> > > >
> > > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > > I tried the new version but unfortunately I'm still getting
the
> > same
> > > > > errors.
> > > > >
> > > > > -----Original Message-----
> > > > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > > > Sent: Friday, March 23, 2007 9:45 AM
> > > > > To: Tapestry users
> > > > > Subject: Re: OGNL AND errors
> > > > >
> > > > > I think a new ognl version went out last night. I would try
that
> > > > first.
> > > > >
> > > > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > > > I recently tried updating from a Tapestry 4.1.2 snapshot a
> > couple
> > > > > months
> > > > > > old to one from 3-21. Along the way I had to incorporate the
> new
> > > 2.7
> > > > > > OGNL snapshot from 3-18. I'm seeing multiple expressions on
> each
> > > > page
> > > > > > that no longer work. So far they have all involved AND
> > > expressions.
> > > > > Here
> > > > > > are some examples:
> > > > > >
> > > > > >
> > > > > >
> > > > > > info.rootCause.getMessage() != null &&
> > > > > > info.rootCause.getMessage().length() > 0
> > > > > >
> > > > > > currentElement.message != null &&
> > currentElement.message.length()
> > > >
> > > > 0
> > > > > >
> > > > > > sysMessages != null && sysMessages.size() != 0
> > > > > >
> > > > > > title != null && title.length() > 0
> > > > > >
> > > > > >
> > > > > >
> > > > > > Here is an example error message:
> > > > > >
> > > > > > Error compiling expression on object
> > > > > >
> > > > >
> > > >
> > >
> >
>
$SystemMessageDisplay_245@750e6725[DirectorAccount/$SystemMessageDisplay
> > > > > > ] with expression node (sysMessages != null) &&
> > > (sysMessages.size()
> > > > !=
> > > > > > 0) getter body: { return ($w)
> > > > > >
> > > > >
> > > >
> > >
> >
>
((ognl.OgnlOps.booleanValue((($SystemMessageDisplay_245)$2).getSysMessag
> > > > > > es() != null) ?
ognl.OgnlOps.convertValue(!ognl.OgnlOps.equal(
> > > ($w)
> > > > > >
> > > > >
> > > >
> > >
> >
>
ognl.OgnlOps.convertValue((($SystemMessageDisplay_245)$2).getSysMessages
> > > > > > ().size(), java.lang.Integer.class) ,
> > ognl.OgnlOps.convertValue(0,
> > > > > > java.lang.Integer.class)), java.lang.Integer.class) :
> > > > > > (($SystemMessageDisplay_245)$2).getSysMessages() != null));}
> > > setter
> > > > > > body: { _node.setValue($1, $2, $3); }
> > > > > >
> > > > > >
> > > > > >
> > > > > > Our app is now specless so any objects being accessed are
> > defined
> > > on
> > > > > the
> > > > > > Java class. I can open a case in the OGNL issue tracking
> system
> > > but
> > > > I
> > > > > > wanted to check if anyone knows what is going on first since
I
> > > don't
> > > > > > want to have to go through and convert hundreds of
expressions
> > to
> > > > Java
> > > > > > code if I can avoid it (still haven't even gotten our Home
> page
> > to
> > > > > come
> > > > > > up yet..)
> > > > > >
> > > > > >
> > > > > >
> > > > > > Thanks,
> > > > > >
> > > > > > Ben
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > 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: users-unsubscribe@tapestry.apache.org
> > > > > For additional commands, e-mail:
users-help@tapestry.apache.org
> > > > >
> > > > >
> > > > >
> > >
> ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > > > For additional commands, e-mail:
users-help@tapestry.apache.org
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > 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: users-unsubscribe@tapestry.apache.org
> > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > >
> > > >
> > > >
> >
---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > >
> > > >
> > >
> > >
> > > --
> > > 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: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> >
> >
> > --
> > 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: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
> --
> 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: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
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: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: OGNL AND errors

Posted by Jesse Kuhnert <jk...@gmail.com>.
Aha......So what kind of interfaces does your listSource implement?

On 3/26/07, Ben Dotte <bd...@widen.com> wrote:
> Aha! "count" is a parameter, it is what is being passed in for count
> that is the problem. Here is the template portion:
>
> <showAll jwcid="@ShowAll"
> count="ognl:components.doxList.model.listSource.total" title=""
> pageName="MyDocuments" >
>   <div class="shadeIconIndent">
>     <br/>
>     <myDocs jwcid="doxList@MyDocumentsList"
> allowItemsPerPageSelection="false"/>
>   </div>
> </showAll>
>
> So the "components.doxList.model.listSource.total" is what isn't being
> evaluated properly. Looking closer at the stack trace I see how it is
> expanding the ognl:
>
> Unable to parse OGNL expression
> 'components.doxList.model.listSource.total': Error compiling expression
> on object $BuilderAccount_106@3c1[BuilderAccount] with expression node
> components.doxList.model.listSource.total getter body: { return  ($w)
> (((java.util.List)((collective.listcontainer.model.BaseListContainerMode
> l)((collective.mb.ui.components.MyDocumentsList)(($BuilderAccount_106)$2
> ).getComponents().get("doxList")).getModel()).getListSource()).get(total
> ));} setter body: null
>
> Notice it is calling getListSource().get(total). This should be
> getListSource().getTotal() (and it worked this way in 2.6).
>
> -----Original Message-----
> From: Ben Dotte [mailto:bdotte@widen.com]
> Sent: Monday, March 26, 2007 11:16 AM
> To: Tapestry users
> Subject: RE: OGNL AND errors
>
> I upgraded javassist to 3.4.ga so it should be the same version. I just
> verified that is the one on the build path too. I'm fairly certain I got
> all of our dependencies up to date with the versions listed on the
> Tapestry site but I'll double check that as well.
>
> -----Original Message-----
> From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> Sent: Monday, March 26, 2007 11:12 AM
> To: Tapestry users
> Subject: Re: OGNL AND errors
>
> What version of javassist are you using? In my test suite I've created
> a similar count > 0 expression for every conceivable type / object
> combination I can think of with no failure. ...So I'm either not
> correctly re-creating the exact object structure you have or we are on
> different version of javassist. ..It should be 3.4ga (something like
> that)
>
> On 3/26/07, Ben Dotte <bd...@widen.com> wrote:
> > I got the latest OGNL snapshot from 3-24 but the "ognl:count > 0"
> > expression still isn't working. I get a different exception however:
> >
> > Unable to parse OGNL expression 'count > 0': Error compiling
> expression
> > on object $ShowAll_179@69ba7b9d[BuilderAccount/$ShowAll] with
> expression
> > node count > 0 getter body: null setter body: null
> >
> > Nested Exception:
> > caused by  javassist.compiler.NoFieldException: no such field: total
> > javassist.compiler.TypeChecker#fieldAccess (TypeChecker.java:812)
> > javassist.compiler.TypeChecker#atFieldRead (TypeChecker.java:770)
> > javassist.compiler.TypeChecker#atMember (TypeChecker.java:920)
> > javassist.compiler.JvstTypeChecker#atMember (JvstTypeChecker.java:65)
> > javassist.compiler.ast.Member#accept (Member.java:38)
> > javassist.compiler.JvstTypeChecker#atMethodArgs
> > (JvstTypeChecker.java:220)
> > javassist.compiler.TypeChecker#atMethodCallCore (TypeChecker.java:702)
> > javassist.compiler.TypeChecker#atCallExpr (TypeChecker.java:681)
> > javassist.compiler.JvstTypeChecker#atCallExpr
> (JvstTypeChecker.java:156)
> > javassist.compiler.ast.CallExpr#accept (CallExpr.java:45)
> > javassist.compiler.JvstTypeChecker#atCastToWrapper
> > (JvstTypeChecker.java:125)
> > javassist.compiler.JvstTypeChecker#atCastExpr
> (JvstTypeChecker.java:97)
> > javassist.compiler.ast.CastExpr#accept (CastExpr.java:54)
> > javassist.compiler.CodeGen#doTypeCheck (CodeGen.java:235)
> > javassist.compiler.CodeGen#compileExpr (CodeGen.java:222)
> > javassist.compiler.CodeGen#atReturnStmnt2 (CodeGen.java:591)
> > javassist.compiler.JvstCodeGen#atReturnStmnt (JvstCodeGen.java:424)
> > javassist.compiler.CodeGen#atStmnt (CodeGen.java:356)
> > javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
> > javassist.compiler.CodeGen#atStmnt (CodeGen.java:344)
> > javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
> > javassist.compiler.CodeGen#atMethodBody (CodeGen.java:285)
> > javassist.compiler.Javac#compileBody (Javac.java:212)
> > javassist.CtBehavior#setBody (CtBehavior.java:341)
> > javassist.CtBehavior#setBody (CtBehavior.java:316)
> > org.apache.tapestry.enhance.ClassFabImpl#addMethod
> > (ClassFabImpl.java:272)
> >
> org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
> > ession (HiveMindExpressionCompiler.java:221)
> > ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
> > ognl.Ognl#compileExpression (Ognl.java:123)
> > org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
> > (ExpressionCacheImpl.java:129)
> >
> org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
> > ion (ExpressionCacheImpl.java:91)
> > $ExpressionCache_1118ef72fb5#getCompiledExpression
> > ($ExpressionCache_1118ef72fb5.java:-1)
> > org.apache.tapestry.binding.ExpressionBinding#resolveExpression
> > (ExpressionBinding.java:120)
> > org.apache.tapestry.binding.ExpressionBinding#getObject
> > (ExpressionBinding.java:111)
> > org.apache.tapestry.binding.AbstractBinding#getObject
> > (AbstractBinding.java:84)
> > org.apache.tapestry.enhance.EnhanceUtils#toInt (EnhanceUtils.java:204)
> > $ShowAll_179#getCount ($ShowAll_179.java:-1)
> > ...
> >
> > -----Original Message-----
> > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > Sent: Friday, March 23, 2007 2:44 PM
> > To: Tapestry users
> > Subject: Re: OGNL AND errors
> >
> > Fix should be finished deploying in the next few minutes.
> >
> > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > Excellent thanks, that seems to have fixed the AND issue. Here's one
> > > that still isn't working:
> > >
> > > <anyItems jwcid="@If" condition="ognl:count > 0">
> > >
> > > @Parameter(required = true)
> > > public abstract int getCount();
> > > public abstract void setCount(int count);
> > >
> > > This error occurred in the file javassist.compiler.CompileError:
> > missing
> > > member name
> > > This error occurred in the file ShowAll.html on line 7
> > >
> > > Tapestry error message: Unable to parse OGNL expression 'count > 0':
> > > Error compiling expression on object
> > > $ShowAll_179@69ba7b9d[BuilderAccount/$ShowAll] with expression node
> > > count > 0 getter body: null setter body: null
> > >
> > > Nested Stack Trace:
> > >
> > > caused by  javassist.compiler.CompileError: missing member name
> > > javassist.compiler.Parser#parsePostfix (Parser.java:1068)
> > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:887)
> > > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > > javassist.compiler.Parser#parseArgumentList (Parser.java:1329)
> > > javassist.compiler.Parser#parseMethodCall (Parser.java:1177)
> > > javassist.compiler.Parser#parsePostfix (Parser.java:1034)
> > > javassist.compiler.Parser#parseCast (Parser.java:920)
> > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > > javassist.compiler.Parser#parsePrimaryExpr (Parser.java:1243)
> > > javassist.compiler.Parser#parsePostfix (Parser.java:1029)
> > > javassist.compiler.Parser#parseCast (Parser.java:920)
> > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > > javassist.compiler.Parser#parseCast (Parser.java:917)
> > > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > > javassist.compiler.Parser#parseReturn (Parser.java:506)
> > > javassist.compiler.Parser#parseStatement (Parser.java:268)
> > > javassist.compiler.Parser#parseBlock (Parser.java:288)
> > > javassist.compiler.Parser#parseStatement (Parser.java:242)
> > > javassist.compiler.Javac#compileBody (Javac.java:203)
> > > javassist.CtBehavior#setBody (CtBehavior.java:341)
> > > javassist.CtBehavior#setBody (CtBehavior.java:316)
> > > org.apache.tapestry.enhance.ClassFabImpl#addMethod
> > > (ClassFabImpl.java:272)
> > >
> >
> org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
> > > ession (HiveMindExpressionCompiler.java:221)
> > > ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
> > > ognl.Ognl#compileExpression (Ognl.java:123)
> > > org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
> > > (ExpressionCacheImpl.java:129)
> > >
> >
> org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
> > > ion (ExpressionCacheImpl.java:91)
> > > $ExpressionCache_111801dfeec#getCompiledExpression
> > > ($ExpressionCache_111801dfeec.java:-1)
> > > org.apache.tapestry.binding.ExpressionBinding#resolveExpression
> > > (ExpressionBinding.java:120)
> > > org.apache.tapestry.binding.ExpressionBinding#getObject
> > > (ExpressionBinding.java:111)
> > > org.apache.tapestry.binding.AbstractBinding#getObject
> > > (AbstractBinding.java:84)
> > > org.apache.tapestry.enhance.EnhanceUtils#toInt
> (EnhanceUtils.java:204)
> > > $ShowAll_179#getCount ($ShowAll_179.java:-1)
> > > ...
> > >
> > > -----Original Message-----
> > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > Sent: Friday, March 23, 2007 12:40 PM
> > > To: Tapestry users
> > > Subject: Re: OGNL AND errors
> > >
> > > This particular issue should be fixed && deployed now. Feel free to
> > > report any others...It only took so long because I discovered a
> > > critical section of code that hadn't had the same kind of
> refactoring
> > > that others had gone through recently..If similar new bugs come up
> > > they should be quicker to fix now.
> > >
> > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > Awesome, I really appreciate it. The simplest one is probably the
> > last
> > > > one. It is just a String parameter on a component.
> > > >
> > > > <pageTitle jwcid="@If" condition="ognl:title != null &&
> > title.length()
> > > >
> > > > 0">
> > > >         <span class="title"><title jwcid="@Insert"
> > > > mode="ognl:@org.apache.tapestry.components.InsertMode@BREAK"
> > > > value="ognl:title" /></span>
> > > > </pageTitle>
> > > >
> > > > Java:
> > > > @Parameter
> > > > public abstract String getTitle();
> > > > public abstract void setTitle(String title);
> > > >
> > > > -----Original Message-----
> > > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > > Sent: Friday, March 23, 2007 10:16 AM
> > > > To: Tapestry users
> > > > Subject: Re: OGNL AND errors
> > > >
> > > > Well I'm going in to fix one other tiny bug this morning, so I'll
> > see
> > > > if what you wrote is enough to re-produce it.
> > > >
> > > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > > I tried the new version but unfortunately I'm still getting the
> > same
> > > > > errors.
> > > > >
> > > > > -----Original Message-----
> > > > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > > > Sent: Friday, March 23, 2007 9:45 AM
> > > > > To: Tapestry users
> > > > > Subject: Re: OGNL AND errors
> > > > >
> > > > > I think a new ognl version went out last night. I would try that
> > > > first.
> > > > >
> > > > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > > > I recently tried updating from a Tapestry 4.1.2 snapshot a
> > couple
> > > > > months
> > > > > > old to one from 3-21. Along the way I had to incorporate the
> new
> > > 2.7
> > > > > > OGNL snapshot from 3-18. I'm seeing multiple expressions on
> each
> > > > page
> > > > > > that no longer work. So far they have all involved AND
> > > expressions.
> > > > > Here
> > > > > > are some examples:
> > > > > >
> > > > > >
> > > > > >
> > > > > > info.rootCause.getMessage() != null &&
> > > > > > info.rootCause.getMessage().length() > 0
> > > > > >
> > > > > > currentElement.message != null &&
> > currentElement.message.length()
> > > >
> > > > 0
> > > > > >
> > > > > > sysMessages != null && sysMessages.size() != 0
> > > > > >
> > > > > > title != null && title.length() > 0
> > > > > >
> > > > > >
> > > > > >
> > > > > > Here is an example error message:
> > > > > >
> > > > > > Error compiling expression on object
> > > > > >
> > > > >
> > > >
> > >
> >
> $SystemMessageDisplay_245@750e6725[DirectorAccount/$SystemMessageDisplay
> > > > > > ] with expression node (sysMessages != null) &&
> > > (sysMessages.size()
> > > > !=
> > > > > > 0) getter body: { return ($w)
> > > > > >
> > > > >
> > > >
> > >
> >
> ((ognl.OgnlOps.booleanValue((($SystemMessageDisplay_245)$2).getSysMessag
> > > > > > es() != null) ? ognl.OgnlOps.convertValue(!ognl.OgnlOps.equal(
> > > ($w)
> > > > > >
> > > > >
> > > >
> > >
> >
> ognl.OgnlOps.convertValue((($SystemMessageDisplay_245)$2).getSysMessages
> > > > > > ().size(), java.lang.Integer.class) ,
> > ognl.OgnlOps.convertValue(0,
> > > > > > java.lang.Integer.class)), java.lang.Integer.class) :
> > > > > > (($SystemMessageDisplay_245)$2).getSysMessages() != null));}
> > > setter
> > > > > > body: { _node.setValue($1, $2, $3); }
> > > > > >
> > > > > >
> > > > > >
> > > > > > Our app is now specless so any objects being accessed are
> > defined
> > > on
> > > > > the
> > > > > > Java class. I can open a case in the OGNL issue tracking
> system
> > > but
> > > > I
> > > > > > wanted to check if anyone knows what is going on first since I
> > > don't
> > > > > > want to have to go through and convert hundreds of expressions
> > to
> > > > Java
> > > > > > code if I can avoid it (still haven't even gotten our Home
> page
> > to
> > > > > come
> > > > > > up yet..)
> > > > > >
> > > > > >
> > > > > >
> > > > > > Thanks,
> > > > > >
> > > > > > Ben
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > 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: users-unsubscribe@tapestry.apache.org
> > > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > > >
> > > > >
> > > > >
> > >
> ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > 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: users-unsubscribe@tapestry.apache.org
> > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > >
> > > >
> > > >
> > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > >
> > > >
> > >
> > >
> > > --
> > > 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: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> >
> >
> > --
> > 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: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
> --
> 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: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
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: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


RE: OGNL AND errors

Posted by Ben Dotte <bd...@widen.com>.
Aha! "count" is a parameter, it is what is being passed in for count
that is the problem. Here is the template portion:

<showAll jwcid="@ShowAll"
count="ognl:components.doxList.model.listSource.total" title=""
pageName="MyDocuments" >
  <div class="shadeIconIndent">
    <br/>
    <myDocs jwcid="doxList@MyDocumentsList"
allowItemsPerPageSelection="false"/>
  </div>
</showAll>

So the "components.doxList.model.listSource.total" is what isn't being
evaluated properly. Looking closer at the stack trace I see how it is
expanding the ognl:

Unable to parse OGNL expression
'components.doxList.model.listSource.total': Error compiling expression
on object $BuilderAccount_106@3c1[BuilderAccount] with expression node
components.doxList.model.listSource.total getter body: { return  ($w)
(((java.util.List)((collective.listcontainer.model.BaseListContainerMode
l)((collective.mb.ui.components.MyDocumentsList)(($BuilderAccount_106)$2
).getComponents().get("doxList")).getModel()).getListSource()).get(total
));} setter body: null

Notice it is calling getListSource().get(total). This should be
getListSource().getTotal() (and it worked this way in 2.6).

-----Original Message-----
From: Ben Dotte [mailto:bdotte@widen.com] 
Sent: Monday, March 26, 2007 11:16 AM
To: Tapestry users
Subject: RE: OGNL AND errors

I upgraded javassist to 3.4.ga so it should be the same version. I just
verified that is the one on the build path too. I'm fairly certain I got
all of our dependencies up to date with the versions listed on the
Tapestry site but I'll double check that as well.

-----Original Message-----
From: Jesse Kuhnert [mailto:jkuhnert@gmail.com] 
Sent: Monday, March 26, 2007 11:12 AM
To: Tapestry users
Subject: Re: OGNL AND errors

What version of javassist are you using? In my test suite I've created
a similar count > 0 expression for every conceivable type / object
combination I can think of with no failure. ...So I'm either not
correctly re-creating the exact object structure you have or we are on
different version of javassist. ..It should be 3.4ga (something like
that)

On 3/26/07, Ben Dotte <bd...@widen.com> wrote:
> I got the latest OGNL snapshot from 3-24 but the "ognl:count > 0"
> expression still isn't working. I get a different exception however:
>
> Unable to parse OGNL expression 'count > 0': Error compiling
expression
> on object $ShowAll_179@69ba7b9d[BuilderAccount/$ShowAll] with
expression
> node count > 0 getter body: null setter body: null
>
> Nested Exception:
> caused by  javassist.compiler.NoFieldException: no such field: total
> javassist.compiler.TypeChecker#fieldAccess (TypeChecker.java:812)
> javassist.compiler.TypeChecker#atFieldRead (TypeChecker.java:770)
> javassist.compiler.TypeChecker#atMember (TypeChecker.java:920)
> javassist.compiler.JvstTypeChecker#atMember (JvstTypeChecker.java:65)
> javassist.compiler.ast.Member#accept (Member.java:38)
> javassist.compiler.JvstTypeChecker#atMethodArgs
> (JvstTypeChecker.java:220)
> javassist.compiler.TypeChecker#atMethodCallCore (TypeChecker.java:702)
> javassist.compiler.TypeChecker#atCallExpr (TypeChecker.java:681)
> javassist.compiler.JvstTypeChecker#atCallExpr
(JvstTypeChecker.java:156)
> javassist.compiler.ast.CallExpr#accept (CallExpr.java:45)
> javassist.compiler.JvstTypeChecker#atCastToWrapper
> (JvstTypeChecker.java:125)
> javassist.compiler.JvstTypeChecker#atCastExpr
(JvstTypeChecker.java:97)
> javassist.compiler.ast.CastExpr#accept (CastExpr.java:54)
> javassist.compiler.CodeGen#doTypeCheck (CodeGen.java:235)
> javassist.compiler.CodeGen#compileExpr (CodeGen.java:222)
> javassist.compiler.CodeGen#atReturnStmnt2 (CodeGen.java:591)
> javassist.compiler.JvstCodeGen#atReturnStmnt (JvstCodeGen.java:424)
> javassist.compiler.CodeGen#atStmnt (CodeGen.java:356)
> javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
> javassist.compiler.CodeGen#atStmnt (CodeGen.java:344)
> javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
> javassist.compiler.CodeGen#atMethodBody (CodeGen.java:285)
> javassist.compiler.Javac#compileBody (Javac.java:212)
> javassist.CtBehavior#setBody (CtBehavior.java:341)
> javassist.CtBehavior#setBody (CtBehavior.java:316)
> org.apache.tapestry.enhance.ClassFabImpl#addMethod
> (ClassFabImpl.java:272)
>
org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
> ession (HiveMindExpressionCompiler.java:221)
> ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
> ognl.Ognl#compileExpression (Ognl.java:123)
> org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
> (ExpressionCacheImpl.java:129)
>
org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
> ion (ExpressionCacheImpl.java:91)
> $ExpressionCache_1118ef72fb5#getCompiledExpression
> ($ExpressionCache_1118ef72fb5.java:-1)
> org.apache.tapestry.binding.ExpressionBinding#resolveExpression
> (ExpressionBinding.java:120)
> org.apache.tapestry.binding.ExpressionBinding#getObject
> (ExpressionBinding.java:111)
> org.apache.tapestry.binding.AbstractBinding#getObject
> (AbstractBinding.java:84)
> org.apache.tapestry.enhance.EnhanceUtils#toInt (EnhanceUtils.java:204)
> $ShowAll_179#getCount ($ShowAll_179.java:-1)
> ...
>
> -----Original Message-----
> From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> Sent: Friday, March 23, 2007 2:44 PM
> To: Tapestry users
> Subject: Re: OGNL AND errors
>
> Fix should be finished deploying in the next few minutes.
>
> On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > Excellent thanks, that seems to have fixed the AND issue. Here's one
> > that still isn't working:
> >
> > <anyItems jwcid="@If" condition="ognl:count > 0">
> >
> > @Parameter(required = true)
> > public abstract int getCount();
> > public abstract void setCount(int count);
> >
> > This error occurred in the file javassist.compiler.CompileError:
> missing
> > member name
> > This error occurred in the file ShowAll.html on line 7
> >
> > Tapestry error message: Unable to parse OGNL expression 'count > 0':
> > Error compiling expression on object
> > $ShowAll_179@69ba7b9d[BuilderAccount/$ShowAll] with expression node
> > count > 0 getter body: null setter body: null
> >
> > Nested Stack Trace:
> >
> > caused by  javassist.compiler.CompileError: missing member name
> > javassist.compiler.Parser#parsePostfix (Parser.java:1068)
> > javassist.compiler.Parser#parseUnaryExpr (Parser.java:887)
> > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > javassist.compiler.Parser#parseArgumentList (Parser.java:1329)
> > javassist.compiler.Parser#parseMethodCall (Parser.java:1177)
> > javassist.compiler.Parser#parsePostfix (Parser.java:1034)
> > javassist.compiler.Parser#parseCast (Parser.java:920)
> > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > javassist.compiler.Parser#parsePrimaryExpr (Parser.java:1243)
> > javassist.compiler.Parser#parsePostfix (Parser.java:1029)
> > javassist.compiler.Parser#parseCast (Parser.java:920)
> > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > javassist.compiler.Parser#parseCast (Parser.java:917)
> > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > javassist.compiler.Parser#parseReturn (Parser.java:506)
> > javassist.compiler.Parser#parseStatement (Parser.java:268)
> > javassist.compiler.Parser#parseBlock (Parser.java:288)
> > javassist.compiler.Parser#parseStatement (Parser.java:242)
> > javassist.compiler.Javac#compileBody (Javac.java:203)
> > javassist.CtBehavior#setBody (CtBehavior.java:341)
> > javassist.CtBehavior#setBody (CtBehavior.java:316)
> > org.apache.tapestry.enhance.ClassFabImpl#addMethod
> > (ClassFabImpl.java:272)
> >
>
org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
> > ession (HiveMindExpressionCompiler.java:221)
> > ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
> > ognl.Ognl#compileExpression (Ognl.java:123)
> > org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
> > (ExpressionCacheImpl.java:129)
> >
>
org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
> > ion (ExpressionCacheImpl.java:91)
> > $ExpressionCache_111801dfeec#getCompiledExpression
> > ($ExpressionCache_111801dfeec.java:-1)
> > org.apache.tapestry.binding.ExpressionBinding#resolveExpression
> > (ExpressionBinding.java:120)
> > org.apache.tapestry.binding.ExpressionBinding#getObject
> > (ExpressionBinding.java:111)
> > org.apache.tapestry.binding.AbstractBinding#getObject
> > (AbstractBinding.java:84)
> > org.apache.tapestry.enhance.EnhanceUtils#toInt
(EnhanceUtils.java:204)
> > $ShowAll_179#getCount ($ShowAll_179.java:-1)
> > ...
> >
> > -----Original Message-----
> > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > Sent: Friday, March 23, 2007 12:40 PM
> > To: Tapestry users
> > Subject: Re: OGNL AND errors
> >
> > This particular issue should be fixed && deployed now. Feel free to
> > report any others...It only took so long because I discovered a
> > critical section of code that hadn't had the same kind of
refactoring
> > that others had gone through recently..If similar new bugs come up
> > they should be quicker to fix now.
> >
> > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > Awesome, I really appreciate it. The simplest one is probably the
> last
> > > one. It is just a String parameter on a component.
> > >
> > > <pageTitle jwcid="@If" condition="ognl:title != null &&
> title.length()
> > >
> > > 0">
> > >         <span class="title"><title jwcid="@Insert"
> > > mode="ognl:@org.apache.tapestry.components.InsertMode@BREAK"
> > > value="ognl:title" /></span>
> > > </pageTitle>
> > >
> > > Java:
> > > @Parameter
> > > public abstract String getTitle();
> > > public abstract void setTitle(String title);
> > >
> > > -----Original Message-----
> > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > Sent: Friday, March 23, 2007 10:16 AM
> > > To: Tapestry users
> > > Subject: Re: OGNL AND errors
> > >
> > > Well I'm going in to fix one other tiny bug this morning, so I'll
> see
> > > if what you wrote is enough to re-produce it.
> > >
> > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > I tried the new version but unfortunately I'm still getting the
> same
> > > > errors.
> > > >
> > > > -----Original Message-----
> > > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > > Sent: Friday, March 23, 2007 9:45 AM
> > > > To: Tapestry users
> > > > Subject: Re: OGNL AND errors
> > > >
> > > > I think a new ognl version went out last night. I would try that
> > > first.
> > > >
> > > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > > I recently tried updating from a Tapestry 4.1.2 snapshot a
> couple
> > > > months
> > > > > old to one from 3-21. Along the way I had to incorporate the
new
> > 2.7
> > > > > OGNL snapshot from 3-18. I'm seeing multiple expressions on
each
> > > page
> > > > > that no longer work. So far they have all involved AND
> > expressions.
> > > > Here
> > > > > are some examples:
> > > > >
> > > > >
> > > > >
> > > > > info.rootCause.getMessage() != null &&
> > > > > info.rootCause.getMessage().length() > 0
> > > > >
> > > > > currentElement.message != null &&
> currentElement.message.length()
> > >
> > > 0
> > > > >
> > > > > sysMessages != null && sysMessages.size() != 0
> > > > >
> > > > > title != null && title.length() > 0
> > > > >
> > > > >
> > > > >
> > > > > Here is an example error message:
> > > > >
> > > > > Error compiling expression on object
> > > > >
> > > >
> > >
> >
>
$SystemMessageDisplay_245@750e6725[DirectorAccount/$SystemMessageDisplay
> > > > > ] with expression node (sysMessages != null) &&
> > (sysMessages.size()
> > > !=
> > > > > 0) getter body: { return ($w)
> > > > >
> > > >
> > >
> >
>
((ognl.OgnlOps.booleanValue((($SystemMessageDisplay_245)$2).getSysMessag
> > > > > es() != null) ? ognl.OgnlOps.convertValue(!ognl.OgnlOps.equal(
> > ($w)
> > > > >
> > > >
> > >
> >
>
ognl.OgnlOps.convertValue((($SystemMessageDisplay_245)$2).getSysMessages
> > > > > ().size(), java.lang.Integer.class) ,
> ognl.OgnlOps.convertValue(0,
> > > > > java.lang.Integer.class)), java.lang.Integer.class) :
> > > > > (($SystemMessageDisplay_245)$2).getSysMessages() != null));}
> > setter
> > > > > body: { _node.setValue($1, $2, $3); }
> > > > >
> > > > >
> > > > >
> > > > > Our app is now specless so any objects being accessed are
> defined
> > on
> > > > the
> > > > > Java class. I can open a case in the OGNL issue tracking
system
> > but
> > > I
> > > > > wanted to check if anyone knows what is going on first since I
> > don't
> > > > > want to have to go through and convert hundreds of expressions
> to
> > > Java
> > > > > code if I can avoid it (still haven't even gotten our Home
page
> to
> > > > come
> > > > > up yet..)
> > > > >
> > > > >
> > > > >
> > > > > Thanks,
> > > > >
> > > > > Ben
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > 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: users-unsubscribe@tapestry.apache.org
> > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > >
> > > >
> > > >
> >
---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > >
> > > >
> > >
> > >
> > > --
> > > 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: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> >
> >
> > --
> > 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: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
> --
> 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: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
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: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


RE: OGNL AND errors

Posted by Ben Dotte <bd...@widen.com>.
I upgraded javassist to 3.4.ga so it should be the same version. I just
verified that is the one on the build path too. I'm fairly certain I got
all of our dependencies up to date with the versions listed on the
Tapestry site but I'll double check that as well.

-----Original Message-----
From: Jesse Kuhnert [mailto:jkuhnert@gmail.com] 
Sent: Monday, March 26, 2007 11:12 AM
To: Tapestry users
Subject: Re: OGNL AND errors

What version of javassist are you using? In my test suite I've created
a similar count > 0 expression for every conceivable type / object
combination I can think of with no failure. ...So I'm either not
correctly re-creating the exact object structure you have or we are on
different version of javassist. ..It should be 3.4ga (something like
that)

On 3/26/07, Ben Dotte <bd...@widen.com> wrote:
> I got the latest OGNL snapshot from 3-24 but the "ognl:count > 0"
> expression still isn't working. I get a different exception however:
>
> Unable to parse OGNL expression 'count > 0': Error compiling
expression
> on object $ShowAll_179@69ba7b9d[BuilderAccount/$ShowAll] with
expression
> node count > 0 getter body: null setter body: null
>
> Nested Exception:
> caused by  javassist.compiler.NoFieldException: no such field: total
> javassist.compiler.TypeChecker#fieldAccess (TypeChecker.java:812)
> javassist.compiler.TypeChecker#atFieldRead (TypeChecker.java:770)
> javassist.compiler.TypeChecker#atMember (TypeChecker.java:920)
> javassist.compiler.JvstTypeChecker#atMember (JvstTypeChecker.java:65)
> javassist.compiler.ast.Member#accept (Member.java:38)
> javassist.compiler.JvstTypeChecker#atMethodArgs
> (JvstTypeChecker.java:220)
> javassist.compiler.TypeChecker#atMethodCallCore (TypeChecker.java:702)
> javassist.compiler.TypeChecker#atCallExpr (TypeChecker.java:681)
> javassist.compiler.JvstTypeChecker#atCallExpr
(JvstTypeChecker.java:156)
> javassist.compiler.ast.CallExpr#accept (CallExpr.java:45)
> javassist.compiler.JvstTypeChecker#atCastToWrapper
> (JvstTypeChecker.java:125)
> javassist.compiler.JvstTypeChecker#atCastExpr
(JvstTypeChecker.java:97)
> javassist.compiler.ast.CastExpr#accept (CastExpr.java:54)
> javassist.compiler.CodeGen#doTypeCheck (CodeGen.java:235)
> javassist.compiler.CodeGen#compileExpr (CodeGen.java:222)
> javassist.compiler.CodeGen#atReturnStmnt2 (CodeGen.java:591)
> javassist.compiler.JvstCodeGen#atReturnStmnt (JvstCodeGen.java:424)
> javassist.compiler.CodeGen#atStmnt (CodeGen.java:356)
> javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
> javassist.compiler.CodeGen#atStmnt (CodeGen.java:344)
> javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
> javassist.compiler.CodeGen#atMethodBody (CodeGen.java:285)
> javassist.compiler.Javac#compileBody (Javac.java:212)
> javassist.CtBehavior#setBody (CtBehavior.java:341)
> javassist.CtBehavior#setBody (CtBehavior.java:316)
> org.apache.tapestry.enhance.ClassFabImpl#addMethod
> (ClassFabImpl.java:272)
>
org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
> ession (HiveMindExpressionCompiler.java:221)
> ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
> ognl.Ognl#compileExpression (Ognl.java:123)
> org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
> (ExpressionCacheImpl.java:129)
>
org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
> ion (ExpressionCacheImpl.java:91)
> $ExpressionCache_1118ef72fb5#getCompiledExpression
> ($ExpressionCache_1118ef72fb5.java:-1)
> org.apache.tapestry.binding.ExpressionBinding#resolveExpression
> (ExpressionBinding.java:120)
> org.apache.tapestry.binding.ExpressionBinding#getObject
> (ExpressionBinding.java:111)
> org.apache.tapestry.binding.AbstractBinding#getObject
> (AbstractBinding.java:84)
> org.apache.tapestry.enhance.EnhanceUtils#toInt (EnhanceUtils.java:204)
> $ShowAll_179#getCount ($ShowAll_179.java:-1)
> ...
>
> -----Original Message-----
> From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> Sent: Friday, March 23, 2007 2:44 PM
> To: Tapestry users
> Subject: Re: OGNL AND errors
>
> Fix should be finished deploying in the next few minutes.
>
> On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > Excellent thanks, that seems to have fixed the AND issue. Here's one
> > that still isn't working:
> >
> > <anyItems jwcid="@If" condition="ognl:count > 0">
> >
> > @Parameter(required = true)
> > public abstract int getCount();
> > public abstract void setCount(int count);
> >
> > This error occurred in the file javassist.compiler.CompileError:
> missing
> > member name
> > This error occurred in the file ShowAll.html on line 7
> >
> > Tapestry error message: Unable to parse OGNL expression 'count > 0':
> > Error compiling expression on object
> > $ShowAll_179@69ba7b9d[BuilderAccount/$ShowAll] with expression node
> > count > 0 getter body: null setter body: null
> >
> > Nested Stack Trace:
> >
> > caused by  javassist.compiler.CompileError: missing member name
> > javassist.compiler.Parser#parsePostfix (Parser.java:1068)
> > javassist.compiler.Parser#parseUnaryExpr (Parser.java:887)
> > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > javassist.compiler.Parser#parseArgumentList (Parser.java:1329)
> > javassist.compiler.Parser#parseMethodCall (Parser.java:1177)
> > javassist.compiler.Parser#parsePostfix (Parser.java:1034)
> > javassist.compiler.Parser#parseCast (Parser.java:920)
> > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > javassist.compiler.Parser#parsePrimaryExpr (Parser.java:1243)
> > javassist.compiler.Parser#parsePostfix (Parser.java:1029)
> > javassist.compiler.Parser#parseCast (Parser.java:920)
> > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > javassist.compiler.Parser#parseCast (Parser.java:917)
> > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > javassist.compiler.Parser#parseReturn (Parser.java:506)
> > javassist.compiler.Parser#parseStatement (Parser.java:268)
> > javassist.compiler.Parser#parseBlock (Parser.java:288)
> > javassist.compiler.Parser#parseStatement (Parser.java:242)
> > javassist.compiler.Javac#compileBody (Javac.java:203)
> > javassist.CtBehavior#setBody (CtBehavior.java:341)
> > javassist.CtBehavior#setBody (CtBehavior.java:316)
> > org.apache.tapestry.enhance.ClassFabImpl#addMethod
> > (ClassFabImpl.java:272)
> >
>
org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
> > ession (HiveMindExpressionCompiler.java:221)
> > ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
> > ognl.Ognl#compileExpression (Ognl.java:123)
> > org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
> > (ExpressionCacheImpl.java:129)
> >
>
org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
> > ion (ExpressionCacheImpl.java:91)
> > $ExpressionCache_111801dfeec#getCompiledExpression
> > ($ExpressionCache_111801dfeec.java:-1)
> > org.apache.tapestry.binding.ExpressionBinding#resolveExpression
> > (ExpressionBinding.java:120)
> > org.apache.tapestry.binding.ExpressionBinding#getObject
> > (ExpressionBinding.java:111)
> > org.apache.tapestry.binding.AbstractBinding#getObject
> > (AbstractBinding.java:84)
> > org.apache.tapestry.enhance.EnhanceUtils#toInt
(EnhanceUtils.java:204)
> > $ShowAll_179#getCount ($ShowAll_179.java:-1)
> > ...
> >
> > -----Original Message-----
> > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > Sent: Friday, March 23, 2007 12:40 PM
> > To: Tapestry users
> > Subject: Re: OGNL AND errors
> >
> > This particular issue should be fixed && deployed now. Feel free to
> > report any others...It only took so long because I discovered a
> > critical section of code that hadn't had the same kind of
refactoring
> > that others had gone through recently..If similar new bugs come up
> > they should be quicker to fix now.
> >
> > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > Awesome, I really appreciate it. The simplest one is probably the
> last
> > > one. It is just a String parameter on a component.
> > >
> > > <pageTitle jwcid="@If" condition="ognl:title != null &&
> title.length()
> > >
> > > 0">
> > >         <span class="title"><title jwcid="@Insert"
> > > mode="ognl:@org.apache.tapestry.components.InsertMode@BREAK"
> > > value="ognl:title" /></span>
> > > </pageTitle>
> > >
> > > Java:
> > > @Parameter
> > > public abstract String getTitle();
> > > public abstract void setTitle(String title);
> > >
> > > -----Original Message-----
> > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > Sent: Friday, March 23, 2007 10:16 AM
> > > To: Tapestry users
> > > Subject: Re: OGNL AND errors
> > >
> > > Well I'm going in to fix one other tiny bug this morning, so I'll
> see
> > > if what you wrote is enough to re-produce it.
> > >
> > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > I tried the new version but unfortunately I'm still getting the
> same
> > > > errors.
> > > >
> > > > -----Original Message-----
> > > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > > Sent: Friday, March 23, 2007 9:45 AM
> > > > To: Tapestry users
> > > > Subject: Re: OGNL AND errors
> > > >
> > > > I think a new ognl version went out last night. I would try that
> > > first.
> > > >
> > > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > > I recently tried updating from a Tapestry 4.1.2 snapshot a
> couple
> > > > months
> > > > > old to one from 3-21. Along the way I had to incorporate the
new
> > 2.7
> > > > > OGNL snapshot from 3-18. I'm seeing multiple expressions on
each
> > > page
> > > > > that no longer work. So far they have all involved AND
> > expressions.
> > > > Here
> > > > > are some examples:
> > > > >
> > > > >
> > > > >
> > > > > info.rootCause.getMessage() != null &&
> > > > > info.rootCause.getMessage().length() > 0
> > > > >
> > > > > currentElement.message != null &&
> currentElement.message.length()
> > >
> > > 0
> > > > >
> > > > > sysMessages != null && sysMessages.size() != 0
> > > > >
> > > > > title != null && title.length() > 0
> > > > >
> > > > >
> > > > >
> > > > > Here is an example error message:
> > > > >
> > > > > Error compiling expression on object
> > > > >
> > > >
> > >
> >
>
$SystemMessageDisplay_245@750e6725[DirectorAccount/$SystemMessageDisplay
> > > > > ] with expression node (sysMessages != null) &&
> > (sysMessages.size()
> > > !=
> > > > > 0) getter body: { return ($w)
> > > > >
> > > >
> > >
> >
>
((ognl.OgnlOps.booleanValue((($SystemMessageDisplay_245)$2).getSysMessag
> > > > > es() != null) ? ognl.OgnlOps.convertValue(!ognl.OgnlOps.equal(
> > ($w)
> > > > >
> > > >
> > >
> >
>
ognl.OgnlOps.convertValue((($SystemMessageDisplay_245)$2).getSysMessages
> > > > > ().size(), java.lang.Integer.class) ,
> ognl.OgnlOps.convertValue(0,
> > > > > java.lang.Integer.class)), java.lang.Integer.class) :
> > > > > (($SystemMessageDisplay_245)$2).getSysMessages() != null));}
> > setter
> > > > > body: { _node.setValue($1, $2, $3); }
> > > > >
> > > > >
> > > > >
> > > > > Our app is now specless so any objects being accessed are
> defined
> > on
> > > > the
> > > > > Java class. I can open a case in the OGNL issue tracking
system
> > but
> > > I
> > > > > wanted to check if anyone knows what is going on first since I
> > don't
> > > > > want to have to go through and convert hundreds of expressions
> to
> > > Java
> > > > > code if I can avoid it (still haven't even gotten our Home
page
> to
> > > > come
> > > > > up yet..)
> > > > >
> > > > >
> > > > >
> > > > > Thanks,
> > > > >
> > > > > Ben
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > 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: users-unsubscribe@tapestry.apache.org
> > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > >
> > > >
> > > >
> >
---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > >
> > > >
> > >
> > >
> > > --
> > > 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: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> >
> >
> > --
> > 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: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
> --
> 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: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
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: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: OGNL AND errors

Posted by Jesse Kuhnert <jk...@gmail.com>.
What version of javassist are you using? In my test suite I've created
a similar count > 0 expression for every conceivable type / object
combination I can think of with no failure. ...So I'm either not
correctly re-creating the exact object structure you have or we are on
different version of javassist. ..It should be 3.4ga (something like
that)

On 3/26/07, Ben Dotte <bd...@widen.com> wrote:
> I got the latest OGNL snapshot from 3-24 but the "ognl:count > 0"
> expression still isn't working. I get a different exception however:
>
> Unable to parse OGNL expression 'count > 0': Error compiling expression
> on object $ShowAll_179@69ba7b9d[BuilderAccount/$ShowAll] with expression
> node count > 0 getter body: null setter body: null
>
> Nested Exception:
> caused by  javassist.compiler.NoFieldException: no such field: total
> javassist.compiler.TypeChecker#fieldAccess (TypeChecker.java:812)
> javassist.compiler.TypeChecker#atFieldRead (TypeChecker.java:770)
> javassist.compiler.TypeChecker#atMember (TypeChecker.java:920)
> javassist.compiler.JvstTypeChecker#atMember (JvstTypeChecker.java:65)
> javassist.compiler.ast.Member#accept (Member.java:38)
> javassist.compiler.JvstTypeChecker#atMethodArgs
> (JvstTypeChecker.java:220)
> javassist.compiler.TypeChecker#atMethodCallCore (TypeChecker.java:702)
> javassist.compiler.TypeChecker#atCallExpr (TypeChecker.java:681)
> javassist.compiler.JvstTypeChecker#atCallExpr (JvstTypeChecker.java:156)
> javassist.compiler.ast.CallExpr#accept (CallExpr.java:45)
> javassist.compiler.JvstTypeChecker#atCastToWrapper
> (JvstTypeChecker.java:125)
> javassist.compiler.JvstTypeChecker#atCastExpr (JvstTypeChecker.java:97)
> javassist.compiler.ast.CastExpr#accept (CastExpr.java:54)
> javassist.compiler.CodeGen#doTypeCheck (CodeGen.java:235)
> javassist.compiler.CodeGen#compileExpr (CodeGen.java:222)
> javassist.compiler.CodeGen#atReturnStmnt2 (CodeGen.java:591)
> javassist.compiler.JvstCodeGen#atReturnStmnt (JvstCodeGen.java:424)
> javassist.compiler.CodeGen#atStmnt (CodeGen.java:356)
> javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
> javassist.compiler.CodeGen#atStmnt (CodeGen.java:344)
> javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
> javassist.compiler.CodeGen#atMethodBody (CodeGen.java:285)
> javassist.compiler.Javac#compileBody (Javac.java:212)
> javassist.CtBehavior#setBody (CtBehavior.java:341)
> javassist.CtBehavior#setBody (CtBehavior.java:316)
> org.apache.tapestry.enhance.ClassFabImpl#addMethod
> (ClassFabImpl.java:272)
> org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
> ession (HiveMindExpressionCompiler.java:221)
> ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
> ognl.Ognl#compileExpression (Ognl.java:123)
> org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
> (ExpressionCacheImpl.java:129)
> org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
> ion (ExpressionCacheImpl.java:91)
> $ExpressionCache_1118ef72fb5#getCompiledExpression
> ($ExpressionCache_1118ef72fb5.java:-1)
> org.apache.tapestry.binding.ExpressionBinding#resolveExpression
> (ExpressionBinding.java:120)
> org.apache.tapestry.binding.ExpressionBinding#getObject
> (ExpressionBinding.java:111)
> org.apache.tapestry.binding.AbstractBinding#getObject
> (AbstractBinding.java:84)
> org.apache.tapestry.enhance.EnhanceUtils#toInt (EnhanceUtils.java:204)
> $ShowAll_179#getCount ($ShowAll_179.java:-1)
> ...
>
> -----Original Message-----
> From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> Sent: Friday, March 23, 2007 2:44 PM
> To: Tapestry users
> Subject: Re: OGNL AND errors
>
> Fix should be finished deploying in the next few minutes.
>
> On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > Excellent thanks, that seems to have fixed the AND issue. Here's one
> > that still isn't working:
> >
> > <anyItems jwcid="@If" condition="ognl:count > 0">
> >
> > @Parameter(required = true)
> > public abstract int getCount();
> > public abstract void setCount(int count);
> >
> > This error occurred in the file javassist.compiler.CompileError:
> missing
> > member name
> > This error occurred in the file ShowAll.html on line 7
> >
> > Tapestry error message: Unable to parse OGNL expression 'count > 0':
> > Error compiling expression on object
> > $ShowAll_179@69ba7b9d[BuilderAccount/$ShowAll] with expression node
> > count > 0 getter body: null setter body: null
> >
> > Nested Stack Trace:
> >
> > caused by  javassist.compiler.CompileError: missing member name
> > javassist.compiler.Parser#parsePostfix (Parser.java:1068)
> > javassist.compiler.Parser#parseUnaryExpr (Parser.java:887)
> > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > javassist.compiler.Parser#parseArgumentList (Parser.java:1329)
> > javassist.compiler.Parser#parseMethodCall (Parser.java:1177)
> > javassist.compiler.Parser#parsePostfix (Parser.java:1034)
> > javassist.compiler.Parser#parseCast (Parser.java:920)
> > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > javassist.compiler.Parser#parsePrimaryExpr (Parser.java:1243)
> > javassist.compiler.Parser#parsePostfix (Parser.java:1029)
> > javassist.compiler.Parser#parseCast (Parser.java:920)
> > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > javassist.compiler.Parser#parseCast (Parser.java:917)
> > javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> > javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> > javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> > javassist.compiler.Parser#parseExpression (Parser.java:698)
> > javassist.compiler.Parser#parseReturn (Parser.java:506)
> > javassist.compiler.Parser#parseStatement (Parser.java:268)
> > javassist.compiler.Parser#parseBlock (Parser.java:288)
> > javassist.compiler.Parser#parseStatement (Parser.java:242)
> > javassist.compiler.Javac#compileBody (Javac.java:203)
> > javassist.CtBehavior#setBody (CtBehavior.java:341)
> > javassist.CtBehavior#setBody (CtBehavior.java:316)
> > org.apache.tapestry.enhance.ClassFabImpl#addMethod
> > (ClassFabImpl.java:272)
> >
> org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
> > ession (HiveMindExpressionCompiler.java:221)
> > ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
> > ognl.Ognl#compileExpression (Ognl.java:123)
> > org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
> > (ExpressionCacheImpl.java:129)
> >
> org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
> > ion (ExpressionCacheImpl.java:91)
> > $ExpressionCache_111801dfeec#getCompiledExpression
> > ($ExpressionCache_111801dfeec.java:-1)
> > org.apache.tapestry.binding.ExpressionBinding#resolveExpression
> > (ExpressionBinding.java:120)
> > org.apache.tapestry.binding.ExpressionBinding#getObject
> > (ExpressionBinding.java:111)
> > org.apache.tapestry.binding.AbstractBinding#getObject
> > (AbstractBinding.java:84)
> > org.apache.tapestry.enhance.EnhanceUtils#toInt (EnhanceUtils.java:204)
> > $ShowAll_179#getCount ($ShowAll_179.java:-1)
> > ...
> >
> > -----Original Message-----
> > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > Sent: Friday, March 23, 2007 12:40 PM
> > To: Tapestry users
> > Subject: Re: OGNL AND errors
> >
> > This particular issue should be fixed && deployed now. Feel free to
> > report any others...It only took so long because I discovered a
> > critical section of code that hadn't had the same kind of refactoring
> > that others had gone through recently..If similar new bugs come up
> > they should be quicker to fix now.
> >
> > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > Awesome, I really appreciate it. The simplest one is probably the
> last
> > > one. It is just a String parameter on a component.
> > >
> > > <pageTitle jwcid="@If" condition="ognl:title != null &&
> title.length()
> > >
> > > 0">
> > >         <span class="title"><title jwcid="@Insert"
> > > mode="ognl:@org.apache.tapestry.components.InsertMode@BREAK"
> > > value="ognl:title" /></span>
> > > </pageTitle>
> > >
> > > Java:
> > > @Parameter
> > > public abstract String getTitle();
> > > public abstract void setTitle(String title);
> > >
> > > -----Original Message-----
> > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > Sent: Friday, March 23, 2007 10:16 AM
> > > To: Tapestry users
> > > Subject: Re: OGNL AND errors
> > >
> > > Well I'm going in to fix one other tiny bug this morning, so I'll
> see
> > > if what you wrote is enough to re-produce it.
> > >
> > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > I tried the new version but unfortunately I'm still getting the
> same
> > > > errors.
> > > >
> > > > -----Original Message-----
> > > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > > Sent: Friday, March 23, 2007 9:45 AM
> > > > To: Tapestry users
> > > > Subject: Re: OGNL AND errors
> > > >
> > > > I think a new ognl version went out last night. I would try that
> > > first.
> > > >
> > > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > > I recently tried updating from a Tapestry 4.1.2 snapshot a
> couple
> > > > months
> > > > > old to one from 3-21. Along the way I had to incorporate the new
> > 2.7
> > > > > OGNL snapshot from 3-18. I'm seeing multiple expressions on each
> > > page
> > > > > that no longer work. So far they have all involved AND
> > expressions.
> > > > Here
> > > > > are some examples:
> > > > >
> > > > >
> > > > >
> > > > > info.rootCause.getMessage() != null &&
> > > > > info.rootCause.getMessage().length() > 0
> > > > >
> > > > > currentElement.message != null &&
> currentElement.message.length()
> > >
> > > 0
> > > > >
> > > > > sysMessages != null && sysMessages.size() != 0
> > > > >
> > > > > title != null && title.length() > 0
> > > > >
> > > > >
> > > > >
> > > > > Here is an example error message:
> > > > >
> > > > > Error compiling expression on object
> > > > >
> > > >
> > >
> >
> $SystemMessageDisplay_245@750e6725[DirectorAccount/$SystemMessageDisplay
> > > > > ] with expression node (sysMessages != null) &&
> > (sysMessages.size()
> > > !=
> > > > > 0) getter body: { return ($w)
> > > > >
> > > >
> > >
> >
> ((ognl.OgnlOps.booleanValue((($SystemMessageDisplay_245)$2).getSysMessag
> > > > > es() != null) ? ognl.OgnlOps.convertValue(!ognl.OgnlOps.equal(
> > ($w)
> > > > >
> > > >
> > >
> >
> ognl.OgnlOps.convertValue((($SystemMessageDisplay_245)$2).getSysMessages
> > > > > ().size(), java.lang.Integer.class) ,
> ognl.OgnlOps.convertValue(0,
> > > > > java.lang.Integer.class)), java.lang.Integer.class) :
> > > > > (($SystemMessageDisplay_245)$2).getSysMessages() != null));}
> > setter
> > > > > body: { _node.setValue($1, $2, $3); }
> > > > >
> > > > >
> > > > >
> > > > > Our app is now specless so any objects being accessed are
> defined
> > on
> > > > the
> > > > > Java class. I can open a case in the OGNL issue tracking system
> > but
> > > I
> > > > > wanted to check if anyone knows what is going on first since I
> > don't
> > > > > want to have to go through and convert hundreds of expressions
> to
> > > Java
> > > > > code if I can avoid it (still haven't even gotten our Home page
> to
> > > > come
> > > > > up yet..)
> > > > >
> > > > >
> > > > >
> > > > > Thanks,
> > > > >
> > > > > Ben
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > 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: users-unsubscribe@tapestry.apache.org
> > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > >
> > > >
> > > >
> > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > >
> > > >
> > >
> > >
> > > --
> > > 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: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> >
> >
> > --
> > 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: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
> --
> 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: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
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: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


RE: OGNL AND errors

Posted by Ben Dotte <bd...@widen.com>.
I got the latest OGNL snapshot from 3-24 but the "ognl:count > 0"
expression still isn't working. I get a different exception however:

Unable to parse OGNL expression 'count > 0': Error compiling expression
on object $ShowAll_179@69ba7b9d[BuilderAccount/$ShowAll] with expression
node count > 0 getter body: null setter body: null

Nested Exception:
caused by  javassist.compiler.NoFieldException: no such field: total
javassist.compiler.TypeChecker#fieldAccess (TypeChecker.java:812)
javassist.compiler.TypeChecker#atFieldRead (TypeChecker.java:770)
javassist.compiler.TypeChecker#atMember (TypeChecker.java:920)
javassist.compiler.JvstTypeChecker#atMember (JvstTypeChecker.java:65)
javassist.compiler.ast.Member#accept (Member.java:38)
javassist.compiler.JvstTypeChecker#atMethodArgs
(JvstTypeChecker.java:220)
javassist.compiler.TypeChecker#atMethodCallCore (TypeChecker.java:702)
javassist.compiler.TypeChecker#atCallExpr (TypeChecker.java:681)
javassist.compiler.JvstTypeChecker#atCallExpr (JvstTypeChecker.java:156)
javassist.compiler.ast.CallExpr#accept (CallExpr.java:45)
javassist.compiler.JvstTypeChecker#atCastToWrapper
(JvstTypeChecker.java:125)
javassist.compiler.JvstTypeChecker#atCastExpr (JvstTypeChecker.java:97)
javassist.compiler.ast.CastExpr#accept (CastExpr.java:54)
javassist.compiler.CodeGen#doTypeCheck (CodeGen.java:235)
javassist.compiler.CodeGen#compileExpr (CodeGen.java:222)
javassist.compiler.CodeGen#atReturnStmnt2 (CodeGen.java:591)
javassist.compiler.JvstCodeGen#atReturnStmnt (JvstCodeGen.java:424)
javassist.compiler.CodeGen#atStmnt (CodeGen.java:356)
javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
javassist.compiler.CodeGen#atStmnt (CodeGen.java:344)
javassist.compiler.ast.Stmnt#accept (Stmnt.java:49)
javassist.compiler.CodeGen#atMethodBody (CodeGen.java:285)
javassist.compiler.Javac#compileBody (Javac.java:212)
javassist.CtBehavior#setBody (CtBehavior.java:341)
javassist.CtBehavior#setBody (CtBehavior.java:316)
org.apache.tapestry.enhance.ClassFabImpl#addMethod
(ClassFabImpl.java:272)
org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
ession (HiveMindExpressionCompiler.java:221)
ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
ognl.Ognl#compileExpression (Ognl.java:123)
org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
(ExpressionCacheImpl.java:129)
org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
ion (ExpressionCacheImpl.java:91)
$ExpressionCache_1118ef72fb5#getCompiledExpression
($ExpressionCache_1118ef72fb5.java:-1)
org.apache.tapestry.binding.ExpressionBinding#resolveExpression
(ExpressionBinding.java:120)
org.apache.tapestry.binding.ExpressionBinding#getObject
(ExpressionBinding.java:111)
org.apache.tapestry.binding.AbstractBinding#getObject
(AbstractBinding.java:84)
org.apache.tapestry.enhance.EnhanceUtils#toInt (EnhanceUtils.java:204)
$ShowAll_179#getCount ($ShowAll_179.java:-1)
...

-----Original Message-----
From: Jesse Kuhnert [mailto:jkuhnert@gmail.com] 
Sent: Friday, March 23, 2007 2:44 PM
To: Tapestry users
Subject: Re: OGNL AND errors

Fix should be finished deploying in the next few minutes.

On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> Excellent thanks, that seems to have fixed the AND issue. Here's one
> that still isn't working:
>
> <anyItems jwcid="@If" condition="ognl:count > 0">
>
> @Parameter(required = true)
> public abstract int getCount();
> public abstract void setCount(int count);
>
> This error occurred in the file javassist.compiler.CompileError:
missing
> member name
> This error occurred in the file ShowAll.html on line 7
>
> Tapestry error message: Unable to parse OGNL expression 'count > 0':
> Error compiling expression on object
> $ShowAll_179@69ba7b9d[BuilderAccount/$ShowAll] with expression node
> count > 0 getter body: null setter body: null
>
> Nested Stack Trace:
>
> caused by  javassist.compiler.CompileError: missing member name
> javassist.compiler.Parser#parsePostfix (Parser.java:1068)
> javassist.compiler.Parser#parseUnaryExpr (Parser.java:887)
> javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> javassist.compiler.Parser#parseExpression (Parser.java:698)
> javassist.compiler.Parser#parseArgumentList (Parser.java:1329)
> javassist.compiler.Parser#parseMethodCall (Parser.java:1177)
> javassist.compiler.Parser#parsePostfix (Parser.java:1034)
> javassist.compiler.Parser#parseCast (Parser.java:920)
> javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> javassist.compiler.Parser#parseExpression (Parser.java:698)
> javassist.compiler.Parser#parsePrimaryExpr (Parser.java:1243)
> javassist.compiler.Parser#parsePostfix (Parser.java:1029)
> javassist.compiler.Parser#parseCast (Parser.java:920)
> javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> javassist.compiler.Parser#parseCast (Parser.java:917)
> javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> javassist.compiler.Parser#parseExpression (Parser.java:698)
> javassist.compiler.Parser#parseReturn (Parser.java:506)
> javassist.compiler.Parser#parseStatement (Parser.java:268)
> javassist.compiler.Parser#parseBlock (Parser.java:288)
> javassist.compiler.Parser#parseStatement (Parser.java:242)
> javassist.compiler.Javac#compileBody (Javac.java:203)
> javassist.CtBehavior#setBody (CtBehavior.java:341)
> javassist.CtBehavior#setBody (CtBehavior.java:316)
> org.apache.tapestry.enhance.ClassFabImpl#addMethod
> (ClassFabImpl.java:272)
>
org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
> ession (HiveMindExpressionCompiler.java:221)
> ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
> ognl.Ognl#compileExpression (Ognl.java:123)
> org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
> (ExpressionCacheImpl.java:129)
>
org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
> ion (ExpressionCacheImpl.java:91)
> $ExpressionCache_111801dfeec#getCompiledExpression
> ($ExpressionCache_111801dfeec.java:-1)
> org.apache.tapestry.binding.ExpressionBinding#resolveExpression
> (ExpressionBinding.java:120)
> org.apache.tapestry.binding.ExpressionBinding#getObject
> (ExpressionBinding.java:111)
> org.apache.tapestry.binding.AbstractBinding#getObject
> (AbstractBinding.java:84)
> org.apache.tapestry.enhance.EnhanceUtils#toInt (EnhanceUtils.java:204)
> $ShowAll_179#getCount ($ShowAll_179.java:-1)
> ...
>
> -----Original Message-----
> From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> Sent: Friday, March 23, 2007 12:40 PM
> To: Tapestry users
> Subject: Re: OGNL AND errors
>
> This particular issue should be fixed && deployed now. Feel free to
> report any others...It only took so long because I discovered a
> critical section of code that hadn't had the same kind of refactoring
> that others had gone through recently..If similar new bugs come up
> they should be quicker to fix now.
>
> On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > Awesome, I really appreciate it. The simplest one is probably the
last
> > one. It is just a String parameter on a component.
> >
> > <pageTitle jwcid="@If" condition="ognl:title != null &&
title.length()
> >
> > 0">
> >         <span class="title"><title jwcid="@Insert"
> > mode="ognl:@org.apache.tapestry.components.InsertMode@BREAK"
> > value="ognl:title" /></span>
> > </pageTitle>
> >
> > Java:
> > @Parameter
> > public abstract String getTitle();
> > public abstract void setTitle(String title);
> >
> > -----Original Message-----
> > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > Sent: Friday, March 23, 2007 10:16 AM
> > To: Tapestry users
> > Subject: Re: OGNL AND errors
> >
> > Well I'm going in to fix one other tiny bug this morning, so I'll
see
> > if what you wrote is enough to re-produce it.
> >
> > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > I tried the new version but unfortunately I'm still getting the
same
> > > errors.
> > >
> > > -----Original Message-----
> > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > Sent: Friday, March 23, 2007 9:45 AM
> > > To: Tapestry users
> > > Subject: Re: OGNL AND errors
> > >
> > > I think a new ognl version went out last night. I would try that
> > first.
> > >
> > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > I recently tried updating from a Tapestry 4.1.2 snapshot a
couple
> > > months
> > > > old to one from 3-21. Along the way I had to incorporate the new
> 2.7
> > > > OGNL snapshot from 3-18. I'm seeing multiple expressions on each
> > page
> > > > that no longer work. So far they have all involved AND
> expressions.
> > > Here
> > > > are some examples:
> > > >
> > > >
> > > >
> > > > info.rootCause.getMessage() != null &&
> > > > info.rootCause.getMessage().length() > 0
> > > >
> > > > currentElement.message != null &&
currentElement.message.length()
> >
> > 0
> > > >
> > > > sysMessages != null && sysMessages.size() != 0
> > > >
> > > > title != null && title.length() > 0
> > > >
> > > >
> > > >
> > > > Here is an example error message:
> > > >
> > > > Error compiling expression on object
> > > >
> > >
> >
>
$SystemMessageDisplay_245@750e6725[DirectorAccount/$SystemMessageDisplay
> > > > ] with expression node (sysMessages != null) &&
> (sysMessages.size()
> > !=
> > > > 0) getter body: { return ($w)
> > > >
> > >
> >
>
((ognl.OgnlOps.booleanValue((($SystemMessageDisplay_245)$2).getSysMessag
> > > > es() != null) ? ognl.OgnlOps.convertValue(!ognl.OgnlOps.equal(
> ($w)
> > > >
> > >
> >
>
ognl.OgnlOps.convertValue((($SystemMessageDisplay_245)$2).getSysMessages
> > > > ().size(), java.lang.Integer.class) ,
ognl.OgnlOps.convertValue(0,
> > > > java.lang.Integer.class)), java.lang.Integer.class) :
> > > > (($SystemMessageDisplay_245)$2).getSysMessages() != null));}
> setter
> > > > body: { _node.setValue($1, $2, $3); }
> > > >
> > > >
> > > >
> > > > Our app is now specless so any objects being accessed are
defined
> on
> > > the
> > > > Java class. I can open a case in the OGNL issue tracking system
> but
> > I
> > > > wanted to check if anyone knows what is going on first since I
> don't
> > > > want to have to go through and convert hundreds of expressions
to
> > Java
> > > > code if I can avoid it (still haven't even gotten our Home page
to
> > > come
> > > > up yet..)
> > > >
> > > >
> > > >
> > > > Thanks,
> > > >
> > > > Ben
> > > >
> > > >
> > >
> > >
> > > --
> > > 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: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> >
> >
> > --
> > 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: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
> --
> 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: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
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: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


RE: OGNL AND errors

Posted by Ben Dotte <bd...@widen.com>.
Thanks for the (very) quick turnaround! I will verify the fix and see
what else might not be working early next week. For now I have a live
site issue that needs my attention :/

Ben

-----Original Message-----
From: Jesse Kuhnert [mailto:jkuhnert@gmail.com] 
Sent: Friday, March 23, 2007 2:44 PM
To: Tapestry users
Subject: Re: OGNL AND errors

Fix should be finished deploying in the next few minutes.

On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> Excellent thanks, that seems to have fixed the AND issue. Here's one
> that still isn't working:
>
> <anyItems jwcid="@If" condition="ognl:count > 0">
>
> @Parameter(required = true)
> public abstract int getCount();
> public abstract void setCount(int count);
>
> This error occurred in the file javassist.compiler.CompileError:
missing
> member name
> This error occurred in the file ShowAll.html on line 7
>
> Tapestry error message: Unable to parse OGNL expression 'count > 0':
> Error compiling expression on object
> $ShowAll_179@69ba7b9d[BuilderAccount/$ShowAll] with expression node
> count > 0 getter body: null setter body: null
>
> Nested Stack Trace:
>
> caused by  javassist.compiler.CompileError: missing member name
> javassist.compiler.Parser#parsePostfix (Parser.java:1068)
> javassist.compiler.Parser#parseUnaryExpr (Parser.java:887)
> javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> javassist.compiler.Parser#parseExpression (Parser.java:698)
> javassist.compiler.Parser#parseArgumentList (Parser.java:1329)
> javassist.compiler.Parser#parseMethodCall (Parser.java:1177)
> javassist.compiler.Parser#parsePostfix (Parser.java:1034)
> javassist.compiler.Parser#parseCast (Parser.java:920)
> javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> javassist.compiler.Parser#parseExpression (Parser.java:698)
> javassist.compiler.Parser#parsePrimaryExpr (Parser.java:1243)
> javassist.compiler.Parser#parsePostfix (Parser.java:1029)
> javassist.compiler.Parser#parseCast (Parser.java:920)
> javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> javassist.compiler.Parser#parseCast (Parser.java:917)
> javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> javassist.compiler.Parser#parseExpression (Parser.java:698)
> javassist.compiler.Parser#parseReturn (Parser.java:506)
> javassist.compiler.Parser#parseStatement (Parser.java:268)
> javassist.compiler.Parser#parseBlock (Parser.java:288)
> javassist.compiler.Parser#parseStatement (Parser.java:242)
> javassist.compiler.Javac#compileBody (Javac.java:203)
> javassist.CtBehavior#setBody (CtBehavior.java:341)
> javassist.CtBehavior#setBody (CtBehavior.java:316)
> org.apache.tapestry.enhance.ClassFabImpl#addMethod
> (ClassFabImpl.java:272)
>
org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
> ession (HiveMindExpressionCompiler.java:221)
> ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
> ognl.Ognl#compileExpression (Ognl.java:123)
> org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
> (ExpressionCacheImpl.java:129)
>
org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
> ion (ExpressionCacheImpl.java:91)
> $ExpressionCache_111801dfeec#getCompiledExpression
> ($ExpressionCache_111801dfeec.java:-1)
> org.apache.tapestry.binding.ExpressionBinding#resolveExpression
> (ExpressionBinding.java:120)
> org.apache.tapestry.binding.ExpressionBinding#getObject
> (ExpressionBinding.java:111)
> org.apache.tapestry.binding.AbstractBinding#getObject
> (AbstractBinding.java:84)
> org.apache.tapestry.enhance.EnhanceUtils#toInt (EnhanceUtils.java:204)
> $ShowAll_179#getCount ($ShowAll_179.java:-1)
> ...
>
> -----Original Message-----
> From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> Sent: Friday, March 23, 2007 12:40 PM
> To: Tapestry users
> Subject: Re: OGNL AND errors
>
> This particular issue should be fixed && deployed now. Feel free to
> report any others...It only took so long because I discovered a
> critical section of code that hadn't had the same kind of refactoring
> that others had gone through recently..If similar new bugs come up
> they should be quicker to fix now.
>
> On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > Awesome, I really appreciate it. The simplest one is probably the
last
> > one. It is just a String parameter on a component.
> >
> > <pageTitle jwcid="@If" condition="ognl:title != null &&
title.length()
> >
> > 0">
> >         <span class="title"><title jwcid="@Insert"
> > mode="ognl:@org.apache.tapestry.components.InsertMode@BREAK"
> > value="ognl:title" /></span>
> > </pageTitle>
> >
> > Java:
> > @Parameter
> > public abstract String getTitle();
> > public abstract void setTitle(String title);
> >
> > -----Original Message-----
> > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > Sent: Friday, March 23, 2007 10:16 AM
> > To: Tapestry users
> > Subject: Re: OGNL AND errors
> >
> > Well I'm going in to fix one other tiny bug this morning, so I'll
see
> > if what you wrote is enough to re-produce it.
> >
> > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > I tried the new version but unfortunately I'm still getting the
same
> > > errors.
> > >
> > > -----Original Message-----
> > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > Sent: Friday, March 23, 2007 9:45 AM
> > > To: Tapestry users
> > > Subject: Re: OGNL AND errors
> > >
> > > I think a new ognl version went out last night. I would try that
> > first.
> > >
> > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > I recently tried updating from a Tapestry 4.1.2 snapshot a
couple
> > > months
> > > > old to one from 3-21. Along the way I had to incorporate the new
> 2.7
> > > > OGNL snapshot from 3-18. I'm seeing multiple expressions on each
> > page
> > > > that no longer work. So far they have all involved AND
> expressions.
> > > Here
> > > > are some examples:
> > > >
> > > >
> > > >
> > > > info.rootCause.getMessage() != null &&
> > > > info.rootCause.getMessage().length() > 0
> > > >
> > > > currentElement.message != null &&
currentElement.message.length()
> >
> > 0
> > > >
> > > > sysMessages != null && sysMessages.size() != 0
> > > >
> > > > title != null && title.length() > 0
> > > >
> > > >
> > > >
> > > > Here is an example error message:
> > > >
> > > > Error compiling expression on object
> > > >
> > >
> >
>
$SystemMessageDisplay_245@750e6725[DirectorAccount/$SystemMessageDisplay
> > > > ] with expression node (sysMessages != null) &&
> (sysMessages.size()
> > !=
> > > > 0) getter body: { return ($w)
> > > >
> > >
> >
>
((ognl.OgnlOps.booleanValue((($SystemMessageDisplay_245)$2).getSysMessag
> > > > es() != null) ? ognl.OgnlOps.convertValue(!ognl.OgnlOps.equal(
> ($w)
> > > >
> > >
> >
>
ognl.OgnlOps.convertValue((($SystemMessageDisplay_245)$2).getSysMessages
> > > > ().size(), java.lang.Integer.class) ,
ognl.OgnlOps.convertValue(0,
> > > > java.lang.Integer.class)), java.lang.Integer.class) :
> > > > (($SystemMessageDisplay_245)$2).getSysMessages() != null));}
> setter
> > > > body: { _node.setValue($1, $2, $3); }
> > > >
> > > >
> > > >
> > > > Our app is now specless so any objects being accessed are
defined
> on
> > > the
> > > > Java class. I can open a case in the OGNL issue tracking system
> but
> > I
> > > > wanted to check if anyone knows what is going on first since I
> don't
> > > > want to have to go through and convert hundreds of expressions
to
> > Java
> > > > code if I can avoid it (still haven't even gotten our Home page
to
> > > come
> > > > up yet..)
> > > >
> > > >
> > > >
> > > > Thanks,
> > > >
> > > > Ben
> > > >
> > > >
> > >
> > >
> > > --
> > > 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: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> >
> >
> > --
> > 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: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
> --
> 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: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
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: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: OGNL AND errors

Posted by Jesse Kuhnert <jk...@gmail.com>.
Fix should be finished deploying in the next few minutes.

On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> Excellent thanks, that seems to have fixed the AND issue. Here's one
> that still isn't working:
>
> <anyItems jwcid="@If" condition="ognl:count > 0">
>
> @Parameter(required = true)
> public abstract int getCount();
> public abstract void setCount(int count);
>
> This error occurred in the file javassist.compiler.CompileError: missing
> member name
> This error occurred in the file ShowAll.html on line 7
>
> Tapestry error message: Unable to parse OGNL expression 'count > 0':
> Error compiling expression on object
> $ShowAll_179@69ba7b9d[BuilderAccount/$ShowAll] with expression node
> count > 0 getter body: null setter body: null
>
> Nested Stack Trace:
>
> caused by  javassist.compiler.CompileError: missing member name
> javassist.compiler.Parser#parsePostfix (Parser.java:1068)
> javassist.compiler.Parser#parseUnaryExpr (Parser.java:887)
> javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> javassist.compiler.Parser#parseExpression (Parser.java:698)
> javassist.compiler.Parser#parseArgumentList (Parser.java:1329)
> javassist.compiler.Parser#parseMethodCall (Parser.java:1177)
> javassist.compiler.Parser#parsePostfix (Parser.java:1034)
> javassist.compiler.Parser#parseCast (Parser.java:920)
> javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> javassist.compiler.Parser#parseExpression (Parser.java:698)
> javassist.compiler.Parser#parsePrimaryExpr (Parser.java:1243)
> javassist.compiler.Parser#parsePostfix (Parser.java:1029)
> javassist.compiler.Parser#parseCast (Parser.java:920)
> javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> javassist.compiler.Parser#parseCast (Parser.java:917)
> javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
> javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
> javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
> javassist.compiler.Parser#parseExpression (Parser.java:698)
> javassist.compiler.Parser#parseReturn (Parser.java:506)
> javassist.compiler.Parser#parseStatement (Parser.java:268)
> javassist.compiler.Parser#parseBlock (Parser.java:288)
> javassist.compiler.Parser#parseStatement (Parser.java:242)
> javassist.compiler.Javac#compileBody (Javac.java:203)
> javassist.CtBehavior#setBody (CtBehavior.java:341)
> javassist.CtBehavior#setBody (CtBehavior.java:316)
> org.apache.tapestry.enhance.ClassFabImpl#addMethod
> (ClassFabImpl.java:272)
> org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
> ession (HiveMindExpressionCompiler.java:221)
> ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
> ognl.Ognl#compileExpression (Ognl.java:123)
> org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
> (ExpressionCacheImpl.java:129)
> org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
> ion (ExpressionCacheImpl.java:91)
> $ExpressionCache_111801dfeec#getCompiledExpression
> ($ExpressionCache_111801dfeec.java:-1)
> org.apache.tapestry.binding.ExpressionBinding#resolveExpression
> (ExpressionBinding.java:120)
> org.apache.tapestry.binding.ExpressionBinding#getObject
> (ExpressionBinding.java:111)
> org.apache.tapestry.binding.AbstractBinding#getObject
> (AbstractBinding.java:84)
> org.apache.tapestry.enhance.EnhanceUtils#toInt (EnhanceUtils.java:204)
> $ShowAll_179#getCount ($ShowAll_179.java:-1)
> ...
>
> -----Original Message-----
> From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> Sent: Friday, March 23, 2007 12:40 PM
> To: Tapestry users
> Subject: Re: OGNL AND errors
>
> This particular issue should be fixed && deployed now. Feel free to
> report any others...It only took so long because I discovered a
> critical section of code that hadn't had the same kind of refactoring
> that others had gone through recently..If similar new bugs come up
> they should be quicker to fix now.
>
> On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > Awesome, I really appreciate it. The simplest one is probably the last
> > one. It is just a String parameter on a component.
> >
> > <pageTitle jwcid="@If" condition="ognl:title != null && title.length()
> >
> > 0">
> >         <span class="title"><title jwcid="@Insert"
> > mode="ognl:@org.apache.tapestry.components.InsertMode@BREAK"
> > value="ognl:title" /></span>
> > </pageTitle>
> >
> > Java:
> > @Parameter
> > public abstract String getTitle();
> > public abstract void setTitle(String title);
> >
> > -----Original Message-----
> > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > Sent: Friday, March 23, 2007 10:16 AM
> > To: Tapestry users
> > Subject: Re: OGNL AND errors
> >
> > Well I'm going in to fix one other tiny bug this morning, so I'll see
> > if what you wrote is enough to re-produce it.
> >
> > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > I tried the new version but unfortunately I'm still getting the same
> > > errors.
> > >
> > > -----Original Message-----
> > > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > > Sent: Friday, March 23, 2007 9:45 AM
> > > To: Tapestry users
> > > Subject: Re: OGNL AND errors
> > >
> > > I think a new ognl version went out last night. I would try that
> > first.
> > >
> > > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > > I recently tried updating from a Tapestry 4.1.2 snapshot a couple
> > > months
> > > > old to one from 3-21. Along the way I had to incorporate the new
> 2.7
> > > > OGNL snapshot from 3-18. I'm seeing multiple expressions on each
> > page
> > > > that no longer work. So far they have all involved AND
> expressions.
> > > Here
> > > > are some examples:
> > > >
> > > >
> > > >
> > > > info.rootCause.getMessage() != null &&
> > > > info.rootCause.getMessage().length() > 0
> > > >
> > > > currentElement.message != null && currentElement.message.length()
> >
> > 0
> > > >
> > > > sysMessages != null && sysMessages.size() != 0
> > > >
> > > > title != null && title.length() > 0
> > > >
> > > >
> > > >
> > > > Here is an example error message:
> > > >
> > > > Error compiling expression on object
> > > >
> > >
> >
> $SystemMessageDisplay_245@750e6725[DirectorAccount/$SystemMessageDisplay
> > > > ] with expression node (sysMessages != null) &&
> (sysMessages.size()
> > !=
> > > > 0) getter body: { return ($w)
> > > >
> > >
> >
> ((ognl.OgnlOps.booleanValue((($SystemMessageDisplay_245)$2).getSysMessag
> > > > es() != null) ? ognl.OgnlOps.convertValue(!ognl.OgnlOps.equal(
> ($w)
> > > >
> > >
> >
> ognl.OgnlOps.convertValue((($SystemMessageDisplay_245)$2).getSysMessages
> > > > ().size(), java.lang.Integer.class) , ognl.OgnlOps.convertValue(0,
> > > > java.lang.Integer.class)), java.lang.Integer.class) :
> > > > (($SystemMessageDisplay_245)$2).getSysMessages() != null));}
> setter
> > > > body: { _node.setValue($1, $2, $3); }
> > > >
> > > >
> > > >
> > > > Our app is now specless so any objects being accessed are defined
> on
> > > the
> > > > Java class. I can open a case in the OGNL issue tracking system
> but
> > I
> > > > wanted to check if anyone knows what is going on first since I
> don't
> > > > want to have to go through and convert hundreds of expressions to
> > Java
> > > > code if I can avoid it (still haven't even gotten our Home page to
> > > come
> > > > up yet..)
> > > >
> > > >
> > > >
> > > > Thanks,
> > > >
> > > > Ben
> > > >
> > > >
> > >
> > >
> > > --
> > > 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: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> >
> >
> > --
> > 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: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
> --
> 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: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
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: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


RE: OGNL AND errors

Posted by Ben Dotte <bd...@widen.com>.
Excellent thanks, that seems to have fixed the AND issue. Here's one
that still isn't working:

<anyItems jwcid="@If" condition="ognl:count > 0">

@Parameter(required = true)
public abstract int getCount();
public abstract void setCount(int count);

This error occurred in the file javassist.compiler.CompileError: missing
member name
This error occurred in the file ShowAll.html on line 7

Tapestry error message: Unable to parse OGNL expression 'count > 0':
Error compiling expression on object
$ShowAll_179@69ba7b9d[BuilderAccount/$ShowAll] with expression node
count > 0 getter body: null setter body: null

Nested Stack Trace:

caused by  javassist.compiler.CompileError: missing member name
javassist.compiler.Parser#parsePostfix (Parser.java:1068)
javassist.compiler.Parser#parseUnaryExpr (Parser.java:887)
javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
javassist.compiler.Parser#parseExpression (Parser.java:698)
javassist.compiler.Parser#parseArgumentList (Parser.java:1329)
javassist.compiler.Parser#parseMethodCall (Parser.java:1177)
javassist.compiler.Parser#parsePostfix (Parser.java:1034)
javassist.compiler.Parser#parseCast (Parser.java:920)
javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
javassist.compiler.Parser#parseExpression (Parser.java:698)
javassist.compiler.Parser#parsePrimaryExpr (Parser.java:1243)
javassist.compiler.Parser#parsePostfix (Parser.java:1029)
javassist.compiler.Parser#parseCast (Parser.java:920)
javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
javassist.compiler.Parser#parseCast (Parser.java:917)
javassist.compiler.Parser#parseUnaryExpr (Parser.java:885)
javassist.compiler.Parser#parseBinaryExpr (Parser.java:774)
javassist.compiler.Parser#parseConditionalExpr (Parser.java:718)
javassist.compiler.Parser#parseExpression (Parser.java:698)
javassist.compiler.Parser#parseReturn (Parser.java:506)
javassist.compiler.Parser#parseStatement (Parser.java:268)
javassist.compiler.Parser#parseBlock (Parser.java:288)
javassist.compiler.Parser#parseStatement (Parser.java:242)
javassist.compiler.Javac#compileBody (Javac.java:203)
javassist.CtBehavior#setBody (CtBehavior.java:341)
javassist.CtBehavior#setBody (CtBehavior.java:316)
org.apache.tapestry.enhance.ClassFabImpl#addMethod
(ClassFabImpl.java:272)
org.apache.tapestry.services.impl.HiveMindExpressionCompiler#compileExpr
ession (HiveMindExpressionCompiler.java:221)
ognl.OgnlRuntime#compileExpression (OgnlRuntime.java:388)
ognl.Ognl#compileExpression (Ognl.java:123)
org.apache.tapestry.services.impl.ExpressionCacheImpl#parse
(ExpressionCacheImpl.java:129)
org.apache.tapestry.services.impl.ExpressionCacheImpl#getCompiledExpress
ion (ExpressionCacheImpl.java:91)
$ExpressionCache_111801dfeec#getCompiledExpression
($ExpressionCache_111801dfeec.java:-1)
org.apache.tapestry.binding.ExpressionBinding#resolveExpression
(ExpressionBinding.java:120)
org.apache.tapestry.binding.ExpressionBinding#getObject
(ExpressionBinding.java:111)
org.apache.tapestry.binding.AbstractBinding#getObject
(AbstractBinding.java:84)
org.apache.tapestry.enhance.EnhanceUtils#toInt (EnhanceUtils.java:204)
$ShowAll_179#getCount ($ShowAll_179.java:-1)
...

-----Original Message-----
From: Jesse Kuhnert [mailto:jkuhnert@gmail.com] 
Sent: Friday, March 23, 2007 12:40 PM
To: Tapestry users
Subject: Re: OGNL AND errors

This particular issue should be fixed && deployed now. Feel free to
report any others...It only took so long because I discovered a
critical section of code that hadn't had the same kind of refactoring
that others had gone through recently..If similar new bugs come up
they should be quicker to fix now.

On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> Awesome, I really appreciate it. The simplest one is probably the last
> one. It is just a String parameter on a component.
>
> <pageTitle jwcid="@If" condition="ognl:title != null && title.length()
>
> 0">
>         <span class="title"><title jwcid="@Insert"
> mode="ognl:@org.apache.tapestry.components.InsertMode@BREAK"
> value="ognl:title" /></span>
> </pageTitle>
>
> Java:
> @Parameter
> public abstract String getTitle();
> public abstract void setTitle(String title);
>
> -----Original Message-----
> From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> Sent: Friday, March 23, 2007 10:16 AM
> To: Tapestry users
> Subject: Re: OGNL AND errors
>
> Well I'm going in to fix one other tiny bug this morning, so I'll see
> if what you wrote is enough to re-produce it.
>
> On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > I tried the new version but unfortunately I'm still getting the same
> > errors.
> >
> > -----Original Message-----
> > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > Sent: Friday, March 23, 2007 9:45 AM
> > To: Tapestry users
> > Subject: Re: OGNL AND errors
> >
> > I think a new ognl version went out last night. I would try that
> first.
> >
> > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > I recently tried updating from a Tapestry 4.1.2 snapshot a couple
> > months
> > > old to one from 3-21. Along the way I had to incorporate the new
2.7
> > > OGNL snapshot from 3-18. I'm seeing multiple expressions on each
> page
> > > that no longer work. So far they have all involved AND
expressions.
> > Here
> > > are some examples:
> > >
> > >
> > >
> > > info.rootCause.getMessage() != null &&
> > > info.rootCause.getMessage().length() > 0
> > >
> > > currentElement.message != null && currentElement.message.length()
>
> 0
> > >
> > > sysMessages != null && sysMessages.size() != 0
> > >
> > > title != null && title.length() > 0
> > >
> > >
> > >
> > > Here is an example error message:
> > >
> > > Error compiling expression on object
> > >
> >
>
$SystemMessageDisplay_245@750e6725[DirectorAccount/$SystemMessageDisplay
> > > ] with expression node (sysMessages != null) &&
(sysMessages.size()
> !=
> > > 0) getter body: { return ($w)
> > >
> >
>
((ognl.OgnlOps.booleanValue((($SystemMessageDisplay_245)$2).getSysMessag
> > > es() != null) ? ognl.OgnlOps.convertValue(!ognl.OgnlOps.equal(
($w)
> > >
> >
>
ognl.OgnlOps.convertValue((($SystemMessageDisplay_245)$2).getSysMessages
> > > ().size(), java.lang.Integer.class) , ognl.OgnlOps.convertValue(0,
> > > java.lang.Integer.class)), java.lang.Integer.class) :
> > > (($SystemMessageDisplay_245)$2).getSysMessages() != null));}
setter
> > > body: { _node.setValue($1, $2, $3); }
> > >
> > >
> > >
> > > Our app is now specless so any objects being accessed are defined
on
> > the
> > > Java class. I can open a case in the OGNL issue tracking system
but
> I
> > > wanted to check if anyone knows what is going on first since I
don't
> > > want to have to go through and convert hundreds of expressions to
> Java
> > > code if I can avoid it (still haven't even gotten our Home page to
> > come
> > > up yet..)
> > >
> > >
> > >
> > > Thanks,
> > >
> > > Ben
> > >
> > >
> >
> >
> > --
> > 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: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
> --
> 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: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
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: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: OGNL AND errors

Posted by Jesse Kuhnert <jk...@gmail.com>.
This particular issue should be fixed && deployed now. Feel free to
report any others...It only took so long because I discovered a
critical section of code that hadn't had the same kind of refactoring
that others had gone through recently..If similar new bugs come up
they should be quicker to fix now.

On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> Awesome, I really appreciate it. The simplest one is probably the last
> one. It is just a String parameter on a component.
>
> <pageTitle jwcid="@If" condition="ognl:title != null && title.length() >
> 0">
>         <span class="title"><title jwcid="@Insert"
> mode="ognl:@org.apache.tapestry.components.InsertMode@BREAK"
> value="ognl:title" /></span>
> </pageTitle>
>
> Java:
> @Parameter
> public abstract String getTitle();
> public abstract void setTitle(String title);
>
> -----Original Message-----
> From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> Sent: Friday, March 23, 2007 10:16 AM
> To: Tapestry users
> Subject: Re: OGNL AND errors
>
> Well I'm going in to fix one other tiny bug this morning, so I'll see
> if what you wrote is enough to re-produce it.
>
> On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > I tried the new version but unfortunately I'm still getting the same
> > errors.
> >
> > -----Original Message-----
> > From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> > Sent: Friday, March 23, 2007 9:45 AM
> > To: Tapestry users
> > Subject: Re: OGNL AND errors
> >
> > I think a new ognl version went out last night. I would try that
> first.
> >
> > On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > > I recently tried updating from a Tapestry 4.1.2 snapshot a couple
> > months
> > > old to one from 3-21. Along the way I had to incorporate the new 2.7
> > > OGNL snapshot from 3-18. I'm seeing multiple expressions on each
> page
> > > that no longer work. So far they have all involved AND expressions.
> > Here
> > > are some examples:
> > >
> > >
> > >
> > > info.rootCause.getMessage() != null &&
> > > info.rootCause.getMessage().length() > 0
> > >
> > > currentElement.message != null && currentElement.message.length() >
> 0
> > >
> > > sysMessages != null && sysMessages.size() != 0
> > >
> > > title != null && title.length() > 0
> > >
> > >
> > >
> > > Here is an example error message:
> > >
> > > Error compiling expression on object
> > >
> >
> $SystemMessageDisplay_245@750e6725[DirectorAccount/$SystemMessageDisplay
> > > ] with expression node (sysMessages != null) && (sysMessages.size()
> !=
> > > 0) getter body: { return ($w)
> > >
> >
> ((ognl.OgnlOps.booleanValue((($SystemMessageDisplay_245)$2).getSysMessag
> > > es() != null) ? ognl.OgnlOps.convertValue(!ognl.OgnlOps.equal( ($w)
> > >
> >
> ognl.OgnlOps.convertValue((($SystemMessageDisplay_245)$2).getSysMessages
> > > ().size(), java.lang.Integer.class) , ognl.OgnlOps.convertValue(0,
> > > java.lang.Integer.class)), java.lang.Integer.class) :
> > > (($SystemMessageDisplay_245)$2).getSysMessages() != null));} setter
> > > body: { _node.setValue($1, $2, $3); }
> > >
> > >
> > >
> > > Our app is now specless so any objects being accessed are defined on
> > the
> > > Java class. I can open a case in the OGNL issue tracking system but
> I
> > > wanted to check if anyone knows what is going on first since I don't
> > > want to have to go through and convert hundreds of expressions to
> Java
> > > code if I can avoid it (still haven't even gotten our Home page to
> > come
> > > up yet..)
> > >
> > >
> > >
> > > Thanks,
> > >
> > > Ben
> > >
> > >
> >
> >
> > --
> > 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: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
> --
> 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: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
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: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


RE: OGNL AND errors

Posted by Ben Dotte <bd...@widen.com>.
Awesome, I really appreciate it. The simplest one is probably the last
one. It is just a String parameter on a component.

<pageTitle jwcid="@If" condition="ognl:title != null && title.length() >
0">
	<span class="title"><title jwcid="@Insert"
mode="ognl:@org.apache.tapestry.components.InsertMode@BREAK"
value="ognl:title" /></span>
</pageTitle>

Java:
@Parameter
public abstract String getTitle();
public abstract void setTitle(String title);

-----Original Message-----
From: Jesse Kuhnert [mailto:jkuhnert@gmail.com] 
Sent: Friday, March 23, 2007 10:16 AM
To: Tapestry users
Subject: Re: OGNL AND errors

Well I'm going in to fix one other tiny bug this morning, so I'll see
if what you wrote is enough to re-produce it.

On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> I tried the new version but unfortunately I'm still getting the same
> errors.
>
> -----Original Message-----
> From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> Sent: Friday, March 23, 2007 9:45 AM
> To: Tapestry users
> Subject: Re: OGNL AND errors
>
> I think a new ognl version went out last night. I would try that
first.
>
> On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > I recently tried updating from a Tapestry 4.1.2 snapshot a couple
> months
> > old to one from 3-21. Along the way I had to incorporate the new 2.7
> > OGNL snapshot from 3-18. I'm seeing multiple expressions on each
page
> > that no longer work. So far they have all involved AND expressions.
> Here
> > are some examples:
> >
> >
> >
> > info.rootCause.getMessage() != null &&
> > info.rootCause.getMessage().length() > 0
> >
> > currentElement.message != null && currentElement.message.length() >
0
> >
> > sysMessages != null && sysMessages.size() != 0
> >
> > title != null && title.length() > 0
> >
> >
> >
> > Here is an example error message:
> >
> > Error compiling expression on object
> >
>
$SystemMessageDisplay_245@750e6725[DirectorAccount/$SystemMessageDisplay
> > ] with expression node (sysMessages != null) && (sysMessages.size()
!=
> > 0) getter body: { return ($w)
> >
>
((ognl.OgnlOps.booleanValue((($SystemMessageDisplay_245)$2).getSysMessag
> > es() != null) ? ognl.OgnlOps.convertValue(!ognl.OgnlOps.equal( ($w)
> >
>
ognl.OgnlOps.convertValue((($SystemMessageDisplay_245)$2).getSysMessages
> > ().size(), java.lang.Integer.class) , ognl.OgnlOps.convertValue(0,
> > java.lang.Integer.class)), java.lang.Integer.class) :
> > (($SystemMessageDisplay_245)$2).getSysMessages() != null));} setter
> > body: { _node.setValue($1, $2, $3); }
> >
> >
> >
> > Our app is now specless so any objects being accessed are defined on
> the
> > Java class. I can open a case in the OGNL issue tracking system but
I
> > wanted to check if anyone knows what is going on first since I don't
> > want to have to go through and convert hundreds of expressions to
Java
> > code if I can avoid it (still haven't even gotten our Home page to
> come
> > up yet..)
> >
> >
> >
> > Thanks,
> >
> > Ben
> >
> >
>
>
> --
> 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: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
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: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: OGNL AND errors

Posted by Jesse Kuhnert <jk...@gmail.com>.
Well I'm going in to fix one other tiny bug this morning, so I'll see
if what you wrote is enough to re-produce it.

On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> I tried the new version but unfortunately I'm still getting the same
> errors.
>
> -----Original Message-----
> From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> Sent: Friday, March 23, 2007 9:45 AM
> To: Tapestry users
> Subject: Re: OGNL AND errors
>
> I think a new ognl version went out last night. I would try that first.
>
> On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> > I recently tried updating from a Tapestry 4.1.2 snapshot a couple
> months
> > old to one from 3-21. Along the way I had to incorporate the new 2.7
> > OGNL snapshot from 3-18. I'm seeing multiple expressions on each page
> > that no longer work. So far they have all involved AND expressions.
> Here
> > are some examples:
> >
> >
> >
> > info.rootCause.getMessage() != null &&
> > info.rootCause.getMessage().length() > 0
> >
> > currentElement.message != null && currentElement.message.length() > 0
> >
> > sysMessages != null && sysMessages.size() != 0
> >
> > title != null && title.length() > 0
> >
> >
> >
> > Here is an example error message:
> >
> > Error compiling expression on object
> >
> $SystemMessageDisplay_245@750e6725[DirectorAccount/$SystemMessageDisplay
> > ] with expression node (sysMessages != null) && (sysMessages.size() !=
> > 0) getter body: { return ($w)
> >
> ((ognl.OgnlOps.booleanValue((($SystemMessageDisplay_245)$2).getSysMessag
> > es() != null) ? ognl.OgnlOps.convertValue(!ognl.OgnlOps.equal( ($w)
> >
> ognl.OgnlOps.convertValue((($SystemMessageDisplay_245)$2).getSysMessages
> > ().size(), java.lang.Integer.class) , ognl.OgnlOps.convertValue(0,
> > java.lang.Integer.class)), java.lang.Integer.class) :
> > (($SystemMessageDisplay_245)$2).getSysMessages() != null));} setter
> > body: { _node.setValue($1, $2, $3); }
> >
> >
> >
> > Our app is now specless so any objects being accessed are defined on
> the
> > Java class. I can open a case in the OGNL issue tracking system but I
> > wanted to check if anyone knows what is going on first since I don't
> > want to have to go through and convert hundreds of expressions to Java
> > code if I can avoid it (still haven't even gotten our Home page to
> come
> > up yet..)
> >
> >
> >
> > Thanks,
> >
> > Ben
> >
> >
>
>
> --
> 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: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
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: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


RE: OGNL AND errors

Posted by Ben Dotte <bd...@widen.com>.
I tried the new version but unfortunately I'm still getting the same
errors.

-----Original Message-----
From: Jesse Kuhnert [mailto:jkuhnert@gmail.com] 
Sent: Friday, March 23, 2007 9:45 AM
To: Tapestry users
Subject: Re: OGNL AND errors

I think a new ognl version went out last night. I would try that first.

On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> I recently tried updating from a Tapestry 4.1.2 snapshot a couple
months
> old to one from 3-21. Along the way I had to incorporate the new 2.7
> OGNL snapshot from 3-18. I'm seeing multiple expressions on each page
> that no longer work. So far they have all involved AND expressions.
Here
> are some examples:
>
>
>
> info.rootCause.getMessage() != null &&
> info.rootCause.getMessage().length() > 0
>
> currentElement.message != null && currentElement.message.length() > 0
>
> sysMessages != null && sysMessages.size() != 0
>
> title != null && title.length() > 0
>
>
>
> Here is an example error message:
>
> Error compiling expression on object
>
$SystemMessageDisplay_245@750e6725[DirectorAccount/$SystemMessageDisplay
> ] with expression node (sysMessages != null) && (sysMessages.size() !=
> 0) getter body: { return ($w)
>
((ognl.OgnlOps.booleanValue((($SystemMessageDisplay_245)$2).getSysMessag
> es() != null) ? ognl.OgnlOps.convertValue(!ognl.OgnlOps.equal( ($w)
>
ognl.OgnlOps.convertValue((($SystemMessageDisplay_245)$2).getSysMessages
> ().size(), java.lang.Integer.class) , ognl.OgnlOps.convertValue(0,
> java.lang.Integer.class)), java.lang.Integer.class) :
> (($SystemMessageDisplay_245)$2).getSysMessages() != null));} setter
> body: { _node.setValue($1, $2, $3); }
>
>
>
> Our app is now specless so any objects being accessed are defined on
the
> Java class. I can open a case in the OGNL issue tracking system but I
> wanted to check if anyone knows what is going on first since I don't
> want to have to go through and convert hundreds of expressions to Java
> code if I can avoid it (still haven't even gotten our Home page to
come
> up yet..)
>
>
>
> Thanks,
>
> Ben
>
>


-- 
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: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: OGNL AND errors

Posted by Jesse Kuhnert <jk...@gmail.com>.
I think a new ognl version went out last night. I would try that first.

On 3/23/07, Ben Dotte <bd...@widen.com> wrote:
> I recently tried updating from a Tapestry 4.1.2 snapshot a couple months
> old to one from 3-21. Along the way I had to incorporate the new 2.7
> OGNL snapshot from 3-18. I'm seeing multiple expressions on each page
> that no longer work. So far they have all involved AND expressions. Here
> are some examples:
>
>
>
> info.rootCause.getMessage() != null &&
> info.rootCause.getMessage().length() > 0
>
> currentElement.message != null && currentElement.message.length() > 0
>
> sysMessages != null && sysMessages.size() != 0
>
> title != null && title.length() > 0
>
>
>
> Here is an example error message:
>
> Error compiling expression on object
> $SystemMessageDisplay_245@750e6725[DirectorAccount/$SystemMessageDisplay
> ] with expression node (sysMessages != null) && (sysMessages.size() !=
> 0) getter body: { return ($w)
> ((ognl.OgnlOps.booleanValue((($SystemMessageDisplay_245)$2).getSysMessag
> es() != null) ? ognl.OgnlOps.convertValue(!ognl.OgnlOps.equal( ($w)
> ognl.OgnlOps.convertValue((($SystemMessageDisplay_245)$2).getSysMessages
> ().size(), java.lang.Integer.class) , ognl.OgnlOps.convertValue(0,
> java.lang.Integer.class)), java.lang.Integer.class) :
> (($SystemMessageDisplay_245)$2).getSysMessages() != null));} setter
> body: { _node.setValue($1, $2, $3); }
>
>
>
> Our app is now specless so any objects being accessed are defined on the
> Java class. I can open a case in the OGNL issue tracking system but I
> wanted to check if anyone knows what is going on first since I don't
> want to have to go through and convert hundreds of expressions to Java
> code if I can avoid it (still haven't even gotten our Home page to come
> up yet..)
>
>
>
> Thanks,
>
> Ben
>
>


-- 
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: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org