cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Grzegorz Kossakowski <>
Subject Re: svn commit: r552371 - trunk broken, help needed
Date Sun, 01 Jul 2007 23:35:24 GMT pisze:
> Author: gkossakowski
> Date: Sun Jul  1 16:13:44 2007
> New Revision: 552371
> URL:
> Log:
> COCOON-2082: Getting rid of Avalon dependencies, it includes:
> * conversion JS, JXPath and JEXL compilers to Spring beans
> * conversion DefaultExpressionFactory to Spring bean, it collects language compilers
by using bean-map from Spring configurator

As you see, I'm in between of Avalon->Spring conversion process for expression languages.
I have not moved and adjusted tests (thus build 
will fail) because I came across very obscure problem.

First of all I would like you to ask to do svn up and mvn clean install -Dmaven.test.skip=true
for trunk, run cocoon-webapp, access 
and check if you get following error:
TypeError: Cannot read property "parameters" from undefined (#1)

I would be grateful for any reports to be sure if it's not a JDK issue or so. Also, any help
with sorting this out is really appreciated 
because I'm really out of ideas how to track such a weird problem. Details below.

After conversion (changes in r552371) ExpressionContext creation is slightly broken. Take
a look at 
TemplateObjectModelHelper#getTemplateObjectModel method, the most interesting fragment is

cocoon.put("settings", (Settings)WebAppContextUtils.getCurrentWebApplicationContext().getBean(Settings.ROLE));

Cocoon object is normal Java's HashMap, so it seems that there should happen nothing fancy.
As you guess, something weird happens, though ;)
More specifically, this put breaks completely cocoon object. Inspection in debugger of this
object shows that before put operation mentioned 
above everything looks ok and just after keys of HashMap are getting out of sync of values
(table). In a fact, the table of values contains 
3 items (and is lacking request object, that explains an exception) and keySet contains 4
items (including request). Moreover, if I change 
key from "settings" to something else like "test", cocoon object is less broken (table includes
request) but if you iterate the cocoon 
object you will never reach the request object.

All of that is really weird for me and I guess I lack enough Java skills to sort that out
so I appreciate any help. If this problem is not 
fixed soon I'm going to revert my changes to not keep trunk in broken state.

Grzegorz Kossakowski

View raw message