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/19 13:48:01 UTC
svn commit: r557585 [1/2] - in
/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template:
./ expression/ instruction/ script/ script/event/
Author: gkossakowski
Date: Thu Jul 19 04:47:58 2007
New Revision: 557585
URL: http://svn.apache.org/viewvc?view=rev&rev=557585
Log:
Merged whiteboard/objectmodel branch changes r556277:557520 into trunk.
Modified:
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/JXTemplateGenerator.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/expression/JXTExpression.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/expression/Substitutions.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Attribute.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Call.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Choose.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Comment.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Define.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Eval.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/EvalBody.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/ForEach.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/FormatDate.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/FormatNumber.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/If.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Import.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/LocaleAwareInstruction.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Out.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/ParameterInstance.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Set.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Template.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/Invoker.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/Characters.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndCDATA.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndDTD.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndDocument.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndElement.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndEntity.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndPrefixMapping.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/Event.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/IgnorableWhitespace.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/ProcessingInstruction.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/SkippedEntity.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/StartCDATA.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/StartDTD.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/StartDocument.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/StartElement.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/StartEntity.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/StartPrefixMapping.java
cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/TextEvent.java
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/JXTemplateGenerator.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/JXTemplateGenerator.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/JXTemplateGenerator.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/JXTemplateGenerator.java Thu Jul 19 04:47:58 2007
@@ -26,9 +26,9 @@
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.cocoon.ProcessingException;
import org.apache.cocoon.caching.CacheableProcessingComponent;
-import org.apache.cocoon.components.expression.ExpressionContext;
import org.apache.cocoon.environment.SourceResolver;
import org.apache.cocoon.generation.ServiceableGenerator;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ExecutionContext;
import org.apache.cocoon.template.environment.FlowObjectModelHelper;
import org.apache.cocoon.template.environment.JXCacheKey;
@@ -39,6 +39,7 @@
import org.apache.cocoon.template.script.event.Event;
import org.apache.cocoon.template.script.event.StartDocument;
import org.apache.cocoon.template.xml.AttributeAwareXMLConsumerImpl;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.cocoon.xml.RedundantNamespacesFilter;
import org.apache.cocoon.xml.XMLConsumer;
import org.apache.excalibur.source.SourceValidity;
@@ -69,7 +70,8 @@
public final static String CACHE_KEY = "cache-key";
public final static String VALIDITY = "cache-validity";
- private ExpressionContext expressionContext;
+ private ObjectModel objectModel;
+ private NamespacesTable namespaces;
private ScriptManager scriptManager;
private StartDocument startDocument;
@@ -103,7 +105,8 @@
*/
public void recycle() {
this.startDocument = null;
- this.expressionContext = null;
+ this.objectModel = null;
+ this.namespaces = null;
this.definitions = null;
super.recycle();
}
@@ -120,7 +123,8 @@
this.startDocument = scriptManager.resolveTemplate(src);
}
- this.expressionContext = FlowObjectModelHelper.getFOMExpressionContext(objectModel, parameters);
+ this.objectModel = FlowObjectModelHelper.getNewObjectModelWithFOM(objectModel, parameters);
+ this.namespaces = new NamespacesTable();
this.definitions = new HashMap();
}
@@ -135,10 +139,12 @@
}
public void performGeneration(Event startEvent, Event endEvent) throws SAXException {
+ objectModel.markLocalContext();
XMLConsumer consumer = new AttributeAwareXMLConsumerImpl(new RedundantNamespacesFilter(this.xmlConsumer));
- ((Map) expressionContext.get("cocoon")).put("consumer", consumer);
- Invoker.execute(consumer, this.expressionContext, new ExecutionContext(this.definitions, this.scriptManager,
- this.manager), null, startEvent, null);
+ ((Map) objectModel.get("cocoon")).put("consumer", consumer);
+ Invoker.execute(consumer, this.objectModel, new ExecutionContext(this.definitions, this.scriptManager,
+ this.manager), null, namespaces, startEvent, null);
+ objectModel.cleanupLocalContext();
}
/**
@@ -151,7 +157,7 @@
return null;
}
try {
- final Serializable templateKey = (Serializable) cacheKeyExpr.getValue(this.expressionContext);
+ final Serializable templateKey = (Serializable) cacheKeyExpr.getValue(this.objectModel);
if (templateKey != null) {
return new JXCacheKey(this.startDocument.getUri(), templateKey);
}
@@ -172,7 +178,7 @@
}
try {
final SourceValidity sourceValidity = this.startDocument.getSourceValidity();
- final SourceValidity templateValidity = (SourceValidity) validityExpr.getValue(this.expressionContext);
+ final SourceValidity templateValidity = (SourceValidity) validityExpr.getValue(this.objectModel);
if (sourceValidity != null && templateValidity != null) {
return new JXSourceValidity(sourceValidity, templateValidity);
}
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/expression/JXTExpression.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/expression/JXTExpression.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/expression/JXTExpression.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/expression/JXTExpression.java Thu Jul 19 04:47:58 2007
@@ -19,8 +19,8 @@
import java.util.Iterator;
import org.apache.cocoon.components.expression.Expression;
-import org.apache.cocoon.components.expression.ExpressionContext;
import org.apache.cocoon.components.expression.jxpath.JXPathExpression;
+import org.apache.cocoon.objectmodel.ObjectModel;
/**
* @version $Id$
@@ -50,21 +50,21 @@
// Geting the value of the expression in various forms
// Hack: try to prevent JXPath from converting result to a String
- public Object getNode(ExpressionContext expressionContext)
+ public Object getNode(ObjectModel objectModel)
throws Exception {
Object compiled = this.getCompiledExpression();
if (compiled instanceof Expression)
- return ((Expression)compiled).getNode(expressionContext);
+ return ((Expression)compiled).getNode(objectModel);
return this.getRaw();
}
- public Iterator getIterator(ExpressionContext expressionContext)
+ public Iterator getIterator(ObjectModel objectModel)
throws Exception {
Iterator iter = null;
if (this.getCompiledExpression() != null || this.getRaw() != null) {
if (this.getCompiledExpression() instanceof Expression) {
iter =
- ((Expression)this.getCompiledExpression()).iterate(expressionContext);
+ ((Expression)this.getCompiledExpression()).iterate(objectModel);
} else {
// literal value
iter = new Iterator() {
@@ -91,15 +91,15 @@
return iter;
}
- public Boolean getBooleanValue(ExpressionContext expressionContext)
+ public Boolean getBooleanValue(ObjectModel objectModel)
throws Exception {
- Object res = getValue(expressionContext);
+ Object res = getValue(objectModel);
return res instanceof Boolean ? (Boolean)res : null;
}
- public String getStringValue(ExpressionContext expressionContext)
+ public String getStringValue(ObjectModel objectModel)
throws Exception {
- Object res = getValue(expressionContext);
+ Object res = getValue(objectModel);
if (res != null) {
return res.toString();
}
@@ -109,9 +109,9 @@
return null;
}
- public Number getNumberValue(ExpressionContext expressionContext)
+ public Number getNumberValue(ObjectModel objectModel)
throws Exception {
- Object res = getValue(expressionContext);
+ Object res = getValue(objectModel);
if (res instanceof Number) {
return (Number)res;
}
@@ -121,18 +121,18 @@
return null;
}
- public int getIntValue(ExpressionContext expressionContext)
+ public int getIntValue(ObjectModel objectModel)
throws Exception {
- Object res = getValue(expressionContext);
+ Object res = getValue(objectModel);
return res instanceof Number ? ((Number)res).intValue() : 0;
}
- public Object getValue(ExpressionContext expressionContext)
+ public Object getValue(ObjectModel objectModel)
throws Exception {
if (this.getCompiledExpression() != null) {
Object compiled = this.getCompiledExpression();
if (compiled instanceof Expression)
- return ((Expression)compiled).evaluate(expressionContext);
+ return ((Expression)compiled).evaluate(objectModel);
else
return compiled;
} else
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/expression/Substitutions.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/expression/Substitutions.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/expression/Substitutions.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/expression/Substitutions.java Thu Jul 19 04:47:58 2007
@@ -22,7 +22,7 @@
import java.util.Iterator;
import java.util.List;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ErrorHolder;
import org.apache.cocoon.template.environment.ParsingContext;
import org.xml.sax.Locator;
@@ -67,7 +67,7 @@
return this.substitutions.get(pos);
}
- public String toString(Locator location, ExpressionContext expressionContext) throws SAXException {
+ public String toString(Locator location, ObjectModel objectModel) throws SAXException {
StringBuffer buf = new StringBuffer();
Iterator iterSubst = iterator();
while (iterSubst.hasNext()) {
@@ -79,7 +79,7 @@
JXTExpression expr = (JXTExpression) subst;
Object val;
try {
- val = expr.getValue(expressionContext);
+ val = expr.getValue(objectModel);
} catch (Exception e) {
throw new SAXParseException(e.getMessage(), location, e);
} catch (Error err) {
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Attribute.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Attribute.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Attribute.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Attribute.java Thu Jul 19 04:47:58 2007
@@ -19,7 +19,7 @@
import java.io.StringWriter;
import java.util.Stack;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.JXTemplateGenerator;
import org.apache.cocoon.template.environment.ExecutionContext;
import org.apache.cocoon.template.environment.ParsingContext;
@@ -29,6 +29,7 @@
import org.apache.cocoon.template.script.event.StartElement;
import org.apache.cocoon.template.xml.AttributeAwareXMLConsumer;
import org.apache.cocoon.xml.ContentHandlerWrapper;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.cocoon.xml.XMLConsumer;
import org.apache.xml.serialize.TextSerializer;
import org.xml.sax.Attributes;
@@ -61,17 +62,17 @@
this.value = parsingContext.getStringTemplateParser().compileExpr(value, "parameter: \"value\": ", locator);
}
- public Event execute(final XMLConsumer consumer, ExpressionContext expressionContext,
- ExecutionContext executionContext, MacroContext macroContext, Event startEvent, Event endEvent)
+ public Event execute(final XMLConsumer consumer, ObjectModel objectModel,
+ ExecutionContext executionContext, MacroContext macroContext, NamespacesTable namespaces, Event startEvent, Event endEvent)
throws SAXException {
String nameStr = null;
String valueStr = "";
try {
- nameStr = this.name.getStringValue(expressionContext);
+ nameStr = this.name.getStringValue(objectModel);
if (this.value != null)
- valueStr = this.value.getStringValue(expressionContext);
+ valueStr = this.value.getStringValue(objectModel);
else {
final Attributes EMPTY_ATTRS = new AttributesImpl();
String elementName = "attribute";
@@ -85,7 +86,7 @@
// TODO is root element necessary for TextSerializer?
contentHandler.startElement(JXTemplateGenerator.NS, elementName, elementName, EMPTY_ATTRS);
- Invoker.execute(contentHandler, expressionContext, executionContext, macroContext, this.getNext(), this
+ Invoker.execute(contentHandler, objectModel, executionContext, macroContext, namespaces, this.getNext(), this
.getEndInstruction());
contentHandler.endElement(JXTemplateGenerator.NS, elementName, elementName);
contentHandler.endDocument();
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Call.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Call.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Call.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Call.java Thu Jul 19 04:47:58 2007
@@ -21,7 +21,7 @@
import java.util.Map;
import java.util.Stack;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ErrorHolder;
import org.apache.cocoon.template.environment.ExecutionContext;
import org.apache.cocoon.template.environment.ParsingContext;
@@ -33,6 +33,7 @@
import org.apache.cocoon.template.script.event.IgnorableWhitespace;
import org.apache.cocoon.template.script.event.StartElement;
import org.apache.cocoon.template.script.event.TextEvent;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.cocoon.xml.XMLConsumer;
import org.apache.commons.lang.StringUtils;
import org.xml.sax.Attributes;
@@ -97,26 +98,25 @@
}
public Event execute(XMLConsumer consumer,
- ExpressionContext expressionContext,
+ ObjectModel objectModel,
ExecutionContext executionContext, MacroContext macroContext,
- Event startEvent, Event endEvent) throws SAXException {
+ NamespacesTable namespaces, Event startEvent, Event endEvent) throws SAXException {
Map attributeMap = new HashMap();
Iterator i = parameters.keySet().iterator();
while (i.hasNext()) {
String parameterName = (String) i.next();
ParameterInstance parameter = (ParameterInstance) parameters
.get(parameterName);
- Object parameterValue = parameter.getValue(expressionContext);
+ Object parameterValue = parameter.getValue(objectModel);
attributeMap.put(parameterName, parameterValue);
}
- ExpressionContext localExpressionContext = new ExpressionContext(
- expressionContext);
+ objectModel.markLocalContext();
HashMap macro = new HashMap();
macro.put("body", this.body);
macro.put("arguments", attributeMap);
- localExpressionContext.put("macro", macro);
+ objectModel.put("macro", macro);
- Define definition = resolveMacroDefinition(expressionContext,
+ Define definition = resolveMacroDefinition(objectModel,
executionContext);
Iterator iter = definition.getParameters().entrySet().iterator();
while (iter.hasNext()) {
@@ -128,7 +128,7 @@
if (val == null) {
val = default_;
}
- localExpressionContext.put(key, val);
+ objectModel.put(key, val);
}
Event macroBodyStart = getNext();
@@ -142,13 +142,13 @@
MacroContext newMacroContext = new MacroContext(definition.getQname(),
macroBodyStart, macroBodyEnd);
try {
- Invoker.execute(consumer, localExpressionContext, executionContext,
- newMacroContext, definition.getBody(), definition
- .getEndInstruction());
+ Invoker.execute(consumer, objectModel, executionContext,
+ newMacroContext, namespaces,definition.getBody(), definition.getEndInstruction());
} catch (SAXParseException exc) {
throw new SAXParseException(newMacroContext.getMacroQName() + ": "
+ exc.getMessage(), location, exc);
}
+ objectModel.cleanupLocalContext();
if (getEndInstruction() != null)
return getEndInstruction().getNext();
@@ -161,7 +161,7 @@
* @throws SAXParseException
*/
private Define resolveMacroDefinition(
- ExpressionContext expressionContext,
+ ObjectModel objectModel,
ExecutionContext executionContext) throws SAXParseException {
if (this.macro instanceof Define)
return (Define) macro;
@@ -170,8 +170,8 @@
Object namespace;
JXTExpression macroNameExpression = (JXTExpression) macro;
try {
- macroName = macroNameExpression.getValue(expressionContext);
- namespace = targetNamespace.getValue(expressionContext);
+ macroName = macroNameExpression.getValue(objectModel);
+ namespace = targetNamespace.getValue(objectModel);
if (namespace == null)
namespace = "";
} catch (Exception e) {
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Choose.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Choose.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Choose.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Choose.java Thu Jul 19 04:47:58 2007
@@ -18,12 +18,13 @@
import java.util.Stack;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ExecutionContext;
import org.apache.cocoon.template.environment.ParsingContext;
import org.apache.cocoon.template.script.Invoker;
import org.apache.cocoon.template.script.event.Event;
import org.apache.cocoon.template.script.event.StartElement;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.cocoon.xml.XMLConsumer;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
@@ -42,14 +43,14 @@
}
public Event execute(final XMLConsumer consumer,
- ExpressionContext expressionContext, ExecutionContext executionContext,
- MacroContext macroContext, Event startEvent, Event endEvent)
+ ObjectModel objectModel, ExecutionContext executionContext,
+ MacroContext macroContext, NamespacesTable namespaces, Event startEvent, Event endEvent)
throws SAXException {
When startWhen = this.firstChoice;
while (startWhen != null) {
Object val;
try {
- val = startWhen.getTest().getValue(expressionContext);
+ val = startWhen.getTest().getValue(objectModel);
} catch (Exception e) {
throw new SAXParseException(e.getMessage(), getLocation(), e);
}
@@ -60,16 +61,15 @@
result = (val != null);
}
if (result) {
- Invoker.execute(consumer, expressionContext, executionContext,
- macroContext, startWhen.getNext(),
- startWhen.getEndInstruction());
+ Invoker.execute(consumer, objectModel, executionContext,
+ macroContext, namespaces, startWhen.getNext(), startWhen.getEndInstruction());
break;
}
startWhen = startWhen.getNextChoice();
}
if (startWhen == null && this.otherwise != null) {
- Invoker.execute(consumer, expressionContext, executionContext,
- macroContext, this.otherwise.getNext(),
+ Invoker.execute(consumer, objectModel, executionContext,
+ macroContext, namespaces, this.otherwise.getNext(),
this.otherwise.getEndInstruction());
}
return getEndInstruction().getNext();
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Comment.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Comment.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Comment.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Comment.java Thu Jul 19 04:47:58 2007
@@ -20,12 +20,13 @@
import java.util.Stack;
import org.apache.cocoon.ProcessingException;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ExecutionContext;
import org.apache.cocoon.template.environment.ParsingContext;
import org.apache.cocoon.template.script.Invoker;
import org.apache.cocoon.template.script.event.Event;
import org.apache.cocoon.template.script.event.StartElement;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.cocoon.xml.XMLConsumer;
import org.apache.cocoon.xml.XMLUtils;
import org.w3c.dom.NodeList;
@@ -43,14 +44,14 @@
}
public Event execute(final XMLConsumer consumer,
- ExpressionContext expressionContext, ExecutionContext executionContext,
- MacroContext macroContext, Event startEvent, Event endEvent)
+ ObjectModel objectModel, ExecutionContext executionContext,
+ MacroContext macroContext, NamespacesTable namespaces, Event startEvent, Event endEvent)
throws SAXException {
// Parse the body of the comment
NodeList nodeList =
Invoker.toDOMNodeList("comment", this,
- expressionContext, executionContext,
- macroContext);
+ objectModel, executionContext,
+ macroContext, namespaces);
// JXPath doesn't handle NodeList, so convert it to an array
int len = nodeList.getLength();
final StringBuffer buf = new StringBuffer();
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Define.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Define.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Define.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Define.java Thu Jul 19 04:47:58 2007
@@ -20,7 +20,7 @@
import java.util.Map;
import java.util.Stack;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ExecutionContext;
import org.apache.cocoon.template.environment.ParsingContext;
import org.apache.cocoon.template.script.event.Characters;
@@ -28,6 +28,7 @@
import org.apache.cocoon.template.script.event.IgnorableWhitespace;
import org.apache.cocoon.template.script.event.StartElement;
import org.apache.cocoon.template.script.event.TextEvent;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.cocoon.xml.XMLConsumer;
import org.apache.commons.lang.StringUtils;
import org.xml.sax.Attributes;
@@ -66,8 +67,8 @@
}
public Event execute(final XMLConsumer consumer,
- ExpressionContext expressionContext, ExecutionContext executionContext,
- MacroContext macroContext, Event startEvent, Event endEvent)
+ ObjectModel objectModel, ExecutionContext executionContext,
+ MacroContext macroContext, NamespacesTable namespaces, Event startEvent, Event endEvent)
throws SAXException {
executionContext.getDefinitions().put(this.qname, this);
return getEndInstruction().getNext();
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Eval.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Eval.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Eval.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Eval.java Thu Jul 19 04:47:58 2007
@@ -18,7 +18,7 @@
import java.util.Stack;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ErrorHolder;
import org.apache.cocoon.template.environment.ExecutionContext;
import org.apache.cocoon.template.environment.ParsingContext;
@@ -26,6 +26,7 @@
import org.apache.cocoon.template.script.Invoker;
import org.apache.cocoon.template.script.event.Event;
import org.apache.cocoon.template.script.event.StartElement;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.cocoon.xml.XMLConsumer;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
@@ -47,11 +48,11 @@
}
public Event execute(final XMLConsumer consumer,
- ExpressionContext expressionContext, ExecutionContext executionContext,
- MacroContext macroContext, Event startEvent, Event endEvent)
+ ObjectModel objectModel, ExecutionContext executionContext,
+ MacroContext macroContext, NamespacesTable namespaces, Event startEvent, Event endEvent)
throws SAXException {
try {
- Object val = this.value.getNode(expressionContext);
+ Object val = this.value.getNode(objectModel);
if (!(val instanceof StartElement)) {
throw new Exception("macro invocation required instead of: " + val);
}
@@ -59,8 +60,8 @@
//FIXME: eval does not allow to call macro providing macro body
MacroContext newMacroContext = new MacroContext( call.getQname(), null, null );
- Invoker.execute(consumer, expressionContext, executionContext,
- newMacroContext, call.getNext(), call.getEndElement());
+ Invoker.execute(consumer, objectModel, executionContext,
+ newMacroContext, namespaces, call.getNext(), call.getEndElement());
} catch (Exception exc) {
throw new SAXParseException(exc.getMessage(), getLocation(), exc);
} catch (Error err) {
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/EvalBody.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/EvalBody.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/EvalBody.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/EvalBody.java Thu Jul 19 04:47:58 2007
@@ -18,13 +18,14 @@
import java.util.Stack;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ErrorHolder;
import org.apache.cocoon.template.environment.ExecutionContext;
import org.apache.cocoon.template.environment.ParsingContext;
import org.apache.cocoon.template.script.Invoker;
import org.apache.cocoon.template.script.event.Event;
import org.apache.cocoon.template.script.event.StartElement;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.cocoon.xml.XMLConsumer;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
@@ -39,12 +40,12 @@
}
public Event execute(final XMLConsumer consumer,
- ExpressionContext expressionContext, ExecutionContext executionContext,
- MacroContext macroContext, Event startEvent, Event endEvent)
+ ObjectModel objectModel, ExecutionContext executionContext,
+ MacroContext macroContext, NamespacesTable namespaces, Event startEvent, Event endEvent)
throws SAXException {
try {
- Invoker.execute(consumer, expressionContext, executionContext,
- null, macroContext.getBodyStart(), macroContext.getBodyEnd());
+ Invoker.execute(consumer, objectModel, executionContext,
+ null, namespaces, macroContext.getBodyStart(), macroContext.getBodyEnd());
} catch (Exception exc) {
throw new SAXParseException(exc.getMessage(), getLocation(), exc);
} catch (Error err) {
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/ForEach.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/ForEach.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/ForEach.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/ForEach.java Thu Jul 19 04:47:58 2007
@@ -19,7 +19,7 @@
import java.util.Iterator;
import java.util.Stack;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ErrorHolder;
import org.apache.cocoon.template.environment.ExecutionContext;
import org.apache.cocoon.template.environment.ParsingContext;
@@ -28,6 +28,7 @@
import org.apache.cocoon.template.script.Invoker;
import org.apache.cocoon.template.script.event.Event;
import org.apache.cocoon.template.script.event.StartElement;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.cocoon.xml.XMLConsumer;
import org.xml.sax.Attributes;
import org.xml.sax.Locator;
@@ -78,31 +79,31 @@
}
public Event execute(final XMLConsumer consumer,
- ExpressionContext expressionContext, ExecutionContext executionContext,
- MacroContext macroContext, Event startEvent, Event endEvent)
+ ObjectModel objectModel, ExecutionContext executionContext,
+ MacroContext macroContext, NamespacesTable namespaces, Event startEvent, Event endEvent)
throws SAXException {
Iterator iter = null;
int begin, end, step;
String var = null, varStatus = null;
try {
iter = (this.items != null )
- ? this.items.getIterator(expressionContext)
+ ? this.items.getIterator(objectModel)
: JXTExpression.NULL_ITER;
begin = this.begin == null
? 0
- : this.begin.getIntValue(expressionContext);
+ : this.begin.getIntValue(objectModel);
end = this.end == null
? Integer.MAX_VALUE
- : this.end.getIntValue(expressionContext);
+ : this.end.getIntValue(objectModel);
step = this.step == null
? 1
- : this.step.getIntValue(expressionContext);
+ : this.step.getIntValue(objectModel);
if ( this.var != null )
- var = this.var.getStringValue(expressionContext);
+ var = this.var.getStringValue(objectModel);
if ( this.varStatus != null )
- varStatus = this.varStatus.getStringValue(expressionContext);
+ varStatus = this.varStatus.getStringValue(objectModel);
} catch (Exception exc) {
throw new SAXParseException(exc.getMessage(),
getLocation(), exc);
@@ -110,8 +111,7 @@
throw new SAXParseException(err.getMessage(),
getLocation(), new ErrorHolder(err));
}
- ExpressionContext localExpressionContext =
- new ExpressionContext(expressionContext);
+ objectModel.markLocalContext();
int i = 0;
// Move to the begin row
while (i < begin && iter.hasNext()) {
@@ -125,14 +125,15 @@
status.setEnd(end);
status.setStep(step);
status.setFirst(true);
- localExpressionContext.put(varStatus, status);
+ objectModel.put(varStatus, status);
}
int skipCounter, count = 1;
while (i <= end && iter.hasNext()) {
+ objectModel.markLocalContext();
Object value = iter.next();
- localExpressionContext.setContextBean(value);
+ objectModel.put(ObjectModel.CONTEXTBEAN, value);
if (var != null) {
- localExpressionContext.put(var, value);
+ objectModel.put(var, value);
}
if (status != null) {
status.setIndex(i);
@@ -141,8 +142,8 @@
status.setCurrent(value);
status.setLast((i == end || !iter.hasNext()));
}
- Invoker.execute(consumer, localExpressionContext, executionContext,
- macroContext, getNext(), getEndInstruction());
+ Invoker.execute(consumer, objectModel, executionContext,
+ macroContext, namespaces, getNext(), getEndInstruction());
// Skip rows
skipCounter = step;
while (--skipCounter > 0 && iter.hasNext()) {
@@ -151,7 +152,11 @@
// Increase index
i += step;
count++;
+
+ objectModel.cleanupLocalContext();
}
+ objectModel.cleanupLocalContext();
+
return getEndInstruction().getNext();
}
}
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/FormatDate.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/FormatDate.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/FormatDate.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/FormatDate.java Thu Jul 19 04:47:58 2007
@@ -22,7 +22,7 @@
import java.util.Stack;
import java.util.TimeZone;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ErrorHolder;
import org.apache.cocoon.template.environment.ExecutionContext;
import org.apache.cocoon.template.environment.ParsingContext;
@@ -30,6 +30,7 @@
import org.apache.cocoon.template.expression.StringTemplateParser;
import org.apache.cocoon.template.script.event.Event;
import org.apache.cocoon.template.script.event.StartElement;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.cocoon.xml.XMLConsumer;
import org.xml.sax.Attributes;
import org.xml.sax.Locator;
@@ -68,11 +69,11 @@
}
public Event execute(final XMLConsumer consumer,
- ExpressionContext expressionContext, ExecutionContext executionContext,
- MacroContext macroContext, Event startEvent, Event endEvent)
+ ObjectModel objectModel, ExecutionContext executionContext,
+ MacroContext macroContext, NamespacesTable namespaces, Event startEvent, Event endEvent)
throws SAXException {
try {
- String result = format(expressionContext);
+ String result = format(objectModel);
if (result != null) {
char[] chars = result.toCharArray();
consumer.characters(chars, 0, chars.length);
@@ -85,21 +86,21 @@
return getNext();
}
- private String format(ExpressionContext expressionContext) throws Exception {
- String var = this.var == null ? null : this.var.getStringValue(expressionContext);
- Object value = this.value == null ? null : this.value.getValue(expressionContext);
-
- String pattern = this.pattern == null ? null : this.pattern.getStringValue(expressionContext);
- Object timeZone = this.timeZone == null ? null : this.timeZone.getValue(expressionContext);
-
- String type = this.type == null ? null : this.type.getStringValue(expressionContext);
- String timeStyle = this.timeStyle == null ? null : this.timeStyle.getStringValue(expressionContext);
- String dateStyle = this.dateStyle == null ? null : this.dateStyle.getStringValue(expressionContext);
+ private String format(ObjectModel objectModel) throws Exception {
+ String var = this.var == null ? null : this.var.getStringValue(objectModel);
+ Object value = this.value == null ? null : this.value.getValue(objectModel);
+
+ String pattern = this.pattern == null ? null : this.pattern.getStringValue(objectModel);
+ Object timeZone = this.timeZone == null ? null : this.timeZone.getValue(objectModel);
+
+ String type = this.type == null ? null : this.type.getStringValue(objectModel);
+ String timeStyle = this.timeStyle == null ? null : this.timeStyle.getStringValue(objectModel);
+ String dateStyle = this.dateStyle == null ? null : this.dateStyle.getStringValue(objectModel);
String formatted = null;
// Create formatter
- Locale locale = getLocale( expressionContext );
+ Locale locale = getLocale( objectModel );
DateFormat formatter = createFormatter(locale, type, dateStyle,
timeStyle);
// Apply pattern, if present
@@ -130,7 +131,7 @@
}
formatted = formatter.format(value);
if (var != null) {
- expressionContext.put(var, formatted);
+ objectModel.put(var, formatted);
return null;
}
return formatted;
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/FormatNumber.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/FormatNumber.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/FormatNumber.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/FormatNumber.java Thu Jul 19 04:47:58 2007
@@ -23,7 +23,7 @@
import java.util.Locale;
import java.util.Stack;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ErrorHolder;
import org.apache.cocoon.template.environment.ExecutionContext;
import org.apache.cocoon.template.environment.ParsingContext;
@@ -31,6 +31,7 @@
import org.apache.cocoon.template.expression.StringTemplateParser;
import org.apache.cocoon.template.script.event.Event;
import org.apache.cocoon.template.script.event.StartElement;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.cocoon.xml.XMLConsumer;
import org.apache.commons.lang.StringUtils;
import org.xml.sax.Attributes;
@@ -97,11 +98,11 @@
}
public Event execute(final XMLConsumer consumer,
- ExpressionContext expressionContext, ExecutionContext executionContext,
- MacroContext macroContext, Event startEvent, Event endEvent)
+ ObjectModel objectModel, ExecutionContext executionContext,
+ MacroContext macroContext, NamespacesTable namespaces, Event startEvent, Event endEvent)
throws SAXException {
try {
- String result = format(expressionContext);
+ String result = format(objectModel);
if (result != null) {
char[] chars = result.toCharArray();
consumer.characters(chars, 0, chars.length);
@@ -115,21 +116,21 @@
return getNext();
}
- private String format(ExpressionContext expressionContext) throws Exception {
+ private String format(ObjectModel objectModel) throws Exception {
// Determine formatting locale
- String var = this.var == null ? null : this.var.getStringValue(expressionContext);
- Number input = this.value.getNumberValue(expressionContext);
- String type = this.type == null ? null : this.type.getStringValue(expressionContext);
- String pattern = this.pattern == null ? null : this.pattern.getStringValue(expressionContext);
- String currencyCode = this.currencyCode == null ? null : this.currencyCode.getStringValue(expressionContext);
- String currencySymbol = this.currencySymbol == null ? null : this.currencySymbol.getStringValue(expressionContext);
- Boolean isGroupingUsed = this.isGroupingUsed == null ? null : this.isGroupingUsed.getBooleanValue(expressionContext);
- Number maxIntegerDigits = this.maxIntegerDigits == null ? null : this.maxIntegerDigits.getNumberValue(expressionContext);
- Number minIntegerDigits = this.minIntegerDigits == null ? null : this.minIntegerDigits.getNumberValue(expressionContext);
- Number maxFractionDigits = this.maxFractionDigits == null ? null : this.maxFractionDigits.getNumberValue(expressionContext);
- Number minFractionDigits = this.minFractionDigits == null ? null : this.minFractionDigits.getNumberValue(expressionContext);
+ String var = this.var == null ? null : this.var.getStringValue(objectModel);
+ Number input = this.value.getNumberValue(objectModel);
+ String type = this.type == null ? null : this.type.getStringValue(objectModel);
+ String pattern = this.pattern == null ? null : this.pattern.getStringValue(objectModel);
+ String currencyCode = this.currencyCode == null ? null : this.currencyCode.getStringValue(objectModel);
+ String currencySymbol = this.currencySymbol == null ? null : this.currencySymbol.getStringValue(objectModel);
+ Boolean isGroupingUsed = this.isGroupingUsed == null ? null : this.isGroupingUsed.getBooleanValue(objectModel);
+ Number maxIntegerDigits = this.maxIntegerDigits == null ? null : this.maxIntegerDigits.getNumberValue(objectModel);
+ Number minIntegerDigits = this.minIntegerDigits == null ? null : this.minIntegerDigits.getNumberValue(objectModel);
+ Number maxFractionDigits = this.maxFractionDigits == null ? null : this.maxFractionDigits.getNumberValue(objectModel);
+ Number minFractionDigits = this.minFractionDigits == null ? null : this.minFractionDigits.getNumberValue(objectModel);
- Locale loc = getLocale(expressionContext);
+ Locale loc = getLocale(objectModel);
String formatted;
if (loc != null) {
// Create formatter
@@ -153,7 +154,7 @@
formatted = input.toString();
}
if (var != null) {
- expressionContext.put(var, formatted);
+ objectModel.put(var, formatted);
return null;
}
return formatted;
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/If.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/If.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/If.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/If.java Thu Jul 19 04:47:58 2007
@@ -18,13 +18,14 @@
import java.util.Stack;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ErrorHolder;
import org.apache.cocoon.template.environment.ExecutionContext;
import org.apache.cocoon.template.environment.ParsingContext;
import org.apache.cocoon.template.expression.JXTExpression;
import org.apache.cocoon.template.script.event.Event;
import org.apache.cocoon.template.script.event.StartElement;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.cocoon.xml.XMLConsumer;
import org.xml.sax.Attributes;
import org.xml.sax.Locator;
@@ -54,13 +55,13 @@
}
public Event execute(final XMLConsumer consumer,
- ExpressionContext expressionContext, ExecutionContext executionContext,
- MacroContext macroContext, Event startEvent, Event endEvent)
+ ObjectModel objectModel, ExecutionContext executionContext,
+ MacroContext macroContext, NamespacesTable namespaces, Event startEvent, Event endEvent)
throws SAXException {
Object val;
try {
- val = this.test.getValue(expressionContext);
+ val = this.test.getValue(objectModel);
} catch (Exception e) {
throw new SAXParseException(e.getMessage(), getLocation(), e);
} catch (Error err) {
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Import.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Import.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Import.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Import.java Thu Jul 19 04:47:58 2007
@@ -20,8 +20,8 @@
import java.util.Stack;
import org.apache.cocoon.ProcessingException;
-import org.apache.cocoon.components.expression.ExpressionContext;
import org.apache.cocoon.environment.TemplateObjectModelHelper;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ErrorHolder;
import org.apache.cocoon.template.environment.ExecutionContext;
import org.apache.cocoon.template.environment.ParsingContext;
@@ -35,6 +35,7 @@
import org.apache.cocoon.template.script.event.StartDocument;
import org.apache.cocoon.template.script.event.StartElement;
import org.apache.cocoon.template.script.event.SubstituteAttribute;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.cocoon.xml.XMLConsumer;
import org.xml.sax.Attributes;
import org.xml.sax.Locator;
@@ -81,8 +82,8 @@
}
public Event execute(final XMLConsumer consumer,
- ExpressionContext expressionContext, ExecutionContext executionContext,
- MacroContext macroContext, Event startEvent, Event endEvent)
+ ObjectModel objectModel, ExecutionContext executionContext,
+ MacroContext macroContext, NamespacesTable namespaces, Event startEvent, Event endEvent)
throws SAXException {
String uri;
AttributeEvent e = this.uri;
@@ -102,7 +103,7 @@
JXTExpression expr = (JXTExpression) subst;
Object val;
try {
- val = expr.getValue(expressionContext);
+ val = expr.getValue(objectModel);
} catch (Exception exc) {
throw new SAXParseException(exc.getMessage(), getLocation(), exc);
} catch (Error err) {
@@ -120,13 +121,12 @@
} catch (ProcessingException exc) {
throw new SAXParseException(exc.getMessage(), getLocation(), exc);
}
- ExpressionContext selectExpressionContext = expressionContext;
+ objectModel.markLocalContext();
if (this.select != null) {
try {
- Object obj = this.select.getValue(expressionContext);
- selectExpressionContext = new ExpressionContext(expressionContext);
- selectExpressionContext.setContextBean(obj);
- TemplateObjectModelHelper.fillContext(obj, selectExpressionContext);
+ Object obj = this.select.getValue(objectModel);
+ objectModel.put(ObjectModel.CONTEXTBEAN, obj);
+ TemplateObjectModelHelper.fillContext(obj, objectModel);
} catch (Exception exc) {
throw new SAXParseException(exc.getMessage(), getLocation(), exc);
} catch (Error err) {
@@ -135,13 +135,16 @@
}
}
try {
- Invoker.execute(consumer, expressionContext, executionContext,
- macroContext, doc.getNext(), doc.getEndDocument());
+ Invoker.execute(consumer, objectModel, executionContext,
+ macroContext, namespaces, doc.getNext(), doc.getEndDocument());
} catch (Exception exc) {
throw new SAXParseException(
"Exception occurred in imported template " + uri
+ ": " + exc.getMessage(), getLocation(), exc);
}
+
+ objectModel.cleanupLocalContext();
+
return getEndInstruction().getNext();
}
}
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/LocaleAwareInstruction.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/LocaleAwareInstruction.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/LocaleAwareInstruction.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/LocaleAwareInstruction.java Thu Jul 19 04:47:58 2007
@@ -19,7 +19,7 @@
import java.util.Locale;
import java.util.Stack;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ParsingContext;
import org.apache.cocoon.template.environment.ValueHelper;
import org.apache.cocoon.template.expression.JXTExpression;
@@ -38,12 +38,12 @@
this.locale = parsingContext.getStringTemplateParser().compileExpr(attrs.getValue("locale"), null, getLocation());
}
- protected Locale getLocale(ExpressionContext expressionContext) throws Exception {
+ protected Locale getLocale(ObjectModel objectModel) throws Exception {
Object locVal = null;
if (this.locale != null) {
- locVal = this.locale.getValue(expressionContext);
+ locVal = this.locale.getValue(objectModel);
if (locVal == null)
- locVal = this.locale.getStringValue(expressionContext);
+ locVal = this.locale.getStringValue(objectModel);
}
if (locVal != null)
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Out.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Out.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Out.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Out.java Thu Jul 19 04:47:58 2007
@@ -20,7 +20,7 @@
import java.util.Stack;
import org.apache.avalon.framework.service.ServiceManager;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ExecutionContext;
import org.apache.cocoon.template.environment.ParsingContext;
import org.apache.cocoon.template.expression.JXTExpression;
@@ -28,6 +28,7 @@
import org.apache.cocoon.template.script.event.Event;
import org.apache.cocoon.template.script.event.StartElement;
import org.apache.cocoon.xml.IncludeXMLConsumer;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.cocoon.xml.XMLConsumer;
import org.apache.commons.lang.BooleanUtils;
import org.apache.excalibur.xml.sax.SAXParser;
@@ -72,12 +73,12 @@
}
public Event execute(final XMLConsumer consumer,
- ExpressionContext expressionContext, ExecutionContext executionContext,
- MacroContext macroContext, Event startEvent, Event endEvent)
+ ObjectModel objectModel, ExecutionContext executionContext,
+ MacroContext macroContext, NamespacesTable namespaces, Event startEvent, Event endEvent)
throws SAXException {
Object val;
try {
- val = this.compiledExpression.getNode(expressionContext);
+ val = this.compiledExpression.getNode(objectModel);
boolean stripRoot = BooleanUtils.toBoolean(this.stripRoot);
//TODO: LG, I do not see a good way to do this.
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/ParameterInstance.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/ParameterInstance.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/ParameterInstance.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/ParameterInstance.java Thu Jul 19 04:47:58 2007
@@ -18,7 +18,7 @@
import java.util.Stack;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ErrorHolder;
import org.apache.cocoon.template.environment.ParsingContext;
import org.apache.cocoon.template.expression.JXTExpression;
@@ -68,9 +68,9 @@
return name;
}
- public Object getValue(ExpressionContext expressionContext) throws SAXException {
+ public Object getValue(ObjectModel objectModel) throws SAXException {
if (this.value instanceof JXTExpression)
- return getExpressionValue((JXTExpression) this.value, expressionContext);
+ return getExpressionValue((JXTExpression) this.value, objectModel);
else if (this.value instanceof CopyAttribute) {
CopyAttribute copy = (CopyAttribute) this.value;
return copy.getValue();
@@ -78,19 +78,19 @@
SubstituteAttribute substEvent = (SubstituteAttribute) this.value;
if (substEvent.getSubstitutions().size() == 1
&& substEvent.getSubstitutions().get(0) instanceof JXTExpression)
- return getExpressionValue((JXTExpression) substEvent.getSubstitutions().get(0), expressionContext);
+ return getExpressionValue((JXTExpression) substEvent.getSubstitutions().get(0), objectModel);
else
- return substEvent.getSubstitutions().toString(getLocation(), expressionContext);
+ return substEvent.getSubstitutions().toString(getLocation(), objectModel);
} else {
throw new Error("this shouldn't have happened");
}
}
- private Object getExpressionValue(JXTExpression expr, ExpressionContext expressionContext) throws SAXException {
+ private Object getExpressionValue(JXTExpression expr, ObjectModel objectModel) throws SAXException {
Object val;
try {
- val = expr.getNode(expressionContext);
+ val = expr.getNode(objectModel);
} catch (Exception e) {
throw new SAXParseException(e.getMessage(), getLocation(), e);
} catch (Error err) {
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Set.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Set.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Set.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Set.java Thu Jul 19 04:47:58 2007
@@ -18,13 +18,14 @@
import java.util.Stack;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ExecutionContext;
import org.apache.cocoon.template.environment.ParsingContext;
import org.apache.cocoon.template.expression.JXTExpression;
import org.apache.cocoon.template.script.Invoker;
import org.apache.cocoon.template.script.event.Event;
import org.apache.cocoon.template.script.event.StartElement;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.cocoon.xml.XMLConsumer;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
@@ -62,27 +63,25 @@
}
public Event execute(final XMLConsumer consumer,
- ExpressionContext expressionContext, ExecutionContext executionContext,
- MacroContext macroContext, Event startEvent, Event endEvent)
+ ObjectModel objectModel, ExecutionContext executionContext,
+ MacroContext macroContext, NamespacesTable namespaces, Event startEvent, Event endEvent)
throws SAXException {
Object value = null;
String var = null;
try {
if (this.var != null) {
- var = this.var.getStringValue(expressionContext);
+ var = this.var.getStringValue(objectModel);
}
if (this.value != null) {
- value = this.value.getNode(expressionContext);
+ value = this.value.getNode(objectModel);
}
} catch (Exception exc) {
throw new SAXParseException(exc.getMessage(), getLocation(), exc);
}
if (this.value == null) {
NodeList nodeList =
- Invoker.toDOMNodeList("set", this,
- expressionContext, executionContext,
- macroContext);
+ Invoker.toDOMNodeList("set", this, objectModel, executionContext, macroContext, namespaces);
// JXPath doesn't handle NodeList, so convert it to an array
int len = nodeList.getLength();
Node[] nodeArr = new Node[len];
@@ -92,7 +91,7 @@
value = nodeArr;
}
if (var != null) {
- expressionContext.put(var, value);
+ objectModel.put(var, value);
}
return getEndInstruction().getNext();
}
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Template.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Template.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Template.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/instruction/Template.java Thu Jul 19 04:47:58 2007
@@ -18,11 +18,12 @@
import java.util.Stack;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ExecutionContext;
import org.apache.cocoon.template.environment.ParsingContext;
import org.apache.cocoon.template.script.event.Event;
import org.apache.cocoon.template.script.event.StartElement;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.cocoon.xml.XMLConsumer;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
@@ -36,8 +37,8 @@
}
public Event execute(final XMLConsumer consumer,
- ExpressionContext expressionContext, ExecutionContext executionContext,
- MacroContext macroContext, Event startEvent, Event endEvent)
+ ObjectModel objectModel, ExecutionContext executionContext,
+ MacroContext macroContext, NamespacesTable namespaces, Event startEvent, Event endEvent)
throws SAXException {
// EMPTY
return getNext();
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/Invoker.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/Invoker.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/Invoker.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/Invoker.java Thu Jul 19 04:47:58 2007
@@ -16,7 +16,7 @@
*/
package org.apache.cocoon.template.script;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.JXTemplateGenerator;
import org.apache.cocoon.template.environment.ExecutionContext;
import org.apache.cocoon.template.environment.LocatorFacade;
@@ -27,6 +27,7 @@
import org.apache.cocoon.template.script.event.Event;
import org.apache.cocoon.template.script.event.StartElement;
import org.apache.cocoon.xml.IncludeXMLConsumer;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.cocoon.xml.XMLConsumer;
import org.apache.cocoon.xml.dom.DOMBuilder;
import org.apache.cocoon.xml.dom.DOMStreamer;
@@ -45,8 +46,8 @@
private static final Attributes EMPTY_ATTRS = new AttributesImpl();
public static void execute(final XMLConsumer consumer,
- ExpressionContext expressionContext,
- ExecutionContext executionContext, MacroContext macroContext,
+ ObjectModel objectModel,
+ ExecutionContext executionContext, MacroContext macroContext, NamespacesTable namespaces,
Event startEvent, Event endEvent) throws SAXException {
Event ev = startEvent;
@@ -61,17 +62,17 @@
Define def = (Define) executionContext
.getDefinitions().get(startElement.getQname());
if (def == null) {
- ev = ev.execute(consumer, expressionContext,
- executionContext, macroContext, startEvent, endEvent);
+ ev = ev.execute(consumer, objectModel,
+ executionContext, macroContext, namespaces, startEvent, endEvent);
continue;
}
Call call = new Call( def, startElement );
- ev = call.execute(consumer, expressionContext,
- executionContext, macroContext, startEvent, endEvent);
+ ev = call.execute(consumer, objectModel,
+ executionContext, macroContext, null, startEvent, endEvent);
} else
- ev = ev.execute(consumer, expressionContext, executionContext,
- macroContext, startEvent, endEvent);
+ ev = ev.execute(consumer, objectModel, executionContext,
+ macroContext, namespaces, startEvent, endEvent);
}
}
@@ -126,15 +127,14 @@
}
public static NodeList toDOMNodeList(String elementName,
- Instruction si, ExpressionContext expressionContext,
- ExecutionContext executionContext, MacroContext macroContext)
+ Instruction si, ObjectModel objectModel,
+ ExecutionContext executionContext, MacroContext macroContext, NamespacesTable namespaces)
throws SAXException {
DOMBuilder builder = new DOMBuilder();
builder.startDocument();
builder.startElement(JXTemplateGenerator.NS, elementName, elementName,
EMPTY_ATTRS);
- execute(builder, expressionContext, executionContext, macroContext, si
- .getNext(), si.getEndInstruction());
+ execute(builder, objectModel, executionContext, macroContext, namespaces, si.getNext(), si.getEndInstruction());
builder.endElement(JXTemplateGenerator.NS, elementName, elementName);
builder.endDocument();
Node node = builder.getDocument().getDocumentElement();
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/Characters.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/Characters.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/Characters.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/Characters.java Thu Jul 19 04:47:58 2007
@@ -18,7 +18,7 @@
import java.util.Iterator;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ErrorHolder;
import org.apache.cocoon.template.environment.ExecutionContext;
import org.apache.cocoon.template.environment.ParsingContext;
@@ -27,6 +27,7 @@
import org.apache.cocoon.template.expression.Subst;
import org.apache.cocoon.template.instruction.MacroContext;
import org.apache.cocoon.template.script.Invoker;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.cocoon.xml.XMLConsumer;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;
@@ -42,9 +43,9 @@
}
public Event execute(XMLConsumer consumer,
- ExpressionContext expressionContext,
+ ObjectModel objectModel,
ExecutionContext executionContext, MacroContext macroContext,
- Event startEvent, Event endEvent) throws SAXException {
+ NamespacesTable namespaces, Event startEvent, Event endEvent) throws SAXException {
Iterator iter = getSubstitutions().iterator();
while (iter.hasNext()) {
Subst subst = (Subst) iter.next();
@@ -55,7 +56,7 @@
} else {
JXTExpression expr = (JXTExpression) subst;
try {
- Object val = expr.getNode(expressionContext);
+ Object val = expr.getNode(objectModel);
Invoker.executeNode(consumer, val);
} catch (Exception e) {
throw new SAXParseException(e.getMessage(), getLocation(), e);
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndCDATA.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndCDATA.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndCDATA.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndCDATA.java Thu Jul 19 04:47:58 2007
@@ -16,9 +16,10 @@
*/
package org.apache.cocoon.template.script.event;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ExecutionContext;
import org.apache.cocoon.template.instruction.MacroContext;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.cocoon.xml.XMLConsumer;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;
@@ -32,9 +33,9 @@
}
public Event execute(XMLConsumer consumer,
- ExpressionContext expressionContext,
+ ObjectModel objectModel,
ExecutionContext executionContext, MacroContext macroContext,
- Event startEvent, Event endEvent) throws SAXException {
+ NamespacesTable namespaces, Event startEvent, Event endEvent) throws SAXException {
consumer.endCDATA();
return getNext();
}
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndDTD.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndDTD.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndDTD.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndDTD.java Thu Jul 19 04:47:58 2007
@@ -16,9 +16,10 @@
*/
package org.apache.cocoon.template.script.event;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ExecutionContext;
import org.apache.cocoon.template.instruction.MacroContext;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.cocoon.xml.XMLConsumer;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;
@@ -33,9 +34,9 @@
public Event execute(XMLConsumer consumer,
- ExpressionContext expressionContext,
+ ObjectModel objectModel,
ExecutionContext executionContext, MacroContext macroContext,
- Event startEvent, Event endEvent) throws SAXException {
+ NamespacesTable namespaces, Event startEvent, Event endEvent) throws SAXException {
consumer.endDTD();
return getNext();
}
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndDocument.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndDocument.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndDocument.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndDocument.java Thu Jul 19 04:47:58 2007
@@ -16,9 +16,10 @@
*/
package org.apache.cocoon.template.script.event;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ExecutionContext;
import org.apache.cocoon.template.instruction.MacroContext;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.cocoon.xml.XMLConsumer;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;
@@ -32,9 +33,9 @@
}
public Event execute(XMLConsumer consumer,
- ExpressionContext expressionContext,
+ ObjectModel objectModel,
ExecutionContext executionContext, MacroContext macroContext,
- Event startEvent, Event endEvent) throws SAXException {
+ NamespacesTable namespaces, Event startEvent, Event endEvent) throws SAXException {
consumer.endDocument();
return getNext();
}
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndElement.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndElement.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndElement.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndElement.java Thu Jul 19 04:47:58 2007
@@ -16,9 +16,10 @@
*/
package org.apache.cocoon.template.script.event;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ExecutionContext;
import org.apache.cocoon.template.instruction.MacroContext;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.cocoon.xml.XMLConsumer;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;
@@ -39,14 +40,15 @@
}
public Event execute(XMLConsumer consumer,
- ExpressionContext expressionContext,
+ ObjectModel objectModel,
ExecutionContext executionContext, MacroContext macroContext,
- Event startEvent, Event endEvent) throws SAXException {
+ NamespacesTable namespaces, Event startEvent, Event endEvent) throws SAXException {
consumer.endElement(startElement.getNamespaceURI(), startElement
.getLocalName(), startElement.getRaw());
// Send any pending endPrefixMapping events
- expressionContext.getNamespaces().leaveScope(consumer);
+ namespaces.leaveScope(consumer);
+
return getNext();
}
}
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndEntity.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndEntity.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndEntity.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndEntity.java Thu Jul 19 04:47:58 2007
@@ -16,9 +16,10 @@
*/
package org.apache.cocoon.template.script.event;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ExecutionContext;
import org.apache.cocoon.template.instruction.MacroContext;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.cocoon.xml.XMLConsumer;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;
@@ -40,9 +41,9 @@
public Event execute(XMLConsumer consumer,
- ExpressionContext expressionContext,
+ ObjectModel objectModel,
ExecutionContext executionContext, MacroContext macroContext,
- Event startEvent, Event endEvent) throws SAXException {
+ NamespacesTable namespaces, Event startEvent, Event endEvent) throws SAXException {
consumer.endEntity( getName() );
return getNext();
}
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndPrefixMapping.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndPrefixMapping.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndPrefixMapping.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/EndPrefixMapping.java Thu Jul 19 04:47:58 2007
@@ -16,9 +16,10 @@
*/
package org.apache.cocoon.template.script.event;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ExecutionContext;
import org.apache.cocoon.template.instruction.MacroContext;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.cocoon.xml.XMLConsumer;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;
@@ -39,11 +40,14 @@
}
public Event execute(XMLConsumer consumer,
- ExpressionContext expressionContext,
+ ObjectModel objectModel,
ExecutionContext executionContext, MacroContext macroContext,
- Event startEvent, Event endEvent) throws SAXException {
+ NamespacesTable namespaces, Event startEvent, Event endEvent) throws SAXException {
+
+ // (endPrefixMapping is sent in EndElement)
+
+ objectModel.cleanupLocalContext();
- // nothing (endPrefixMapping is sent in EndElement)
return getNext();
}
}
Modified: cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/Event.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/Event.java?view=diff&rev=557585&r1=557584&r2=557585
==============================================================================
--- cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/Event.java (original)
+++ cocoon/trunk/blocks/cocoon-template/cocoon-template-impl/src/main/java/org/apache/cocoon/template/script/event/Event.java Thu Jul 19 04:47:58 2007
@@ -16,9 +16,10 @@
*/
package org.apache.cocoon.template.script.event;
-import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.objectmodel.ObjectModel;
import org.apache.cocoon.template.environment.ExecutionContext;
import org.apache.cocoon.template.instruction.MacroContext;
+import org.apache.cocoon.xml.NamespacesTable;
import org.apache.cocoon.xml.XMLConsumer;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;
@@ -65,9 +66,9 @@
}
public Event execute(final XMLConsumer consumer,
- ExpressionContext expressionContext,
+ ObjectModel objectModel,
ExecutionContext executionContext,
- MacroContext macroContext, Event startEvent, Event endEvent)
+ MacroContext macroContext, NamespacesTable namespaces, Event startEvent, Event endEvent)
throws SAXException {
return getNext();
}