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 23:26:17 UTC
svn commit: r557400 - in /cocoon/whiteboard/objectmodel:
cocoon-expression-language/cocoon-expression-language-impl/src/main/java/org/apache/cocoon/components/expression/jxpath/
cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/templ...
Author: gkossakowski
Date: Wed Jul 18 14:26:16 2007
New Revision: 557400
URL: http://svn.apache.org/viewvc?view=rev&rev=557400
Log:
COCOON-2094: Restore support for namespace declarations.
Modified:
cocoon/whiteboard/objectmodel/cocoon-expression-language/cocoon-expression-language-impl/src/main/java/org/apache/cocoon/components/expression/jxpath/JXPathExpression.java
cocoon/whiteboard/objectmodel/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndElement.java
cocoon/whiteboard/objectmodel/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/StartElement.java
cocoon/whiteboard/objectmodel/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/StartPrefixMapping.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=557400&r1=557399&r2=557400
==============================================================================
--- 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 14:26:16 2007
@@ -21,10 +21,11 @@
import java.util.List;
import org.apache.cocoon.components.expression.Expression;
-import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.components.expression.ExpressionException;
import org.apache.cocoon.components.expression.jexl.JSIntrospector;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.util.jxpath.NamespacesTablePointer;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.commons.collections.ArrayStack;
import org.apache.commons.jxpath.CompiledExpression;
import org.apache.commons.jxpath.JXPathContext;
@@ -140,8 +141,10 @@
JXPathContext jxobjectModel = JXPathContext.newContext(contextBean);
jxobjectModel.setVariables(new VariableAdapter(objectModel));
jxobjectModel.setLenient(this.lenient);
- //FIXME
- //jxobjectModel.setNamespaceContextPointer(new NamespacesTablePointer(objectModel.getNamespaces()));
+ Object namespaces = objectModel.get(ObjectModel.NAMESPACE);
+ if (namespaces instanceof ArrayStack)
+ namespaces = ((ArrayStack)namespaces).peek();
+ jxobjectModel.setNamespaceContextPointer(new NamespacesTablePointer((NamespacesTable)namespaces));
return jxobjectModel;
}
Modified: cocoon/whiteboard/objectmodel/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndElement.java
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/objectmodel/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndElement.java?view=diff&rev=557400&r1=557399&r2=557400
==============================================================================
--- cocoon/whiteboard/objectmodel/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndElement.java (original)
+++ cocoon/whiteboard/objectmodel/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndElement.java Wed Jul 18 14:26:16 2007
@@ -47,7 +47,9 @@
.getLocalName(), startElement.getRaw());
// Send any pending endPrefixMapping events
- //FIXME: expressionContext.getNamespaces().leaveScope(consumer);
+ namespaces.leaveScope(consumer);
+ objectModel.cleanupLocalContext();
+
return getNext();
}
}
Modified: cocoon/whiteboard/objectmodel/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/StartElement.java
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/objectmodel/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/StartElement.java?view=diff&rev=557400&r1=557399&r2=557400
==============================================================================
--- cocoon/whiteboard/objectmodel/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/StartElement.java (original)
+++ cocoon/whiteboard/objectmodel/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/StartElement.java Wed Jul 18 14:26:16 2007
@@ -123,7 +123,7 @@
}
// Send any pending startPrefixMapping events
- //FIXME: expressionContext.getNamespaces().enterScope(consumer);
+ namespaces.enterScope(consumer);
consumer.startElement(getNamespaceURI(), getLocalName(), getRaw(),
attrs);
return getNext();
Modified: cocoon/whiteboard/objectmodel/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/StartPrefixMapping.java
URL: http://svn.apache.org/viewvc/cocoon/whiteboard/objectmodel/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/StartPrefixMapping.java?view=diff&rev=557400&r1=557399&r2=557400
==============================================================================
--- cocoon/whiteboard/objectmodel/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/StartPrefixMapping.java (original)
+++ cocoon/whiteboard/objectmodel/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/StartPrefixMapping.java Wed Jul 18 14:26:16 2007
@@ -49,9 +49,10 @@
ObjectModel objectModel,
ExecutionContext executionContext, MacroContext macroContext,
NamespacesTable namespaces, Event startEvent, Event endEvent) throws SAXException {
-
- //FIXME: expressionContext.getNamespaces().addDeclaration(getPrefix(), getUri());
// the startPrefixMapping event will be sent in StartElement
+ namespaces.addDeclaration(getPrefix(), getUri());
+ objectModel.markLocalContext();
+ objectModel.put(ObjectModel.NAMESPACE, namespaces);
return getNext();
}
}