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 [EMAIL PROTECTED]/$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:[EMAIL PROTECTED] 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 <[EMAIL PROTECTED]> 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 > [EMAIL PROTECTED]/$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:[EMAIL PROTECTED] > 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 <[EMAIL PROTECTED]> 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:@[EMAIL PROTECTED]" > > value="ognl:title" /></span> > > </pageTitle> > > > > Java: > > @Parameter > > public abstract String getTitle(); > > public abstract void setTitle(String title); > > > > -----Original Message----- > > From: Jesse Kuhnert [mailto:[EMAIL PROTECTED] > > 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 <[EMAIL PROTECTED]> wrote: > > > I tried the new version but unfortunately I'm still getting the same > > > errors. > > > > > > -----Original Message----- > > > From: Jesse Kuhnert [mailto:[EMAIL PROTECTED] > > > 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 <[EMAIL PROTECTED]> 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 > > > > > > > > > > [EMAIL PROTECTED]/$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: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > -- > > Jesse Kuhnert > > Tapestry/Dojo team member/developer > > > > Open source based consulting work centered around > > dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > -- > Jesse Kuhnert > Tapestry/Dojo team member/developer > > Open source based consulting work centered around > dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Jesse Kuhnert Tapestry/Dojo team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]