-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


Grzegorz Kossakowski wrote:
> Giacomo Pati pisze:
>>
>> Grzegorz Kossakowski wrote:
>>> Giacomo Pati pisze:
>>> Giacomo, this issue caused frustration that affected all of us but I would 
>>> like to ask you about a
>>> little more. Could you start my sample in a debugger and set breakpoint on 
>>> put() method of
>>> ObjectModelImpl? Then could you analyse all calls to that method and figure 
>>> out if they are
>>> operating on the same ObjectModelImpl class instance?
>>> You should debug with OM's scope set to request. The expected result is 
>>> that during whole request
>>> processing (including making a servlet call) every method call should be on 
>>> the same instance of OM.
>> Every method call _is_ on the same instance. The put method gets called 3 
>> times with:
>>
>> 1. ObjId=68 key="java"
>> 2. ObjId=68 key="cocoon"
>> 3. ObjId=68 key="Packages"
> 
> Hmmm, it should be called more than three times because when executing
> http://localhost:8080/myBlock1/test the status variable should be put on OM. 
> Is this a case? You can

No, status is not put on OM!

> check it by putting breakpoint on 
> org.apache.cocoon.components.flow.FlowHelper.setContextObject().

Inteersting that now that I have set additional beakpoint I go more calles to 
the put method:

OM ObjId=68 key="java"
OM ObjId=68 key="cocoon"
OM ObjId=68 key="Packages"
OM ObjId=68 key="sitemap"
OM ObjId=68 key="namespace"

But control never reaches FlowHelper.setContextObject()

> To give you better idea what we are searching for: I believe that your NPE is 
> caused by the fact
> that flowscript puts status variable on one instance of OM and template from 
> myBlock2 uses another
> instance of OM.
> 
> You can set breakpoint on 
> org.apache.cocoon.el.impl.jexl.JexlExpression.evaluate() to find out
> against which OM instance the expression is evaluated and what it contains.

The OM passed to the evaluate method is a Proxy. Don't know where to look at. 
Found a targetSource
with targetBeanName of 
"scopedTarget.org.apache.cocoon.el.objectmodel.ObjectModel"

- --
Giacomo Pati
Otego AG, Switzerland - http://www.otego.com
Orixo, the XML business alliance - http://www.orixo.com

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.6 (GNU/Linux)

iD8DBQFG8PgbLNdJvZjjVZARAmd+AKCYiHa1IctFXyB73v49GxUuasPeDQCfdpyP
tBaVZ9JrD2z+fkxoq0YbH1A=
=DIWG
-----END PGP SIGNATURE-----

Reply via email to