You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by gk...@apache.org on 2007/07/18 16:26:42 UTC
svn commit: r557274 -
/cocoon/whiteboard/objectmodel/cocoon-expression-language/cocoon-expression-language-impl/src/main/java/org/apache/cocoon/components/expression/jxpath/JXPathExpression.java
Author: gkossakowski
Date: Wed Jul 18 07:26:41 2007
New Revision: 557274
URL: http://svn.apache.org/viewvc?view=rev&rev=557274
Log:
COCOON-2085: If there is more than one context bean only last added should be used.
Modified:
cocoon/whiteboard/objectmodel/cocoon-expression-language/cocoon-expression-language-impl/src/main/java/org/apache/cocoon/components/expression/jxpath/JXPathExpression.java
Modified: cocoon/whiteboard/objectmodel/cocoon-expression-language/cocoon-expression-language-impl/src/main/java/org/apache/cocoon/components/expression/jxpath/JXPathExpression.java
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/objectmodel/cocoon-expression-language/cocoon-expression-language-impl/src/main/java/org/apache/cocoon/components/expression/jxpath/JXPathExpression.java?view=diff&rev=557274&r1=557273&r2=557274
==============================================================================
--- cocoon/whiteboard/objectmodel/cocoon-expression-language/cocoon-expression-language-impl/src/main/java/org/apache/cocoon/components/expression/jxpath/JXPathExpression.java (original)
+++ cocoon/whiteboard/objectmodel/cocoon-expression-language/cocoon-expression-language-impl/src/main/java/org/apache/cocoon/components/expression/jxpath/JXPathExpression.java Wed Jul 18 07:26:41 2007
@@ -25,6 +25,7 @@
import org.apache.cocoon.components.expression.ExpressionException;
import org.apache.cocoon.components.expression.jexl.JSIntrospector;
import org.apache.cocoon.util.jxpath.NamespacesTablePointer;
+import org.apache.commons.collections.ArrayStack;
import org.apache.commons.jxpath.CompiledExpression;
import org.apache.commons.jxpath.JXPathContext;
import org.apache.commons.jxpath.Pointer;
@@ -132,7 +133,11 @@
private JXPathContext getContext(ObjectModel objectModel) {
// This could be made more efficient by caching the
// JXPathContext within the Context object.
- JXPathContext jxobjectModel = JXPathContext.newContext(objectModel.get(ObjectModel.CONTEXTBEAN));
+
+ Object contextBean = objectModel.get(ObjectModel.CONTEXTBEAN);
+ if (contextBean instanceof ArrayStack)
+ contextBean = ((ArrayStack) contextBean).peek();
+ JXPathContext jxobjectModel = JXPathContext.newContext(contextBean);
jxobjectModel.setVariables(new VariableAdapter(objectModel));
jxobjectModel.setLenient(this.lenient);
//FIXME