cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Grzegorz Kossakowski <>
Subject Re: pipelineComponent scope troubles
Date Thu, 13 Sep 2007 21:42:44 GMT
Giacomo Pati pisze:
> Here it is :-)


I agree, it's *ugly* :-)

> Caused by: org.apache.cocoon.el.ExpressionException: Couldn't evaluate expression status.myTasks.size()
>         at org.apache.cocoon.el.impl.jexl.JexlExpression.evaluate(
>         at org.apache.cocoon.el.impl.jexl.JexlExpression.getNode(
>         at org.apache.cocoon.template.expression.JXTExpression.getNode(
>         at org.apache.cocoon.template.script.event.Characters.execute(
>         ... 226 more
> Caused by: java.lang.NullPointerException
>         at org.apache.commons.jexl.parser.ASTSizeFunction.sizeOf(
>         at org.apache.commons.jexl.parser.ASTSizeMethod.execute(
>         at org.apache.commons.jexl.parser.ASTReference.execute(
>         at org.apache.commons.jexl.parser.ASTReference.value(
>         at org.apache.commons.jexl.ExpressionImpl.evaluate(
>         at org.apache.cocoon.el.impl.jexl.JexlExpression.evaluate(
>         ... 229 more

I guess that you came across nasty bug in JEXL that tries to evaluate built-in functions on
null values
and informs about it in very bad way.

The question is: where and how status.myTasks is supposed to be set? (see below, also)

>             <map:match pattern="screen/**">
>                 <map:select type="resource-exists">
>                     <map:when test="{1}.xml">
>                         <map:generate src="{1}.xml" label="content" />
>                     </map:when>
>                     <map:otherwise>
>                         <map:generate src="servlet:bfabric-core:/screen/{1}" />

Let me guess: status.myTasks is called in that pipeline, right?


>> Not that much, unfortunately because it only shows that something is broken in pipelineComponent
>> scope code so no news here. I suggest to do three things:
>> 1. Make sure that Object Model is in "call" scope and not in "pipelineComponent"
>> 2. If there is still a problem, paste whole stack trace, then.
> See above.

Thanks Giacomo. Believe me or not, but I think we are much closer to the real cause of your
troubles. In order to cast some spells on OM code I need to know how status.myTasks is put
how that snippet is called from the bits that need status.myTasks variable later on.

>> Last thing, Giacomo, if you could respond to my mails more often we could find a
solution for your
>> troubles more quickly. ;)
>> (take into account that I have exam tomorrow so I will respond on late afternoon,
> I'll do my best ;-)

Thanks! Tomorrow (Friday) I plan to work on Cocoon so I will be available whole day and I
hope we
will manage to push things forward. Sorry for your inconveniences.

Grzegorz Kossakowski
Committer and PMC Member of Apache Cocoon

View raw message