You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by lg...@apache.org on 2005/09/06 22:14:05 UTC
svn commit: r279084 - in
/cocoon/blocks/template/trunk/java/org/apache/cocoon/template: ./
environment/ expression/ instruction/ script/ script/event/
Author: lgawron
Date: Tue Sep 6 13:10:53 2005
New Revision: 279084
URL: http://svn.apache.org/viewcvs?rev=279084&view=rev
Log:
expressions compiled with ExpressionFactory
Modified:
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/TransformerAdapter.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/environment/ParsingContext.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/expression/JXTExpressionCompiler.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/expression/Substitutions.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Attribute.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Call.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Choose.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Comment.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Define.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Eval.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/EvalBody.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/ForEach.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/FormatDate.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/FormatNumber.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/If.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Import.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/LocaleAwareInstruction.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Otherwise.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Out.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Parameter.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/ParameterInstance.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Set.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Template.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/When.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/DefaultInstructionFactory.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/InstructionFactory.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/Parser.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/event/Characters.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/event/IgnorableWhitespace.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/event/StartElement.java
cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/event/TextEvent.java
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/TransformerAdapter.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/TransformerAdapter.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/TransformerAdapter.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/TransformerAdapter.java Tue Sep 6 13:10:53 2005
@@ -61,6 +61,7 @@
}
public void dispose() {
+ setParsingContext( null );
this.manager.release(this.parsingContext.getInstructionFactory());
this.manager.release(this.parsingContext.getExpressionFactory());
}
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/environment/ParsingContext.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/environment/ParsingContext.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/environment/ParsingContext.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/environment/ParsingContext.java Tue Sep 6 13:10:53 2005
@@ -16,6 +16,7 @@
package org.apache.cocoon.template.environment;
import org.apache.cocoon.components.expression.ExpressionFactory;
+import org.apache.cocoon.template.expression.JXTExpressionCompiler;
import org.apache.cocoon.template.script.InstructionFactory;
/**
@@ -24,26 +25,23 @@
public class ParsingContext {
private ExpressionFactory expressionFactory;
private InstructionFactory instructionFactory;
+ private JXTExpressionCompiler jxtExpressionCompiler;
public ParsingContext(ExpressionFactory expressionFactory, InstructionFactory instructionFactory) {
this.expressionFactory = expressionFactory;
this.instructionFactory = instructionFactory;
+ this.jxtExpressionCompiler = new JXTExpressionCompiler(this.expressionFactory);
}
public ExpressionFactory getExpressionFactory() {
return expressionFactory;
}
- public void setExpressionFactory(ExpressionFactory expressionFactory) {
- this.expressionFactory = expressionFactory;
- }
-
public InstructionFactory getInstructionFactory() {
return instructionFactory;
}
- public void setInstructionFactory(InstructionFactory instructionFactory) {
- this.instructionFactory = instructionFactory;
+ public JXTExpressionCompiler getJxtExpressionCompiler() {
+ return jxtExpressionCompiler;
}
-
}
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/expression/JXTExpressionCompiler.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/expression/JXTExpressionCompiler.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/expression/JXTExpressionCompiler.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/expression/JXTExpressionCompiler.java Tue Sep 6 13:10:53 2005
@@ -24,31 +24,34 @@
import java.io.StringReader;
import org.apache.cocoon.components.expression.Expression;
-import org.apache.cocoon.components.expression.jexl.JexlCompiler;
-import org.apache.cocoon.components.expression.jxpath.JXPathCompiler;
+import org.apache.cocoon.components.expression.ExpressionFactory;
import org.apache.cocoon.template.environment.ErrorHolder;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
public class JXTExpressionCompiler {
- public static JXPathCompiler jxpathCompiler = new JXPathCompiler();
- public static JexlCompiler jexlCompiler = new JexlCompiler();
+ private ExpressionFactory expressionFactory;
public static String JXPATH = "jxpath";
public static String JEXL = "jexl";
- public static JXTExpression compile(final String expression, boolean xpath)
+
+ public JXTExpressionCompiler(ExpressionFactory expressionFactory) {
+ this.expressionFactory = expressionFactory;
+ }
+
+ public JXTExpression compile(final String expression, boolean xpath)
throws Exception {
Expression compiled;
- if (xpath) {
- compiled = jxpathCompiler.compile(JXPATH, expression);
- } else {
- compiled = jexlCompiler.compile(JEXL, expression);
- }
+ if (xpath)
+ compiled = this.expressionFactory.getExpression(JXPATH, expression);
+ else
+ compiled = this.expressionFactory.getExpression(JEXL, expression);
return new JXTExpression(expression, compiled);
}
- public static JXTExpression compileBoolean(String val, String msg,
+
+ public JXTExpression compileBoolean(String val, String msg,
Locator location) throws SAXException {
- JXTExpression res = JXTExpressionCompiler.compileExpr(val, msg, location);
+ JXTExpression res = compileExpr(val, msg, location);
if (res != null && res.getCompiledExpression() == null && res.getRaw() != null) {
res.setCompiledExpression(Boolean.valueOf(res.getRaw()));
}
@@ -58,15 +61,15 @@
* Compile an integer expression (returns either a Compiled Expression or an
* Integer literal)
*/
- public static JXTExpression compileInt(String val, String msg,
+ public JXTExpression compileInt(String val, String msg,
Locator location) throws SAXException {
- JXTExpression res = JXTExpressionCompiler.compileExpr(val, msg, location);
+ JXTExpression res = compileExpr(val, msg, location);
if (res != null && res.getCompiledExpression() == null && res.getRaw() != null) {
res.setCompiledExpression(Integer.valueOf(res.getRaw()));
}
return res;
}
- public static JXTExpression compileExpr(String inStr) throws Exception {
+ public JXTExpression compileExpr(String inStr) throws Exception {
try {
if (inStr == null) {
return null;
@@ -114,7 +117,7 @@
* Compile a single Jexl expr (contained in ${}) or XPath expression
* (contained in #{})
*/
- public static JXTExpression compileExpr(String expr, String errorPrefix,
+ public JXTExpression compileExpr(String expr, String errorPrefix,
Locator location) throws SAXParseException {
try {
return compileExpr(expr);
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/expression/Substitutions.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/expression/Substitutions.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/expression/Substitutions.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/expression/Substitutions.java Tue Sep 6 13:10:53 2005
@@ -25,6 +25,7 @@
import org.apache.cocoon.components.expression.ExpressionContext;
import org.apache.cocoon.template.environment.ErrorHolder;
+import org.apache.cocoon.template.environment.ParsingContext;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
@@ -37,16 +38,16 @@
final private List substitutions;
final private boolean hasSubstitutions;
- public Substitutions(Locator location, String stringTemplate) throws SAXException {
- this(location, new StringReader(stringTemplate));
+ public Substitutions(ParsingContext parsingContext, Locator location, String stringTemplate) throws SAXException {
+ this(parsingContext, location, new StringReader(stringTemplate));
}
- public Substitutions(Locator location, char[] chars, int start, int length)
+ public Substitutions(ParsingContext parsingContext, Locator location, char[] chars, int start, int length)
throws SAXException {
- this(location, new CharArrayReader(chars, start, length));
+ this(parsingContext, location, new CharArrayReader(chars, start, length));
}
- private Substitutions(Locator location, Reader in) throws SAXException {
+ private Substitutions(ParsingContext parsingContext, Locator location, Reader in) throws SAXException {
LinkedList substitutions = new LinkedList();
StringBuffer buf = new StringBuffer();
buf.setLength(0);
@@ -68,7 +69,7 @@
String str = buf.toString();
JXTExpression compiledExpression;
try {
- compiledExpression = JXTExpressionCompiler.compile(str, xpath);
+ compiledExpression = parsingContext.getJxtExpressionCompiler().compile(str, xpath);
} catch (Exception exc) {
throw new SAXParseException(exc.getMessage(),
location, exc);
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Attribute.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Attribute.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Attribute.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Attribute.java Tue Sep 6 13:10:53 2005
@@ -7,8 +7,8 @@
import org.apache.cocoon.components.expression.ExpressionContext;
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.expression.JXTExpressionCompiler;
import org.apache.cocoon.template.script.event.Event;
import org.apache.cocoon.template.script.event.StartElement;
import org.apache.cocoon.template.xml.AttributeAwareXMLConsumer;
@@ -25,7 +25,7 @@
private JXTExpression name;
private JXTExpression value;
- public Attribute(StartElement raw, Attributes attrs, Stack stack)
+ public Attribute(ParsingContext parsingContext, StartElement raw, Attributes attrs, Stack stack)
throws SAXException {
super(raw);
@@ -35,7 +35,7 @@
throw new SAXParseException("parameter: \"name\" is required",
locator, null);
}
- this.name = JXTExpressionCompiler.compileExpr(name, "parameter: \"name\": ",
+ this.name = parsingContext.getJxtExpressionCompiler().compileExpr(name, "parameter: \"name\": ",
locator);
String value = attrs.getValue("value");
@@ -43,7 +43,7 @@
throw new SAXParseException("parameter: \"value\" is required",
locator, null);
- this.value = JXTExpressionCompiler.compileExpr(value, "parameter: \"value\": ",
+ this.value = parsingContext.getJxtExpressionCompiler().compileExpr(value, "parameter: \"value\": ",
locator);
}
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Call.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Call.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Call.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Call.java Tue Sep 6 13:10:53 2005
@@ -23,8 +23,8 @@
import org.apache.cocoon.components.expression.ExpressionContext;
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.expression.JXTExpressionCompiler;
import org.apache.cocoon.template.script.Invoker;
import org.apache.cocoon.template.script.event.AttributeEvent;
import org.apache.cocoon.template.script.event.Characters;
@@ -63,7 +63,7 @@
}
}
- public Call(StartElement raw, Attributes attrs, Stack stack)
+ public Call(ParsingContext parsingContext, StartElement raw, Attributes attrs, Stack stack)
throws SAXException {
super(raw);
this.parameters = new HashMap();
@@ -74,12 +74,12 @@
throw new SAXParseException("if: \"test\" is required", locator,
null);
}
- this.macro = JXTExpressionCompiler.compileExpr(name, "call: \"macro\": ",
+ this.macro = parsingContext.getJxtExpressionCompiler().compileExpr(name, "call: \"macro\": ",
locator);
String namespace = StringUtils.defaultString(attrs
.getValue("targetNamespace"));
- this.targetNamespace = JXTExpressionCompiler.compileExpr(namespace,
+ this.targetNamespace = parsingContext.getJxtExpressionCompiler().compileExpr(namespace,
"call: \"targetNamespace\": ", locator);
}
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Choose.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Choose.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Choose.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Choose.java Tue Sep 6 13:10:53 2005
@@ -19,6 +19,7 @@
import org.apache.cocoon.components.expression.ExpressionContext;
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;
@@ -35,7 +36,7 @@
private When firstChoice;
private Otherwise otherwise;
- public Choose(StartElement raw, Attributes attrs, Stack stack) {
+ public Choose(ParsingContext parsingContext, StartElement raw, Attributes attrs, Stack stack) {
super(raw);
}
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Comment.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Comment.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Comment.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Comment.java Tue Sep 6 13:10:53 2005
@@ -21,6 +21,7 @@
import org.apache.cocoon.ProcessingException;
import org.apache.cocoon.components.expression.ExpressionContext;
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;
@@ -36,7 +37,7 @@
* @version SVN $Id$
*/
public class Comment extends Instruction {
- public Comment(StartElement raw, Attributes attrs, Stack stack) {
+ public Comment(ParsingContext parsingContext, StartElement raw, Attributes attrs, Stack stack) {
// <jx:comment>This will be parsed</jx:comment>
super(raw);
}
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Define.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Define.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Define.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Define.java Tue Sep 6 13:10:53 2005
@@ -21,6 +21,7 @@
import org.apache.cocoon.components.expression.ExpressionContext;
import org.apache.cocoon.template.environment.ExecutionContext;
+import org.apache.cocoon.template.environment.ParsingContext;
import org.apache.cocoon.template.script.event.Characters;
import org.apache.cocoon.template.script.event.Event;
import org.apache.cocoon.template.script.event.IgnorableWhitespace;
@@ -43,7 +44,7 @@
private final Map parameters;
private Event body;
- public Define(StartElement raw, Attributes attrs, Stack stack)
+ public Define(ParsingContext parsingContext, StartElement raw, Attributes attrs, Stack stack)
throws SAXException {
super(raw);
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Eval.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Eval.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Eval.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Eval.java Tue Sep 6 13:10:53 2005
@@ -20,8 +20,8 @@
import org.apache.cocoon.components.expression.ExpressionContext;
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.expression.JXTExpressionCompiler;
import org.apache.cocoon.template.script.Invoker;
import org.apache.cocoon.template.script.event.Event;
import org.apache.cocoon.template.script.event.StartElement;
@@ -36,13 +36,13 @@
public class Eval extends Instruction {
private final JXTExpression value;
- public Eval(StartElement raw, Attributes attrs, Stack stack)
+ public Eval(ParsingContext parsingContext, StartElement raw, Attributes attrs, Stack stack)
throws SAXException {
super(raw);
String select = attrs.getValue("select");
- this.value = JXTExpressionCompiler.compileExpr(select, "eval: \"select\":", getLocation());
+ this.value = parsingContext.getJxtExpressionCompiler().compileExpr(select, "eval: \"select\":", getLocation());
}
public Event execute(final XMLConsumer consumer,
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/EvalBody.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/EvalBody.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/EvalBody.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/EvalBody.java Tue Sep 6 13:10:53 2005
@@ -20,6 +20,7 @@
import org.apache.cocoon.components.expression.ExpressionContext;
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;
@@ -32,7 +33,7 @@
* @version SVN $Id$
*/
public class EvalBody extends Instruction {
- public EvalBody(StartElement raw, Attributes attrs, Stack stack) {
+ public EvalBody(ParsingContext parsingContext, StartElement raw, Attributes attrs, Stack stack) {
super(raw);
}
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/ForEach.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/ForEach.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/ForEach.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/ForEach.java Tue Sep 6 13:10:53 2005
@@ -21,6 +21,7 @@
import org.apache.cocoon.components.expression.ExpressionContext;
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.expression.JXTExpressionCompiler;
import org.apache.cocoon.template.script.Invoker;
@@ -45,7 +46,7 @@
private final JXTExpression step;
private final Boolean lenient;
- public ForEach(StartElement raw, Attributes attrs, Stack stack)
+ public ForEach(ParsingContext parsingContext, StartElement raw, Attributes attrs, Stack stack)
throws SAXException {
super(raw);
@@ -55,11 +56,13 @@
String items = attrs.getValue("items");
String select = attrs.getValue("select");
- this.var = JXTExpressionCompiler.compileExpr(attrs.getValue("var"), null, locator);
- this.varStatus = JXTExpressionCompiler.compileExpr(attrs.getValue("varStatus"), null, locator);
- this.begin = JXTExpressionCompiler.compileInt(attrs.getValue("begin"), name, locator);
- this.end = JXTExpressionCompiler.compileInt(attrs.getValue("end"), name, locator);
- this.step = JXTExpressionCompiler.compileInt(attrs.getValue("step"), name, locator);
+
+ JXTExpressionCompiler expressionCompiler = parsingContext.getJxtExpressionCompiler();
+ this.var = expressionCompiler.compileExpr(attrs.getValue("var"), null, locator);
+ this.varStatus = expressionCompiler.compileExpr(attrs.getValue("varStatus"), null, locator);
+ this.begin = expressionCompiler.compileInt(attrs.getValue("begin"), name, locator);
+ this.end = expressionCompiler.compileInt(attrs.getValue("end"), name, locator);
+ this.step = expressionCompiler.compileInt(attrs.getValue("step"), name, locator);
String lenientValue = attrs.getValue("lenient");
this.lenient = (lenientValue == null) ? null : Boolean.valueOf(lenientValue);
@@ -73,7 +76,7 @@
locator, null);
}
- this.items = JXTExpressionCompiler.compileExpr(items == null ? select : items, null, locator);
+ this.items = expressionCompiler.compileExpr(items == null ? select : items, null, locator);
}
public Event execute(final XMLConsumer consumer,
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/FormatDate.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/FormatDate.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/FormatDate.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/FormatDate.java Tue Sep 6 13:10:53 2005
@@ -24,6 +24,7 @@
import org.apache.cocoon.components.expression.ExpressionContext;
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.expression.JXTExpressionCompiler;
import org.apache.cocoon.template.script.event.Event;
@@ -49,19 +50,20 @@
private JXTExpression timeZone;
private JXTExpression dateStyle;
private JXTExpression timeStyle;
- public FormatDate(StartElement raw, Attributes attrs, Stack stack)
+ public FormatDate(ParsingContext parsingContext, StartElement raw, Attributes attrs, Stack stack)
throws SAXException{
- super(raw, attrs, stack);
+ super(parsingContext, raw, attrs, stack);
Locator locator = getLocation();
- this.var = JXTExpressionCompiler.compileExpr(attrs.getValue("var"), null, locator);
- this.value = JXTExpressionCompiler.compileExpr(attrs.getValue("value"), null, locator);
- this.type = JXTExpressionCompiler.compileExpr(attrs.getValue("type"), null, locator);
- this.pattern = JXTExpressionCompiler.compileExpr(attrs.getValue("pattern"), null, locator);
- this.timeZone = JXTExpressionCompiler.compileExpr(attrs.getValue("timeZone"), null, locator);
- this.dateStyle = JXTExpressionCompiler.compileExpr(attrs.getValue("dateStyle"), null, locator);
- this.timeStyle = JXTExpressionCompiler.compileExpr(attrs.getValue("timeStyle"), null, locator);
+ JXTExpressionCompiler expressionCompiler = parsingContext.getJxtExpressionCompiler();
+ this.var = expressionCompiler.compileExpr(attrs.getValue("var"), null, locator);
+ this.value = expressionCompiler.compileExpr(attrs.getValue("value"), null, locator);
+ this.type = expressionCompiler.compileExpr(attrs.getValue("type"), null, locator);
+ this.pattern = expressionCompiler.compileExpr(attrs.getValue("pattern"), null, locator);
+ this.timeZone = expressionCompiler.compileExpr(attrs.getValue("timeZone"), null, locator);
+ this.dateStyle = expressionCompiler.compileExpr(attrs.getValue("dateStyle"), null, locator);
+ this.timeStyle = expressionCompiler.compileExpr(attrs.getValue("timeStyle"), null, locator);
}
public Event execute(final XMLConsumer consumer,
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/FormatNumber.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/FormatNumber.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/FormatNumber.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/FormatNumber.java Tue Sep 6 13:10:53 2005
@@ -25,6 +25,7 @@
import org.apache.cocoon.components.expression.ExpressionContext;
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.expression.JXTExpressionCompiler;
import org.apache.cocoon.template.script.event.Event;
@@ -40,7 +41,6 @@
* @version SVN $Id$
*/
public class FormatNumber extends LocaleAwareInstruction {
-
private JXTExpression value;
private JXTExpression type;
private JXTExpression pattern;
@@ -69,30 +69,31 @@
}
}
- public FormatNumber(StartElement raw, Attributes attrs, Stack stack)
+ public FormatNumber(ParsingContext parsingContext, StartElement raw, Attributes attrs, Stack stack)
throws SAXException {
- super(raw, attrs, stack);
+ super(parsingContext, raw, attrs, stack);
Locator locator = getLocation();
- this.value = JXTExpressionCompiler.compileExpr(attrs.getValue("value"), null, locator);
- this.type = JXTExpressionCompiler.compileExpr(attrs.getValue("type"), null, locator);
- this.pattern = JXTExpressionCompiler.compileExpr(attrs.getValue("pattern"), null, locator);
+ JXTExpressionCompiler expressionCompiler = parsingContext.getJxtExpressionCompiler();
+ this.value = expressionCompiler.compileExpr(attrs.getValue("value"), null, locator);
+ this.type = expressionCompiler.compileExpr(attrs.getValue("type"), null, locator);
+ this.pattern = expressionCompiler.compileExpr(attrs.getValue("pattern"), null, locator);
this.currencyCode =
- JXTExpressionCompiler.compileExpr(attrs.getValue("currencyCode"), null, locator);
+ expressionCompiler.compileExpr(attrs.getValue("currencyCode"), null, locator);
this.currencySymbol =
- JXTExpressionCompiler.compileExpr(attrs.getValue("currencySymbol"), null, locator);
+ expressionCompiler.compileExpr(attrs.getValue("currencySymbol"), null, locator);
this.isGroupingUsed =
- JXTExpressionCompiler.compileBoolean(attrs.getValue("isGroupingUsed"), null, locator);
+ expressionCompiler.compileBoolean(attrs.getValue("isGroupingUsed"), null, locator);
this.maxIntegerDigits =
- JXTExpressionCompiler.compileInt(attrs.getValue("maxIntegerDigits"), null, locator);
+ expressionCompiler.compileInt(attrs.getValue("maxIntegerDigits"), null, locator);
this.minIntegerDigits =
- JXTExpressionCompiler.compileInt(attrs.getValue("minIntegerDigits"), null, locator);
+ expressionCompiler.compileInt(attrs.getValue("minIntegerDigits"), null, locator);
this.maxFractionDigits =
- JXTExpressionCompiler.compileInt(attrs.getValue("maxFractionDigits"), null, locator);
+ expressionCompiler.compileInt(attrs.getValue("maxFractionDigits"), null, locator);
this.minFractionDigits =
- JXTExpressionCompiler.compileInt(attrs.getValue("minFractionDigits"), null, locator);
- this.var = JXTExpressionCompiler.compileExpr(attrs.getValue("var"), null, locator);
+ expressionCompiler.compileInt(attrs.getValue("minFractionDigits"), null, locator);
+ this.var = expressionCompiler.compileExpr(attrs.getValue("var"), null, locator);
}
public Event execute(final XMLConsumer consumer,
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/If.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/If.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/If.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/If.java Tue Sep 6 13:10:53 2005
@@ -20,8 +20,8 @@
import org.apache.cocoon.components.expression.ExpressionContext;
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.expression.JXTExpressionCompiler;
import org.apache.cocoon.template.script.event.Event;
import org.apache.cocoon.template.script.event.StartElement;
import org.apache.cocoon.xml.XMLConsumer;
@@ -36,7 +36,7 @@
public class If extends Instruction {
private final JXTExpression test;
- public If(StartElement raw, Attributes attrs, Stack stack)
+ public If(ParsingContext parsingContext, StartElement raw, Attributes attrs, Stack stack)
throws SAXException {
super(raw);
@@ -44,7 +44,7 @@
Locator locator = getLocation();
String test = attrs.getValue("test");
if (test != null) {
- this.test = JXTExpressionCompiler.compileExpr(test, "if: \"test\": ", locator);
+ this.test = parsingContext.getJxtExpressionCompiler().compileExpr(test, "if: \"test\": ", locator);
// Why is test lenient?
this.test.setLenient(Boolean.TRUE);
} else {
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Import.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Import.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Import.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Import.java Tue Sep 6 13:10:53 2005
@@ -23,8 +23,8 @@
import org.apache.cocoon.environment.TemplateObjectModelHelper;
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.expression.JXTExpressionCompiler;
import org.apache.cocoon.template.expression.Literal;
import org.apache.cocoon.template.expression.Subst;
import org.apache.cocoon.template.script.Invoker;
@@ -48,7 +48,7 @@
private final AttributeEvent uri;
private final JXTExpression select;
- public Import(StartElement raw, Attributes attrs, Stack stack)
+ public Import(ParsingContext parsingContext, StartElement raw, Attributes attrs, Stack stack)
throws SAXException {
super(raw);
@@ -70,7 +70,7 @@
// as the context object in the imported template
String context = attrs.getValue("context");
if (context != null) {
- select = JXTExpressionCompiler.compileExpr(context, "import: \"context\": ", locator);
+ select = parsingContext.getJxtExpressionCompiler().compileExpr(context, "import: \"context\": ", locator);
}
} else {
throw new SAXParseException("import: \"uri\" is required", locator, null);
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/LocaleAwareInstruction.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/LocaleAwareInstruction.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/LocaleAwareInstruction.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/LocaleAwareInstruction.java Tue Sep 6 13:10:53 2005
@@ -19,9 +19,9 @@
import java.util.Stack;
import org.apache.cocoon.components.expression.ExpressionContext;
+import org.apache.cocoon.template.environment.ParsingContext;
import org.apache.cocoon.template.environment.ValueHelper;
import org.apache.cocoon.template.expression.JXTExpression;
-import org.apache.cocoon.template.expression.JXTExpressionCompiler;
import org.apache.cocoon.template.script.event.StartElement;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
@@ -32,9 +32,9 @@
public class LocaleAwareInstruction extends Instruction {
private JXTExpression locale;
- public LocaleAwareInstruction(StartElement raw, Attributes attrs, Stack stack) throws SAXException {
+ public LocaleAwareInstruction(ParsingContext parsingContext, StartElement raw, Attributes attrs, Stack stack) throws SAXException {
super(raw);
- this.locale = JXTExpressionCompiler.compileExpr(attrs.getValue("locale"), null, getLocation());
+ this.locale = parsingContext.getJxtExpressionCompiler().compileExpr(attrs.getValue("locale"), null, getLocation());
}
protected Locale getLocale(ExpressionContext expressionContext) throws Exception {
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Otherwise.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Otherwise.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Otherwise.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Otherwise.java Tue Sep 6 13:10:53 2005
@@ -17,6 +17,7 @@
import java.util.Stack;
+import org.apache.cocoon.template.environment.ParsingContext;
import org.apache.cocoon.template.script.event.StartElement;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
@@ -26,7 +27,7 @@
* @version SVN $Id$
*/
public class Otherwise extends Instruction {
- public Otherwise(StartElement raw, Attributes attrs, Stack stack)
+ public Otherwise(ParsingContext parsingContext, StartElement raw, Attributes attrs, Stack stack)
throws SAXException {
super(raw);
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Out.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Out.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Out.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Out.java Tue Sep 6 13:10:53 2005
@@ -21,8 +21,8 @@
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.cocoon.components.expression.ExpressionContext;
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.expression.JXTExpressionCompiler;
import org.apache.cocoon.template.script.Invoker;
import org.apache.cocoon.template.script.event.Event;
import org.apache.cocoon.template.script.event.StartElement;
@@ -46,7 +46,7 @@
private Boolean xmlize;
private Boolean stripRoot;
- public Out(StartElement raw, Attributes attrs, Stack stack)
+ public Out(ParsingContext parsingContext, StartElement raw, Attributes attrs, Stack stack)
throws SAXException {
super(raw);
@@ -55,7 +55,7 @@
if (value == null)
throw new SAXParseException("out: \"value\" is required", locator, null);
- this.compiledExpression = JXTExpressionCompiler.compileExpr(value, "out: \"value\": ", locator);
+ this.compiledExpression = parsingContext.getJxtExpressionCompiler().compileExpr(value, "out: \"value\": ", locator);
String lenientValue = attrs.getValue("lenient");
Boolean lenient = lenientValue == null ? null : Boolean.valueOf(lenientValue);
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Parameter.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Parameter.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Parameter.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Parameter.java Tue Sep 6 13:10:53 2005
@@ -17,6 +17,7 @@
import java.util.Stack;
+import org.apache.cocoon.template.environment.ParsingContext;
import org.apache.cocoon.template.script.event.StartElement;
import org.xml.sax.Attributes;
import org.xml.sax.Locator;
@@ -31,7 +32,7 @@
final String optional;
private final String defaultValue;
- public Parameter(StartElement raw, Attributes attrs, Stack stack)
+ public Parameter(ParsingContext parsingContext, StartElement raw, Attributes attrs, Stack stack)
throws SAXException {
super(raw);
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/ParameterInstance.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/ParameterInstance.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/ParameterInstance.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/ParameterInstance.java Tue Sep 6 13:10:53 2005
@@ -19,8 +19,8 @@
import org.apache.cocoon.components.expression.ExpressionContext;
import org.apache.cocoon.template.environment.ErrorHolder;
+import org.apache.cocoon.template.environment.ParsingContext;
import org.apache.cocoon.template.expression.JXTExpression;
-import org.apache.cocoon.template.expression.JXTExpressionCompiler;
import org.apache.cocoon.template.script.event.AttributeEvent;
import org.apache.cocoon.template.script.event.CopyAttribute;
import org.apache.cocoon.template.script.event.StartElement;
@@ -37,27 +37,23 @@
final String name;
private final Object value;
- public ParameterInstance(StartElement raw, Attributes attrs,
- Stack stack) throws SAXException {
+ public ParameterInstance(ParsingContext parsingContext, StartElement raw, Attributes attrs, Stack stack)
+ throws SAXException {
super(raw);
Locator locator = getLocation();
if (stack.size() == 0 || !(stack.peek() instanceof Call)) {
- throw new SAXParseException("<parameter> not allowed here",
- locator, null);
+ throw new SAXParseException("<parameter> not allowed here", locator, null);
} else {
this.name = attrs.getValue("name");
if (this.name == null) {
- throw new SAXParseException("parameter: \"name\" is required",
- locator, null);
+ throw new SAXParseException("parameter: \"name\" is required", locator, null);
}
String val = attrs.getValue("value");
if (val == null)
- throw new SAXParseException("parameter: \"value\" is required",
- locator, null);
+ throw new SAXParseException("parameter: \"value\" is required", locator, null);
- this.value = JXTExpressionCompiler.compileExpr(val,
- "parameter: \"value\": ", locator);
+ this.value = parsingContext.getJxtExpressionCompiler().compileExpr(val, "parameter: \"value\": ", locator);
}
}
@@ -71,11 +67,9 @@
return name;
}
- public Object getValue(ExpressionContext expressionContext)
- throws SAXException {
+ public Object getValue(ExpressionContext expressionContext) throws SAXException {
if (this.value instanceof JXTExpression)
- return getExpressionValue((JXTExpression) this.value,
- expressionContext);
+ return getExpressionValue((JXTExpression) this.value, expressionContext);
else if (this.value instanceof CopyAttribute) {
CopyAttribute copy = (CopyAttribute) this.value;
return copy.getValue();
@@ -83,27 +77,23 @@
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), expressionContext);
else
- return substEvent.getSubstitutions().toString(getLocation(),
- expressionContext);
+ return substEvent.getSubstitutions().toString(getLocation(), expressionContext);
} else {
throw new Error("this shouldn't have happened");
}
}
- private Object getExpressionValue(JXTExpression expr,
- ExpressionContext expressionContext) throws SAXException {
+ private Object getExpressionValue(JXTExpression expr, ExpressionContext expressionContext) throws SAXException {
Object val;
try {
val = expr.getNode(expressionContext);
} catch (Exception e) {
throw new SAXParseException(e.getMessage(), getLocation(), e);
} catch (Error err) {
- throw new SAXParseException(err.getMessage(), getLocation(),
- new ErrorHolder(err));
+ throw new SAXParseException(err.getMessage(), getLocation(), new ErrorHolder(err));
}
return val != null ? val : "";
}
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Set.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Set.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Set.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Set.java Tue Sep 6 13:10:53 2005
@@ -19,8 +19,8 @@
import org.apache.cocoon.components.expression.ExpressionContext;
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.expression.JXTExpressionCompiler;
import org.apache.cocoon.template.script.Invoker;
import org.apache.cocoon.template.script.event.Event;
import org.apache.cocoon.template.script.event.StartElement;
@@ -40,7 +40,7 @@
private final JXTExpression var;
private final JXTExpression value;
- public Set(StartElement raw, Attributes attrs, Stack stack)
+ public Set(ParsingContext parsingContext, StartElement raw, Attributes attrs, Stack stack)
throws SAXException {
super(raw);
@@ -51,10 +51,10 @@
JXTExpression varExpr = null;
JXTExpression valueExpr = null;
if (var != null) {
- varExpr = JXTExpressionCompiler.compileExpr(var, "set: \"var\":", locator);
+ varExpr = parsingContext.getJxtExpressionCompiler().compileExpr(var, "set: \"var\":", locator);
}
if (value != null) {
- valueExpr = JXTExpressionCompiler.compileExpr(value, "set: \"value\":", locator);
+ valueExpr = parsingContext.getJxtExpressionCompiler().compileExpr(value, "set: \"value\":", locator);
}
this.var = varExpr;
this.value = valueExpr;
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Template.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Template.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Template.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/Template.java Tue Sep 6 13:10:53 2005
@@ -19,6 +19,7 @@
import org.apache.cocoon.components.expression.ExpressionContext;
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.XMLConsumer;
@@ -29,7 +30,7 @@
* @version SVN $Id$
*/
public class Template extends Instruction {
- public Template(StartElement raw, Attributes attrs, Stack stack) {
+ public Template(ParsingContext parsingContext, StartElement raw, Attributes attrs, Stack stack) {
super(raw);
}
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/When.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/When.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/When.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/instruction/When.java Tue Sep 6 13:10:53 2005
@@ -17,8 +17,8 @@
import java.util.Stack;
+import org.apache.cocoon.template.environment.ParsingContext;
import org.apache.cocoon.template.expression.JXTExpression;
-import org.apache.cocoon.template.expression.JXTExpressionCompiler;
import org.apache.cocoon.template.script.event.StartElement;
import org.xml.sax.Attributes;
import org.xml.sax.Locator;
@@ -32,7 +32,7 @@
private final JXTExpression test;
private When nextChoice;
- public When(StartElement raw, Attributes attrs, Stack stack)
+ public When(ParsingContext parsingContext, StartElement raw, Attributes attrs, Stack stack)
throws SAXException {
super(raw);
@@ -44,7 +44,7 @@
}
String test = attrs.getValue("test");
if (test != null) {
- this.test = JXTExpressionCompiler.compileExpr(test, "when: \"test\": ", locator);
+ this.test = parsingContext.getJxtExpressionCompiler().compileExpr(test, "when: \"test\": ", locator);
// Why is test lenient?
this.test.setLenient(Boolean.TRUE);
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/DefaultInstructionFactory.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/DefaultInstructionFactory.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/DefaultInstructionFactory.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/DefaultInstructionFactory.java Tue Sep 6 13:10:53 2005
@@ -29,6 +29,7 @@
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.avalon.framework.thread.ThreadSafe;
+import org.apache.cocoon.template.environment.ParsingContext;
import org.apache.cocoon.template.instruction.Instruction;
import org.apache.cocoon.template.script.event.StartElement;
import org.apache.commons.lang.ClassUtils;
@@ -46,8 +47,8 @@
InstructionFactory {
private Map instructions = new HashMap();
private ServiceManager manager;
- private final static Class[] INSTRUCTION_CONSTRUCTOR_PARAMS = new Class[] { StartElement.class, Attributes.class,
- Stack.class };
+ private final static Class[] INSTRUCTION_CONSTRUCTOR_PARAMS = new Class[] { ParsingContext.class,
+ StartElement.class, Attributes.class, Stack.class };
private final static String CONFIG_LOCATION = "resource://org/apache/cocoon/template/template-instructions.xml";
private void registerInstruction(String instructionName, String targetNamespace, String className)
@@ -83,12 +84,12 @@
return this.instructions.containsKey(instructionKey);
}
- public Instruction createInstruction(StartElement startElement, Attributes attrs, Stack stack) throws SAXException {
+ public Instruction createInstruction(ParsingContext parsingContext, StartElement startElement, Attributes attrs, Stack stack) throws SAXException {
String instructionKey = instructionKey(startElement);
Constructor constructor = (Constructor) this.instructions.get(instructionKey);
if (constructor == null)
throw new SAXParseException("unrecognized instruction: " + instructionKey, startElement.getLocation(), null);
- Object[] arguments = new Object[] { startElement, attrs, stack };
+ Object[] arguments = new Object[] { parsingContext, startElement, attrs, stack };
try {
return (Instruction) constructor.newInstance(arguments);
} catch (Exception e) {
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/InstructionFactory.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/InstructionFactory.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/InstructionFactory.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/InstructionFactory.java Tue Sep 6 13:10:53 2005
@@ -17,6 +17,7 @@
import java.util.Stack;
+import org.apache.cocoon.template.environment.ParsingContext;
import org.apache.cocoon.template.instruction.Instruction;
import org.apache.cocoon.template.script.event.StartElement;
import org.xml.sax.Attributes;
@@ -30,7 +31,6 @@
public abstract boolean isInstruction(StartElement element);
- public abstract Instruction createInstruction(
- StartElement startElement, Attributes attrs, Stack stack)
- throws SAXException;
+ public abstract Instruction createInstruction(ParsingContext parsingContext, StartElement startElement,
+ Attributes attrs, Stack stack) throws SAXException;
}
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/Parser.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/Parser.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/Parser.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/Parser.java Tue Sep 6 13:10:53 2005
@@ -17,10 +17,8 @@
import java.util.Stack;
-import org.apache.cocoon.components.expression.ExpressionFactory;
import org.apache.cocoon.template.JXTemplateGenerator;
import org.apache.cocoon.template.environment.ParsingContext;
-import org.apache.cocoon.template.expression.JXTExpressionCompiler;
import org.apache.cocoon.template.instruction.Instruction;
import org.apache.cocoon.template.script.event.*;
import org.apache.commons.lang.StringUtils;
@@ -88,7 +86,7 @@
if (charBuf != null) {
char[] chars = new char[charBuf.length()];
charBuf.getChars(0, charBuf.length(), chars, 0);
- Characters ev = new Characters(charLocation, chars, 0, chars.length);
+ Characters ev = new Characters(this.parsingContext, charLocation, chars, 0, chars.length);
lastEvent.setNext(ev);
lastEvent = ev;
charLocation = null;
@@ -140,7 +138,7 @@
public void ignorableWhitespace(char[] ch, int start, int length)
throws SAXException {
- Event ev = new IgnorableWhitespace(locator, ch, start, length);
+ Event ev = new IgnorableWhitespace(this.parsingContext, locator, ch, start, length);
addEvent(ev);
}
@@ -176,17 +174,16 @@
// root
getStartEvent().getTemplateProperties().put(
elementAttributes.getLocalName(i),
- JXTExpressionCompiler.compileExpr(
- elementAttributes.getValue(i), null, locator));
+ this.parsingContext.getJxtExpressionCompiler().compileExpr(elementAttributes.getValue(i), null,
+ locator));
elementAttributes.removeAttribute(i--);
}
}
- StartElement startElement = new StartElement(locator, namespaceURI,
- localName, qname, elementAttributes);
+ StartElement startElement = new StartElement(this.parsingContext, locator, namespaceURI, localName, qname,
+ elementAttributes);
InstructionFactory instructionFactory = this.parsingContext.getInstructionFactory();
if (instructionFactory.isInstruction(startElement))
- newEvent = instructionFactory.createInstruction(startElement,
- attrs, stack);
+ newEvent = instructionFactory.createInstruction(this.parsingContext, startElement, attrs, stack);
else
newEvent = startElement;
stack.push(newEvent);
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/event/Characters.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/event/Characters.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/event/Characters.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/event/Characters.java Tue Sep 6 13:10:53 2005
@@ -20,6 +20,7 @@
import org.apache.cocoon.components.expression.ExpressionContext;
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.expression.Literal;
import org.apache.cocoon.template.expression.Subst;
@@ -34,9 +35,9 @@
* @version SVN $Id$
*/
public class Characters extends TextEvent {
- public Characters(Locator location, char[] chars, int start, int length)
+ public Characters(ParsingContext parsingContext, Locator location, char[] chars, int start, int length)
throws SAXException {
- super(location, chars, start, length);
+ super(parsingContext, location, chars, start, length);
}
public Event execute(XMLConsumer consumer,
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/event/IgnorableWhitespace.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/event/IgnorableWhitespace.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/event/IgnorableWhitespace.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/event/IgnorableWhitespace.java Tue Sep 6 13:10:53 2005
@@ -17,6 +17,7 @@
import org.apache.cocoon.components.expression.ExpressionContext;
import org.apache.cocoon.template.environment.ExecutionContext;
+import org.apache.cocoon.template.environment.ParsingContext;
import org.apache.cocoon.template.instruction.MacroContext;
import org.apache.cocoon.xml.XMLConsumer;
import org.xml.sax.Locator;
@@ -26,22 +27,19 @@
* @version SVN $Id$
*/
public class IgnorableWhitespace extends TextEvent {
- public IgnorableWhitespace(Locator location, char[] chars, int start,
- int length) throws SAXException {
- super(location, chars, start, length);
+ public IgnorableWhitespace(ParsingContext parsingContext, Locator location, char[] chars, int start, int length)
+ throws SAXException {
+ super(parsingContext, location, chars, start, length);
}
- public Event execute(final XMLConsumer consumer,
- ExpressionContext expressionContext,
- ExecutionContext executionContext, MacroContext macroContext,
- Event startEvent, Event endEvent) throws SAXException {
- characters(expressionContext, executionContext, this,
- new CharHandler() {
- public void characters(char[] ch, int offset, int len)
- throws SAXException {
- consumer.ignorableWhitespace(ch, offset, len);
- }
- });
- return getNext();
+ public Event execute(final XMLConsumer consumer, ExpressionContext expressionContext,
+ ExecutionContext executionContext, MacroContext macroContext, Event startEvent, Event endEvent)
+ throws SAXException {
+ characters(expressionContext, executionContext, this, new CharHandler() {
+ public void characters(char[] ch, int offset, int len) throws SAXException {
+ consumer.ignorableWhitespace(ch, offset, len);
+ }
+ });
+ return getNext();
}
}
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/event/StartElement.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/event/StartElement.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/event/StartElement.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/event/StartElement.java Tue Sep 6 13:10:53 2005
@@ -21,6 +21,7 @@
import org.apache.cocoon.components.expression.ExpressionContext;
import org.apache.cocoon.template.environment.ExecutionContext;
+import org.apache.cocoon.template.environment.ParsingContext;
import org.apache.cocoon.template.expression.Substitutions;
import org.apache.cocoon.template.instruction.MacroContext;
import org.apache.cocoon.xml.XMLConsumer;
@@ -33,7 +34,7 @@
* @version SVN $Id$
*/
public class StartElement extends Event {
- public StartElement(Locator location, String namespaceURI,
+ public StartElement(ParsingContext parsingContext, Locator location, String namespaceURI,
String localName, String raw, Attributes attrs) throws SAXException {
super(location);
this.namespaceURI = namespaceURI;
@@ -47,8 +48,7 @@
String qname = attrs.getQName(i);
String type = attrs.getType(i);
String value = attrs.getValue(i);
- Substitutions substitutions = new Substitutions(getLocation(),
- value);
+ Substitutions substitutions = new Substitutions(parsingContext, getLocation(), value);
if (substitutions.hasSubstitutions()) {
getAttributeEvents().add(
new SubstituteAttribute(uri, local, qname, type,
Modified: cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/event/TextEvent.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/event/TextEvent.java?rev=279084&r1=279083&r2=279084&view=diff
==============================================================================
--- cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/event/TextEvent.java (original)
+++ cocoon/blocks/template/trunk/java/org/apache/cocoon/template/script/event/TextEvent.java Tue Sep 6 13:10:53 2005
@@ -20,6 +20,7 @@
import org.apache.cocoon.components.expression.ExpressionContext;
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.expression.Literal;
import org.apache.cocoon.template.expression.Substitutions;
@@ -32,12 +33,12 @@
* @version SVN $Id$
*/
public class TextEvent extends Event {
- public TextEvent(Locator location, char[] chars, int start, int length)
+ public TextEvent(ParsingContext parsingContext, Locator location, char[] chars, int start, int length)
throws SAXException {
super(location);
this.raw = new char[length];
System.arraycopy(chars, start, this.raw, 0, length);
- this.substitutions = new Substitutions(getLocation(), chars, start, length);
+ this.substitutions = new Substitutions(parsingContext, getLocation(), chars, start, length);
}
final Substitutions substitutions;