You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by di...@apache.org on 2007/10/28 07:39:19 UTC
svn commit: r589279 - in /commons/proper/jexl/branches/2.0/src:
java/org/apache/commons/jexl/ test/org/apache/commons/jexl/
Author: dion
Date: Sat Oct 27 23:39:19 2007
New Revision: 589279
URL: http://svn.apache.org/viewvc?rev=589279&view=rev
Log:
JEXL-34 remove pre and post resolvers and JexlExprResolver class
Removed:
commons/proper/jexl/branches/2.0/src/java/org/apache/commons/jexl/JexlExprResolver.java
Modified:
commons/proper/jexl/branches/2.0/src/java/org/apache/commons/jexl/Expression.java
commons/proper/jexl/branches/2.0/src/java/org/apache/commons/jexl/ExpressionImpl.java
commons/proper/jexl/branches/2.0/src/test/org/apache/commons/jexl/JexlTest.java
commons/proper/jexl/branches/2.0/src/test/org/apache/commons/jexl/ScriptFactoryTest.java
Modified: commons/proper/jexl/branches/2.0/src/java/org/apache/commons/jexl/Expression.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/branches/2.0/src/java/org/apache/commons/jexl/Expression.java?rev=589279&r1=589278&r2=589279&view=diff
==============================================================================
--- commons/proper/jexl/branches/2.0/src/java/org/apache/commons/jexl/Expression.java (original)
+++ commons/proper/jexl/branches/2.0/src/java/org/apache/commons/jexl/Expression.java Sat Oct 27 23:39:19 2007
@@ -52,20 +52,4 @@
*/
String getExpression();
- /**
- * Allows addition of a resolver to allow custom interdiction of
- * expression evaluation.
- *
- * @param resolver resolver to be called before Jexl expression evaluated
- */
- void addPreResolver(JexlExprResolver resolver);
-
- /**
- * Allows addition of a resolver to allow custom interdiction of
- * expression evaluation.
- *
- * @param resolver resolver to be called if Jexl expression
- * evaluated to null.
- */
- void addPostResolver(JexlExprResolver resolver);
}
Modified: commons/proper/jexl/branches/2.0/src/java/org/apache/commons/jexl/ExpressionImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/branches/2.0/src/java/org/apache/commons/jexl/ExpressionImpl.java?rev=589279&r1=589278&r2=589279&view=diff
==============================================================================
--- commons/proper/jexl/branches/2.0/src/java/org/apache/commons/jexl/ExpressionImpl.java (original)
+++ commons/proper/jexl/branches/2.0/src/java/org/apache/commons/jexl/ExpressionImpl.java Sat Oct 27 23:39:19 2007
@@ -17,7 +17,6 @@
package org.apache.commons.jexl;
-import java.util.ArrayList;
import java.util.List;
import org.apache.commons.jexl.parser.SimpleNode;
@@ -72,60 +71,7 @@
* {@inheritDoc}
*/
public Object evaluate(JexlContext context) throws Exception {
- Object val = null;
-
- /*
- * if we have pre resolvers, give them a wack
- */
- if (preResolvers != null) {
- val = tryResolver(preResolvers, context);
-
- if (val != JexlExprResolver.NO_VALUE) {
- return val;
- }
- }
-
- val = interpreter.interpret(node, context);
-
- /*
- * if null, call post resolvers
- */
- if (val == null && postResolvers != null) {
- val = tryResolver(postResolvers, context);
-
- if (val != JexlExprResolver.NO_VALUE) {
- return val;
- }
- }
-
- return val;
- }
-
- /**
- * Tries the resolvers in the given resolverlist against the context.
- *
- * @param resolverList list of JexlExprResolvers
- * @param context JexlContext to use for evauluation
- * @return value (including null) or JexlExprResolver.NO_VALUE
- */
- protected Object tryResolver(List resolverList, JexlContext context) {
- Object val = JexlExprResolver.NO_VALUE;
- String expr = getExpression();
-
- for (int i = 0; i < resolverList.size(); i++) {
- JexlExprResolver jer = (JexlExprResolver) resolverList.get(i);
-
- val = jer.evaluate(context, expr);
-
- /*
- * as long as it's not NO_VALUE, return it
- */
- if (val != JexlExprResolver.NO_VALUE) {
- return val;
- }
- }
-
- return val;
+ return interpreter.interpret(node, context);
}
/**
@@ -133,26 +79,6 @@
*/
public String getExpression() {
return expression;
- }
-
- /**
- * {@inheritDoc}
- */
- public void addPreResolver(JexlExprResolver resolver) {
- if (preResolvers == null) {
- preResolvers = new ArrayList();
- }
- preResolvers.add(resolver);
- }
-
- /**
- * {@inheritDoc}
- */
- public void addPostResolver(JexlExprResolver resolver) {
- if (postResolvers == null) {
- postResolvers = new ArrayList();
- }
- postResolvers.add(resolver);
}
/**
Modified: commons/proper/jexl/branches/2.0/src/test/org/apache/commons/jexl/JexlTest.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/branches/2.0/src/test/org/apache/commons/jexl/JexlTest.java?rev=589279&r1=589278&r2=589279&view=diff
==============================================================================
--- commons/proper/jexl/branches/2.0/src/test/org/apache/commons/jexl/JexlTest.java (original)
+++ commons/proper/jexl/branches/2.0/src/test/org/apache/commons/jexl/JexlTest.java Sat Oct 27 23:39:19 2007
@@ -36,7 +36,6 @@
import org.apache.commons.jexl.parser.ParseException;
import org.apache.commons.jexl.parser.Parser;
-import org.apache.commons.jexl.resolver.FlatResolver;
/**
* Simple testcases
@@ -773,50 +772,6 @@
assertExpression(jc, "2 < '1'", Boolean.FALSE);
assertExpression(jc, "2 <= '1'", Boolean.FALSE);
assertExpression(jc, "2 <= '2'", Boolean.TRUE);
-}
-
- public void testResolver()
- throws Exception
- {
- /*
- * first, a simple override
- */
-
- Expression expr = ExpressionFactory.createExpression("foo.bar");
- expr.addPreResolver(new FlatResolver());
-
- JexlContext jc = JexlHelper.createContext();
- Foo foo = new Foo();
- jc.getVars().put("foo.bar", "flat value");
- jc.getVars().put("foo", foo );
-
- Object o = expr.evaluate(jc);
- assertEquals("flat override", "flat value", o);
-
- /*
- * now, let the resolver not find it and have it drop to jexl
- */
- expr = ExpressionFactory.createExpression("foo.bar.length()");
- expr.addPreResolver(new FlatResolver());
- o = expr.evaluate(jc);
- assertEquals("flat override 1", new Integer(GET_METHOD_STRING.length()), o);
-
- /*
- * now, let the resolver not find it and NOT drop to jexl
- */
-
- expr = ExpressionFactory.createExpression("foo.bar.length()");
- expr.addPreResolver(new FlatResolver(false));
- o = expr.evaluate(jc);
- assertEquals("flat override 2", o, null);
-
- // now for a post resolver
- expr = ExpressionFactory.createExpression("foo.bar.baz");
- Long result = new Long(1);
- jc.getVars().put("foo.bar.baz", result);
- expr.addPostResolver(new FlatResolver());
- assertEquals("flat override", result, expr.evaluate(jc));
-
}
/**
Modified: commons/proper/jexl/branches/2.0/src/test/org/apache/commons/jexl/ScriptFactoryTest.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/branches/2.0/src/test/org/apache/commons/jexl/ScriptFactoryTest.java?rev=589279&r1=589278&r2=589279&view=diff
==============================================================================
--- commons/proper/jexl/branches/2.0/src/test/org/apache/commons/jexl/ScriptFactoryTest.java (original)
+++ commons/proper/jexl/branches/2.0/src/test/org/apache/commons/jexl/ScriptFactoryTest.java Sat Oct 27 23:39:19 2007
@@ -98,7 +98,7 @@
* @throws Exception on a parse error.
*/
public void testCreateFromURL() throws Exception {
- URL testUrl = new File("src/test-scripts/test1.jexl").toURL();
+ URL testUrl = new File("src/test-scripts/test1.jexl").toURI().toURL();
assertNotNull("No script created", ScriptFactory.createScript(testUrl));
}