Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/parser/StringParser.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/parser/StringParser.java?rev=1341050&r1=1341049&r2=1341050&view=diff ============================================================================== --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/parser/StringParser.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/parser/StringParser.java Mon May 21 14:39:22 2012 @@ -205,4 +205,5 @@ public class StringParser { strb.append(delim); return strb.toString(); } + } \ No newline at end of file
Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/parser/TokenMgrError.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/parser/TokenMgrError.java?rev=1341050&r1=1341049&r2=1341050&view=diff ============================================================================== --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/parser/TokenMgrError.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/parser/TokenMgrError.java Mon May 21 14:39:22 2012 @@ -19,7 +19,7 @@ package org.apache.commons.jexl3.parser; /** * Token Manager Error. */ -public class TokenMgrError extends Error { +public class TokenMgrError extends Error implements JavaccError { /** * The version identifier for this Serializable class. * Increment only if the <i>serialized</i> form of the @@ -65,7 +65,7 @@ public class TokenMgrError extends Error */ private String after; /** - * + * Whether eof was reached whilst expecting more input. */ private boolean eof; /** @@ -76,39 +76,6 @@ public class TokenMgrError extends Error * Error column. */ private int column; - - /** - * Gets the reason why the exception is thrown. - * @return one of the 4 lexical error codes - */ - public int getErrorCode() { - return errorCode; - } - - /** - * Gets the line number. - * @return line number. - */ - public int getLine() { - return line; - } - - /** - * Gets the column number. - * @return the column. - */ - public int getColumn() { - return column; - } - - /** - * Gets the last correct input. - * @return the string after which the error occured - */ - public String getAfter() { - return after; - } - /** * Returns a detailed message for the Error when it is thrown by the @@ -142,4 +109,27 @@ public class TokenMgrError extends Error current = curChar; errorCode = reason; } + + /** + * Gets the reason why the exception is thrown. + * @return one of the 4 lexical error codes + */ + public int getErrorCode() { + return errorCode; + } + + @Override + public int getLine() { + return line; + } + + @Override + public int getColumn() { + return column; + } + + @Override + public String getAfter() { + return after; + } } Modified: commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/ClassCreatorTest.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/ClassCreatorTest.java?rev=1341050&r1=1341049&r2=1341050&view=diff ============================================================================== --- commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/ClassCreatorTest.java (original) +++ commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/ClassCreatorTest.java Mon May 21 14:39:22 2012 @@ -79,13 +79,13 @@ public class ClassCreatorTest extends Je } } - // A soft reference on class + // A weak reference on class static final class ClassReference extends WeakReference<Class<?>> { ClassReference(Class<?> clazz, ReferenceQueue<Object> queue) { super(clazz, queue); } } - // A weak reference on instance + // A soft reference on instance static final class InstanceReference extends SoftReference<Object> { InstanceReference(Object obj, ReferenceQueue<Object> queue) { super(obj, queue); Modified: commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/IssuesTest.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/IssuesTest.java?rev=1341050&r1=1341049&r2=1341050&view=diff ============================================================================== --- commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/IssuesTest.java (original) +++ commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/IssuesTest.java Mon May 21 14:39:22 2012 @@ -17,7 +17,6 @@ package org.apache.commons.jexl3; import org.apache.commons.jexl3.internal.Engine; -import org.apache.commons.jexl3.internal.TemplateEngine; import java.math.BigDecimal; import java.math.BigInteger; import java.math.MathContext; @@ -183,8 +182,8 @@ public class IssuesTest extends JexlTest // JEXL-42: NullPointerException evaluating an expression // fixed in JexlArithmetic by allowing add operator to deal with string, null public void test42() throws Exception { - Engine jexl = new Engine(); - JxltEngine uel = new TemplateEngine(jexl); + JexlEngine jexl = new JexlBuilder().create(); + JxltEngine uel = jexl.createJxltEngine(); // ensure errors will throw //jexl.setSilent(false); JexlEvalContext ctxt = new JexlEvalContext(); @@ -557,7 +556,7 @@ public class IssuesTest extends JexlTest Object expected = exprs[e + 1]; Object value = expr.evaluate(context); assertEquals(expected, value); - expr = jexl.createExpression(expr.dump()); + expr = jexl.createExpression(expr.getParsedText()); value = expr.evaluate(context); assertEquals(expected, value); } @@ -570,28 +569,28 @@ public class IssuesTest extends JexlTest expr = jexl.createExpression("size([])"); value = expr.evaluate(null); assertEquals(0, value); - expr = jexl.createExpression(expr.dump()); + expr = jexl.createExpression(expr.getParsedText()); value = expr.evaluate(null); assertEquals(0, value); expr = jexl.createExpression("if (true) { [] } else { {:} }"); value = expr.evaluate(null); assertTrue(value.getClass().isArray()); - expr = jexl.createExpression(expr.dump()); + expr = jexl.createExpression(expr.getParsedText()); value = expr.evaluate(null); assertTrue(value.getClass().isArray()); expr = jexl.createExpression("size({:})"); value = expr.evaluate(null); assertEquals(0, value); - expr = jexl.createExpression(expr.dump()); + expr = jexl.createExpression(expr.getParsedText()); value = expr.evaluate(null); assertEquals(0, value); expr = jexl.createExpression("if (false) { [] } else { {:} }"); value = expr.evaluate(null); assertTrue(value instanceof Map<?, ?>); - expr = jexl.createExpression(expr.dump()); + expr = jexl.createExpression(expr.getParsedText()); value = expr.evaluate(null); assertTrue(value instanceof Map<?, ?>); } @@ -905,7 +904,7 @@ public class IssuesTest extends JexlTest public void test132c() throws Exception { JexlEngine jexl = createJexl132(); String expr = "math:abs(-42)"; - + Object evaluate = jexl.createExpression(expr).evaluate(null); assertEquals(42, evaluate); } Modified: commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/JexlEvalContext.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/JexlEvalContext.java?rev=1341050&r1=1341049&r2=1341050&view=diff ============================================================================== --- commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/JexlEvalContext.java (original) +++ commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/JexlEvalContext.java Mon May 21 14:39:22 2012 @@ -19,7 +19,6 @@ package org.apache.commons.jexl3; import java.math.MathContext; import java.util.Collections; import java.util.Map; -import org.apache.commons.jexl3.internal.Engine; /** * A JEXL evaluation environment wrapping variables, namespace and options. @@ -74,8 +73,8 @@ public class JexlEvalContext implements * @param namespace the namespace (may be null, implies empty namespace) */ public JexlEvalContext(JexlContext context, JexlContext.NamespaceResolver namespace) { - this.vars = context != null? context : Engine.EMPTY_CONTEXT; - this.ns = namespace != null? namespace : Engine.EMPTY_NS; + this.vars = context != null? context : JexlEngine.EMPTY_CONTEXT; + this.ns = namespace != null? namespace : JexlEngine.EMPTY_NS; } @Override Modified: commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/JexlTest.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/JexlTest.java?rev=1341050&r1=1341049&r2=1341050&view=diff ============================================================================== --- commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/JexlTest.java (original) +++ commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/JexlTest.java Mon May 21 14:39:22 2012 @@ -30,7 +30,6 @@ import java.util.List; import java.util.Map; import java.util.Set; -import org.apache.commons.jexl3.parser.ASTJexlScript; import org.apache.commons.jexl3.parser.Parser; /** Modified: commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/SandboxTest.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/SandboxTest.java?rev=1341050&r1=1341049&r2=1341050&view=diff ============================================================================== --- commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/SandboxTest.java (original) +++ commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/SandboxTest.java Mon May 21 14:39:22 2012 @@ -5,9 +5,9 @@ * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -30,6 +30,7 @@ public class SandboxTest extends JexlTes public SandboxTest() { super("SandboxTest"); + JEXL.setClassLoader(getClass().getClassLoader()); } @NoJexl @@ -59,7 +60,7 @@ public class SandboxTest extends JexlTes public @NoJexl Foo(String name, String notcallable) { throw new RuntimeException("should not be callable!"); } - + public Foo(String name) { this.name = name; this.alias = name + "-alias"; Modified: commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/internal/Util.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/internal/Util.java?rev=1341050&r1=1341049&r2=1341050&view=diff ============================================================================== --- commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/internal/Util.java (original) +++ commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/internal/Util.java Mon May 21 14:39:22 2012 @@ -115,12 +115,14 @@ public class Util { if (lhs.getClass() != rhs.getClass()) { return "class: " + lhs.getClass() + " != " + rhs.getClass(); } - if ((lhs.image == null && rhs.image != null) - || (lhs.image != null && rhs.image == null)) { - return "image: " + lhs.image + " != " + rhs.image; + String lhss = lhs.toString(); + String rhss = rhs.toString(); + if ((lhss == null && rhss != null) + || (lhss != null && rhss == null)) { + return "image: " + lhss + " != " + rhss; } - if (lhs.image != null && !lhs.image.equals(rhs.image)) { - return "image: " + lhs.image + " != " + rhs.image; + if (lhss != null && !lhss.equals(rhss)) { + return "image: " + lhss + " != " + rhss; } } } @@ -152,9 +154,10 @@ public class Util { for (JexlNode flat : flattened) { strb.append(indent(flat)); strb.append(flat.getClass().getSimpleName()); - if (flat.image != null) { + String sflat = flat.toString(); + if (sflat != null) { strb.append(" = "); - strb.append(flat.image); + strb.append(sflat); } strb.append("\n"); } Modified: commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/junit/Asserter.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/junit/Asserter.java?rev=1341050&r1=1341049&r2=1341050&view=diff ============================================================================== --- commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/junit/Asserter.java (original) +++ commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl3/junit/Asserter.java Mon May 21 14:39:22 2012 @@ -100,6 +100,13 @@ public class Asserter extends Assert { if (expected instanceof BigDecimal) { JexlArithmetic jexla = engine.getArithmetic(); assertTrue("expression: " + expression, ((BigDecimal) expected).compareTo(jexla.toBigDecimal(value)) == 0); + } + if (expected != null && value != null) { + assertEquals("expression: " + expression + ", " + + expected.getClass().getSimpleName() + + " ?= " + + value.getClass().getSimpleName(), + expected, value); } else { assertEquals("expression: " + expression, expected, value); }