svn commit: r1186317 - in /commons/proper/jexl/trunk/src: main/java/org/apache/commons/jexl2/ main/java/org/apache/commons/jexl2/internal/ main/java/org/apache/commons/jexl2/internal/introspection/ ma
Author: henrib Date: Wed Oct 19 16:43:58 2011 New Revision: 1186317 URL: http://svn.apache.org/viewvc?rev=1186317&view=rev Log: JEXL-119: * Exposed methods from internal/introspection to ease solving method * parameters matching; * Modified UberspectImpl to search for "pseudo" indexed property patterns; * Fixed Interpreter to better report property vs variable error; * Added specific test; * Updated changes.xml Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Interpreter.java commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/internal/Introspector.java commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/internal/introspection/ClassMap.java commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/internal/introspection/IntrospectorBase.java commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/internal/introspection/MethodKey.java commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/UberspectImpl.java commons/proper/jexl/trunk/src/site/xdoc/changes.xml commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/IssuesTest.java Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Interpreter.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Interpreter.java?rev=1186317&r1=1186316&r2=1186317&view=diff == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Interpreter.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Interpreter.java Wed Oct 19 16:43:58 2011 @@ -1269,9 +1269,9 @@ public class Interpreter implements Pars || (numChildren == 1 && node.jjtGetChild(0) instanceof ASTIdentifier && ((ASTIdentifier) node.jjtGetChild(0)).getRegister() >= 0))) { -JexlException xjexl = propertyName != null? - new JexlException.Property(node, propertyName): - new JexlException.Variable(node, variableName.toString()); +JexlException xjexl = propertyName != null + ? new JexlException.Property(node, propertyName) + : new JexlException.Variable(node, variableName.toString()); return unknownVariable(xjexl); } } @@ -1482,7 +1482,6 @@ public class Interpreter implements Pars } } } - return null; } Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/internal/Introspector.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/internal/Introspector.java?rev=1186317&r1=1186316&r2=1186317&view=diff == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/internal/Introspector.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/internal/Introspector.java Wed Oct 19 16:43:58 2011 @@ -104,7 +104,15 @@ public class Introspector { base().setLoader(loader); } - +/** + * Gets a class by name through this introspector class loader. + * @param className the class name + * @return the class instance or null if it could not be found + */ +public Class getClassByName(String className) { +return base().getClassByName(className); +} + /** * Gets the field named by key for the class c. * @@ -112,7 +120,7 @@ public class Introspector { * @param key Name of the field being searched for * @return a {@link java.lang.reflect.Field} or null if it does not exist or is not accessible * */ -protected final Field getField(Class c, String key) { +public final Field getField(Class c, String key) { return base().getField(c, key); } @@ -137,7 +145,7 @@ public class Introspector { * @return a {@link java.lang.reflect.Method} * or null if no unambiguous method could be found through introspection. */ -protected final Method getMethod(Class c, String name, Object[] params) { +public final Method getMethod(Class c, String name, Object[] params) { return base().getMethod(c, new MethodKey(name, params)); } @@ -150,7 +158,7 @@ public class Introspector { * @return a {@link java.lang.reflect.Method} * or null if no unambiguous method could be found through introspection. */ -protected final Method getMethod(Class c, MethodKey key) { +public final Method getMethod(Class c, MethodKey key) { return base().getMethod(c, key)
svn commit: r1186657 - /commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/UberspectImpl.java
Author: henrib Date: Thu Oct 20 08:10:56 2011 New Revision: 1186657 URL: http://svn.apache.org/viewvc?rev=1186657&view=rev Log: JEXL-119: * Stricter checks / defensive coding for indexed properties resolution Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/UberspectImpl.java Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/UberspectImpl.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/UberspectImpl.java?rev=1186657&r1=1186656&r2=1186657&view=diff == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/UberspectImpl.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/UberspectImpl.java Thu Oct 20 08:10:56 2011 @@ -16,6 +16,7 @@ */ package org.apache.commons.jexl2.introspection; +import java.beans.IntrospectionException; import org.apache.commons.jexl2.internal.Introspector; import java.lang.reflect.Constructor; import java.lang.reflect.Field; @@ -98,7 +99,7 @@ public class UberspectImpl extends Intro } return null; } - + /** * {@inheritDoc} */ @@ -117,7 +118,7 @@ public class UberspectImpl extends Intro return null; } } - + /** * {@inheritDoc} */ @@ -134,7 +135,7 @@ public class UberspectImpl extends Intro } return get; } - + /** * {@inheritDoc} */ @@ -150,7 +151,7 @@ public class UberspectImpl extends Intro } return set; } - + /** * Returns a class field. * @param obj the object @@ -163,7 +164,6 @@ public class UberspectImpl extends Intro return getField(clazz, name); } - /** * Attempts to find an indexed-property getter in an object. * The code attempts to find the list of methods getXXX() and setXXX(). @@ -174,16 +174,17 @@ public class UberspectImpl extends Intro * @return a JexlPropertyGet is successfull, null otherwise */ protected JexlPropertyGet getIndexedGet(Object object, String name) { -String base = name.substring(0, 1).toUpperCase() + name.substring(1); -final String container = name; -final Class clazz = object.getClass(); -final Method[] getters = getMethods(object.getClass(), "get" + base); -final Method[] setters = getMethods(object.getClass(), "set" + base); -if (getters != null) { -return new IndexedType(container, clazz, getters, setters); -} else { -return null; +if (object != null && name != null) { +String base = name.substring(0, 1).toUpperCase() + name.substring(1); +final String container = name; +final Class clazz = object.getClass(); +final Method[] getters = getMethods(object.getClass(), "get" + base); +final Method[] setters = getMethods(object.getClass(), "set" + base); +if (getters != null) { +return new IndexedType(container, clazz, getters, setters); +} } +return null; } /** @@ -219,10 +220,10 @@ public class UberspectImpl extends Intro * {@inheritDoc} */ public Object invoke(Object obj) throws Exception { -if (clazz.equals(obj.getClass())) { +if (obj != null && clazz.equals(obj.getClass())) { return new IndexedContainer(this, obj); } else { -return null; +throw new IntrospectionException("property resolution error"); } } @@ -230,7 +231,7 @@ public class UberspectImpl extends Intro * {@inheritDoc} */ public Object tryInvoke(Object obj, Object key) { -if (clazz.equals(obj.getClass()) && container.equals(key.toString())) { +if (obj != null && key != null && clazz.equals(obj.getClass()) && container.equals(key.toString())) { return new IndexedContainer(this, obj); } else { return TRY_FAILED; @@ -253,10 +254,10 @@ public class UberspectImpl extends Intro /** * Gets the value of a property from a container. - * @param object the instance owning the container - * @param key the property key + * @param object the instance owning the container (not null) + * @param key the property key (not null) * @return the property value - * @throws Exception if the property can not be resolved + * @throws IntrospectionException if a property getter can not be found */ private Obj
svn commit: r1187454 - /commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java
Author: henrib Date: Fri Oct 21 16:34:33 2011 New Revision: 1187454 URL: http://svn.apache.org/viewvc?rev=1187454&view=rev Log: JexlArithmetic: made Double.NaN equal to itself Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java?rev=1187454&r1=1187453&r2=1187454&view=diff == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java Fri Oct 21 16:34:33 2011 @@ -562,7 +562,7 @@ public class JexlArithmetic { byte valueAsByte = ((Byte) val).byteValue(); return Byte.valueOf((byte) -valueAsByte); } else if (val instanceof Boolean) { -return ((Boolean) val).booleanValue()? Boolean.FALSE : Boolean.TRUE; +return ((Boolean) val).booleanValue() ? Boolean.FALSE : Boolean.TRUE; } throw new ArithmeticException("Object negation:(" + val + ")"); } @@ -602,7 +602,7 @@ public class JexlArithmetic { long r = toLong(right); return Long.valueOf(l & r); } - + /** * Performs a bitwise or. * @param left the left operand @@ -614,8 +614,7 @@ public class JexlArithmetic { long r = toLong(right); return Long.valueOf(l | r); } - - + /** * Performs a bitwise xor. * @param left the left operand @@ -627,7 +626,7 @@ public class JexlArithmetic { long r = toLong(right); return Long.valueOf(l ^ r); } - + /** * Performs a bitwise complement. * @param val the operand @@ -644,6 +643,7 @@ public class JexlArithmetic { * @param right the right operator * @param operator the operator * @return -1 if left < right; +1 if left > > right; 0 if left == right + * @throws ArithmeticException if either left or right is null */ protected int compare(Object left, Object right, String operator) { if (left != null && right != null) { @@ -658,7 +658,16 @@ public class JexlArithmetic { } else if (isFloatingPoint(left) || isFloatingPoint(right)) { double lhs = toDouble(left); double rhs = toDouble(right); -if (lhs < rhs) { +if (Double.isNaN(lhs)) { +if (Double.isNaN(rhs)) { +return 0; +} else { +return -1; +} +} else if (Double.isNaN(rhs)) { +// lhs is not NaN +return +1; +} else if (lhs < rhs) { return -1; } else if (lhs > rhs) { return +1; @@ -829,7 +838,7 @@ public class JexlArithmetic { } throw new ArithmeticException("Integer coercion: " -+ val.getClass().getName() + ":(" +val+")"); ++ val.getClass().getName() + ":(" + val + ")"); } /** @@ -863,7 +872,7 @@ public class JexlArithmetic { } throw new ArithmeticException("Long coercion: " -+ val.getClass().getName() + ":(" +val+")"); ++ val.getClass().getName() + ":(" + val + ")"); } /** @@ -900,7 +909,7 @@ public class JexlArithmetic { } throw new ArithmeticException("BigInteger coercion: " -+ val.getClass().getName() + ":(" +val+")"); ++ val.getClass().getName() + ":(" + val + ")"); } /** @@ -936,7 +945,7 @@ public class JexlArithmetic { } throw new ArithmeticException("BigDecimal coercion: " -+ val.getClass().getName() + ":(" +val+")"); ++ val.getClass().getName() + ":(" + val + ")"); } /** @@ -972,7 +981,7 @@ public class JexlArithmetic { } throw new ArithmeticException("Double coercion: " -+ val.getClass().getName() + ":(" +val+")"); ++ val.getClass().getName() + ":(" + val + ")"); } /**
svn commit: r1187458 - in /commons/proper/jexl/trunk/src: main/java/org/apache/commons/jexl2/UnifiedJEXL.java test/java/org/apache/commons/jexl2/UnifiedJEXLTest.java
Author: henrib Date: Fri Oct 21 16:40:17 2011 New Revision: 1187458 URL: http://svn.apache.org/viewvc?rev=1187458&view=rev Log: Added getVariables method (similar to JexlEngine) to extract all references variables from an UJEXL expression; Fixed issue where preparing a deferred expression would not always return an immediate expression; Updated test accordingly Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/UnifiedJEXL.java commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/UnifiedJEXLTest.java Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/UnifiedJEXL.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/UnifiedJEXL.java?rev=1187458&r1=1187457&r2=1187458&view=diff == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/UnifiedJEXL.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/UnifiedJEXL.java Fri Oct 21 16:40:17 2011 @@ -17,6 +17,10 @@ package org.apache.commons.jexl2; import java.util.ArrayList; +import java.util.Collections; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Set; import org.apache.commons.jexl2.parser.JexlNode; import org.apache.commons.jexl2.parser.StringParser; @@ -235,6 +239,28 @@ public final class UnifiedJEXL { } /** + * Checks whether this expression is immediate. + * @return true if immediate, false otherwise + */ +public boolean isImmediate() { +return true; +} + +/** + * Checks whether this expression is deferred. + * @return true if deferred, false otherwise + */ +public final boolean isDeferred() { +return !isImmediate(); +} + +/** + * Gets this expression type. + * @return its type + */ +abstract ExpressionType getType(); + +/** * Formats this expression, adding its source string representation in * comments if available: 'expression /*= source *\/'' . * @return the formatted expression string @@ -267,7 +293,26 @@ public final class UnifiedJEXL { * Adds this expression's string representation to a StringBuilder. * @param strb the builder to fill */ -abstract void asString(StringBuilder strb); +public abstract StringBuilder asString(StringBuilder strb); + +/** + * Gets the list of variables accessed by this expression. + * This method will visit all nodes of the sub-expressions and extract all variables whether they + * are written in 'dot' or 'bracketed' notation. (a.b is equivalent to a['b']). + * @return the set of variables, each as a list of strings (ant-ish variables use more than 1 string) + * or the empty set if no variables are used + */ +public Set> getVariables() { +return Collections.emptySet(); +} + +/** + * Fills up the list of variables accessed by this expression. + * @param refs the set of variable being filled + */ +protected void getVariables(Set> refs) { +// nothing to do +} /** * When the expression is dependant upon immediate and deferred sub-expressions, @@ -285,7 +330,9 @@ public final class UnifiedJEXL { * @return an expression or null if an error occurs and the {@link JexlEngine} is silent * @throws UnifiedJEXL.Exception if an error occurs and the {@link JexlEngine} is not silent */ -public abstract Expression prepare(JexlContext context); +public final Expression prepare(JexlContext context) { +return UnifiedJEXL.this.prepare(context, this); +} /** * Evaluates this expression. @@ -297,22 +344,8 @@ public final class UnifiedJEXL { * silent * @throws UnifiedJEXL.Exception if an error occurs and the {@link JexlEngine} is not silent */ -public abstract Object evaluate(JexlContext context); - -/** - * Checks whether this expression is immediate. - * @return true if immediate, false otherwise - */ -public boolean isImmediate() { -return true; -} - -/** - * Checks whether this expression is deferred. - * @return true if deferred, false otherwise - */ -public final boolean isDeferred() { -return !isImmediate(); +public final Object evaluate(JexlContext context) { +return UnifiedJEXL.this.evaluate(context, this); } /** @@ -327,18 +360,14 @@ public final class UnifiedJEXL { }
svn commit: r1187460 - in /commons/proper/jexl/trunk/src: main/java/org/apache/commons/jexl2/ main/java/org/apache/commons/jexl2/parser/ test/java/org/apache/commons/jexl2/
Author: henrib Date: Fri Oct 21 16:45:11 2011 New Revision: 1187460 URL: http://svn.apache.org/viewvc?rev=1187460&view=rev Log: JEXL-120: Made simpler version of ParseException that does not need to go through System.getProperty; Made error messages a bit easier to understand; Added: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ParseException.java (with props) Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlException.java commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/SimpleNode.java commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/TokenMgrError.java commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/ParseFailuresTest.java Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlException.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlException.java?rev=1187460&r1=1187459&r2=1187460&view=diff == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlException.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlException.java Fri Oct 21 16:45:11 2011 @@ -19,6 +19,8 @@ package org.apache.commons.jexl2; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.UndeclaredThrowableException; import org.apache.commons.jexl2.parser.JexlNode; +import org.apache.commons.jexl2.parser.ParseException; +import org.apache.commons.jexl2.parser.TokenMgrError; /** * Wraps any error that might occur during interpretation of a script or expression. @@ -112,8 +114,25 @@ public class JexlException extends Runti * @param expr the expression * @param cause the javacc cause */ -public Tokenization(JexlInfo node, CharSequence expr, Throwable cause) { -super(node, expr.toString(), cause); +public Tokenization(JexlInfo node, CharSequence expr, TokenMgrError cause) { +super(merge(node, cause), expr.toString(), cause); +} + +/** + * Merge the node info and the cause info to obtain best possible location. + * @param node the node + * @param cause the cause + * @return the info to use + */ +private static DebugInfo merge(JexlInfo node, TokenMgrError cause) { +DebugInfo dbgn = node != null? node.debugInfo() : null; +if (cause == null) { +return dbgn; +} else if (dbgn == null) { +return new DebugInfo("", cause.getLine(), cause.getColumn()); +} else { +return new DebugInfo(dbgn.getName(), cause.getLine(), cause.getColumn()); +} } /** @@ -122,10 +141,23 @@ public class JexlException extends Runti public String getExpression() { return super.detailedMessage(); } - + @Override protected String detailedMessage() { -return "!!! " + getExpression() + " !!!" + ", tokenization failed"; +int begin = info.debugInfo().getColumn(); +int end = begin + 5; +begin -= 5; +if (begin < 0) { +end += 5; +begin = 0; +} +int length = getExpression().length(); +if (length < 10) { +return "parsing error in '" + getExpression() + "'"; +} else { +return "parsing error near '... " + + getExpression().substring(begin, end > length? length : end) + " ...'"; +} } } @@ -136,11 +168,28 @@ public class JexlException extends Runti /** * Creates a new Variable exception instance. * @param node the offending ASTnode - * @param expr the unknown variable + * @param expr the offending source * @param cause the javacc cause */ -public Parsing(JexlInfo node, CharSequence expr, Throwable cause) { -super(node, expr.toString(), cause); +public Parsing(JexlInfo node, CharSequence expr, ParseException cause) { +super(merge(node, cause), expr.toString(), cause); +} + +/** + * Merge the node info and the cause info to obtain best possible location. + * @param node the node + * @param cause the cause + * @return the info to use + */ +private static DebugInfo merge(JexlInfo node, ParseException cause) { +DebugInfo dbgn = node != null? node.debugInfo() : null; +
svn commit: r1187462 - in /commons/proper/jexl/trunk/src: main/java/org/apache/commons/jexl2/parser/CharSequenceReader.java main/java/org/apache/commons/jexl2/parser/StringParser.java test/java/org/ap
Author: henrib Date: Fri Oct 21 16:49:41 2011 New Revision: 1187462 URL: http://svn.apache.org/viewvc?rev=1187462&view=rev Log: Utility classes to ease UJEXL template capabilities Added: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/CharSequenceReader.java (with props) Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/StringParser.java commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/parser/ParserTest.java Added: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/CharSequenceReader.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/CharSequenceReader.java?rev=1187462&view=auto == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/CharSequenceReader.java (added) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/CharSequenceReader.java Fri Oct 21 16:49:41 2011 @@ -0,0 +1,207 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * 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. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.commons.jexl2.parser; + +import java.io.Reader; +import java.io.Serializable; + +/** + * {@link Reader} implementation that can read from String, StringBuffer, + * StringBuilder or CharBuffer. + * + * Note: Supports {@link #mark(int)} and {@link #reset()}. + * Extracted from Commons IO. + */ +public class CharSequenceReader extends Reader implements Serializable { +private final CharSequence charSequence; +private int idx; +private int mark; + +/** + * Construct a new instance with the specified character sequence. + * + * @param charSequence The character sequence, may be null + */ +public CharSequenceReader(CharSequence charSequence) { +this.charSequence = (charSequence != null ? charSequence : ""); +} + +/** + * Close resets the file back to the start and removes any marked position. + */ +@Override +public void close() { +idx = 0; +mark = 0; +} + +/** + * Mark the current position. + * + * @param readAheadLimit ignored + */ +@Override +public void mark(int readAheadLimit) { +mark = idx; +} + +/** + * Get the current position. + * @return the position + */ +public int position() { +return idx; +} + +/** + * Mark is supported (returns true). + * + * @return true + */ +@Override +public boolean markSupported() { +return true; +} + +/** + * Read a single character. + * + * @return the next character from the character sequence + * or -1 if the end has been reached. + */ +@Override +public int read() { +if (idx >= charSequence.length()) { +return -1; +} else { +return charSequence.charAt(idx++); +} +} + +/** + * Read the sepcified number of characters into the array. + * + * @param array The array to store the characters in + * @param offset The starting position in the array to store + * @param length The maximum number of characters to read + * @return The number of characters read or -1 if there are + * no more + */ +@Override +public int read(char[] array, int offset, int length) { +if (idx >= charSequence.length()) { +return -1; +} +if (array == null) { +throw new NullPointerException("Character array is missing"); +} +if (length < 0 || (offset + length) > array.length) { +throw new IndexOutOfBoundsException("Array Size=" + array.length ++ ", offset=" + offset + ", length=" + length); +} +int count = 0; +for (int i = 0; i < length; i++) { +int c = read(); +if (c == -1) { +return count; +} +array[offset + i] = (char) c; +count++; +} +return count; +} + +/** +
svn commit: r905709 - /commons/proper/exec/tags/COMMONS_JEXL_2_0/
Author: henrib Date: Tue Feb 2 17:03:43 2010 New Revision: 905709 URL: http://svn.apache.org/viewvc?rev=905709&view=rev Log: The RC6 passed to vote so this will be the release tag Added: commons/proper/exec/tags/COMMONS_JEXL_2_0/ - copied from r905707, commons/proper/jexl/tags/COMMONS_JEXL_2_0-RC6/
svn commit: r906928 - in /commons/proper/jexl/trunk: pom.xml xdocs/changes.xml
Author: henrib Date: Fri Feb 5 13:11:26 2010 New Revision: 906928 URL: http://svn.apache.org/viewvc?rev=906928&view=rev Log: 2.0 post-release setup. Modified: commons/proper/jexl/trunk/pom.xml commons/proper/jexl/trunk/xdocs/changes.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=906928&r1=906927&r2=906928&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Fri Feb 5 13:11:26 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0 +2.1-SNAPSHOT Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -115,9 +115,9 @@ 1.5 1.5 jexl -2.0 +2.1 -RC6 +RC1 JEXL 12310479 Modified: commons/proper/jexl/trunk/xdocs/changes.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/xdocs/changes.xml?rev=906928&r1=906927&r2=906928&view=diff == --- commons/proper/jexl/trunk/xdocs/changes.xml (original) +++ commons/proper/jexl/trunk/xdocs/changes.xml Fri Feb 5 13:11:26 2010 @@ -25,7 +25,7 @@ Commons Developers - + Bean-ish & ant-ish like assignment Ternary operator support adding Perl-like regular-expression operators
svn commit: r907416 - /commons/proper/jexl/trunk/src/site/site.xml
Author: henrib Date: Sun Feb 7 12:02:42 2010 New Revision: 907416 URL: http://svn.apache.org/viewvc?rev=907416&view=rev Log: Removed extraneous Release / download entry from site. Modified: commons/proper/jexl/trunk/src/site/site.xml Modified: commons/proper/jexl/trunk/src/site/site.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/site/site.xml?rev=907416&r1=907415&r2=907416&view=diff == --- commons/proper/jexl/trunk/src/site/site.xml (original) +++ commons/proper/jexl/trunk/src/site/site.xml Sun Feb 7 12:02:42 2010 @@ -27,7 +27,6 @@ - http://wiki.apache.org/commons/JEXL"/>
svn commit: r922023 - in /commons/proper/jexl/trunk/src: main/java/org/apache/commons/jexl2/JexlException.java main/java/org/apache/commons/jexl2/parser/Parser.jjt test/java/org/apache/commons/jexl2/I
Author: henrib Date: Thu Mar 11 21:13:34 2010 New Revision: 922023 URL: http://svn.apache.org/viewvc?rev=922023&view=rev Log: Parser.jjt modified to allow proper escaping (backslash); Added test for JEXL-98 & JEXL-97; Added a formatting space in JexlException Issue #JEXL-98 - Quote escaping cannot be escaped Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlException.java commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/Parser.jjt commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/IssuesTest.java Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlException.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlException.java?rev=922023&r1=922022&r2=922023&view=diff == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlException.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlException.java Thu Mar 11 21:13:34 2010 @@ -123,8 +123,9 @@ public class JexlException extends Runti msg.append(dbg.end()); msg.append("]: '"); msg.append(dbg.data()); -msg.append("' "); +msg.append("'"); } +msg.append(' '); msg.append(super.getMessage()); Throwable cause = getCause(); if (cause != null && NULL_OPERAND == cause.getMessage()) { Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/Parser.jjt URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/Parser.jjt?rev=922023&r1=922022&r2=922023&view=diff == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/Parser.jjt (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/Parser.jjt Thu Mar 11 21:13:34 2010 @@ -556,9 +556,9 @@ void Reference() : {} <*> TOKEN : { - + < STRING_LITERAL: +"\"" (~["\"","\\","\n","\r","\u2028","\u2029"] | "\\" ~["\n","\r","\u2028","\u2029"])* "\"" + | +"'" (~["'","\\","\n","\r","\u2028","\u2029"] | "\\" ~["\n","\r","\u2028","\u2029"])* "'" + > } Modified: commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/IssuesTest.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/IssuesTest.java?rev=922023&r1=922022&r2=922023&view=diff == --- commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/IssuesTest.java (original) +++ commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/IssuesTest.java Thu Mar 11 21:13:34 2010 @@ -332,4 +332,45 @@ public class IssuesTest extends JexlTest assertEquals("bye...", script.execute(ctxt)); } +public void test97() throws Exception { +JexlContext ctxt = new MapContext(); +for(char v = 'a'; v <= 'z'; ++v) { +ctxt.set(Character.toString(v), 10); +} +String input = + "(z+y)/x)*w)-v)*u)/t)-s)*r)/q)+p)-o)*n)-m)+l)*k)+j)/i)+h)*g)+f)/e)+d)-c)/b)+a)"; + +JexlEngine jexl = new JexlEngine(); +Expression script; +// Make sure everything is loaded... +long start = System.nanoTime(); +script = jexl.createExpression(input); +Object value = script.evaluate(ctxt); +assertEquals(Integer.valueOf(11), value); +long end = System.nanoTime(); +System.out.printf("Parse took %.3f seconds\n", (end-start)/1e+9); +} + +public static class fn98 { +public String replace(String str, String target, String replacement) { +return str.replace(target, replacement); +} +} + +public void test98() throws Exception { +String[] exprs = { +"fn:replace('DOMAIN\\somename', '', '')", +"fn:replace(\"DOMAIN\\somename\", \"\", \"\")", +"fn:replace('DOMAIN\\somename', '\\u005c', '\\u005c\\u005c')" +}; +JexlEngine jexl = new JexlEngine(); +Map funcs = new HashMap(); +funcs.put("fn", new fn98()); +jexl.setFunctions(funcs); +for(String expr : exprs) { +Object value = jexl.createExpression(expr).evaluate(null); +assertEquals(expr, "DOMAINsomename", value); +} +} + }
svn commit: r922029 - /commons/proper/jexl/trunk/jexl2-compat/pom.xml
Author: henrib Date: Thu Mar 11 21:48:50 2010 New Revision: 922029 URL: http://svn.apache.org/viewvc?rev=922029&view=rev Log: Updated pom.xml to reflect using 2.0 release. Modified: commons/proper/jexl/trunk/jexl2-compat/pom.xml Modified: commons/proper/jexl/trunk/jexl2-compat/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/jexl2-compat/pom.xml?rev=922029&r1=922028&r2=922029&view=diff == --- commons/proper/jexl/trunk/jexl2-compat/pom.xml (original) +++ commons/proper/jexl/trunk/jexl2-compat/pom.xml Thu Mar 11 21:48:50 2010 @@ -80,7 +80,7 @@ org.apache.commons commons-jexl -2.0-SNAPSHOT +2.0
svn commit: r922031 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Thu Mar 11 21:58:17 2010 New Revision: 922031 URL: http://svn.apache.org/viewvc?rev=922031&view=rev Log: Prepare pom.xml for Apache JEXL 2.0.1. Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=922031&r1=922030&r2=922031&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Thu Mar 11 21:58:17 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.1-SNAPSHOT +2.0.1-SNAPSHOT Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -117,8 +117,8 @@ jexl 2.0 -RC6 -1.1 +RC1 +2.0.1 JEXL 12310479
svn commit: r927136 - in /commons/proper/jexl/trunk: src/main/java/org/apache/commons/jexl2/JexlEngine.java xdocs/reference/examples.xml
Author: henrib Date: Wed Mar 24 17:52:25 2010 New Revision: 927136 URL: http://svn.apache.org/viewvc?rev=927136&view=rev Log: Documentation fixes raised in JEXL-99 Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlEngine.java commons/proper/jexl/trunk/xdocs/reference/examples.xml Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlEngine.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlEngine.java?rev=927136&r1=927135&r2=927136&view=diff == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlEngine.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlEngine.java Wed Mar 24 17:52:25 2010 @@ -55,26 +55,27 @@ import org.apache.commons.jexl2.introspe * Logging * * - * The setSilentandsetLenient methods allow to fine-tune an engine instance behavior - * according to various error control needs. + * The setSilent and setLenient methods allow to fine-tune an engine instance behavior + * according to various error control needs. The lenient/strict flag tells the engine when and if null as operand is + * considered an error, the silent/verbose flag tells the engine what to do with the error (log as warning or throw exception). * * - * When "silent" & "lenient" (not-strict): + * When "silent" & "lenient": * 0 & null should be indicators of "default" values so that even in an case of error, * something meaningfull can still be inferred; may be convenient for configurations. * * - * When "silent" & "strict": + * When "silent" & "strict": * One should probably consider using null as an error case - ie, every object * manipulated by JEXL should be valued; the ternary operator, especially the '?:' form * can be used to workaround exceptional cases. * Use case could be configuration with no implicit values or defaults. * * - * When "not-silent" & "not-strict": + * When "verbose" & "lenient": * The error control grain is roughly on par with JEXL 1.0 * - * When "not-silent" & "strict": + * When "verbose" & "strict": * The finest error control grain is obtained; it is the closest to Java code - * still augmented by "script" capabilities regarding automated conversions & type matching. * @@ -286,7 +287,9 @@ public class JexlEngine { } /** - * Sets a cache of the defined size for expressions. + * Sets a cache for expressions of the defined size. + * The cache will contain at most size expressions. Note that + * all JEXL caches are held through SoftReferences and may be garbage-collected. * @param size if not strictly positive, no cache is used. */ public void setCache(int size) { Modified: commons/proper/jexl/trunk/xdocs/reference/examples.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/xdocs/reference/examples.xml?rev=927136&r1=927135&r2=927136&view=diff == --- commons/proper/jexl/trunk/xdocs/reference/examples.xml (original) +++ commons/proper/jexl/trunk/xdocs/reference/examples.xml Wed Mar 24 17:52:25 2010 @@ -34,51 +34,65 @@ You can find two sample programs in JEXL's CVS repository: - http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/org/apache/commons/jexl/examples/ArrayTest.java?view=markup";>Using arrays - http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/org/apache/commons/jexl/examples/MethodPropertyTest.java?view=markup";>Accessing Properties and invoking methods + http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/examples/ArrayTest.java?view=markup";>Using arrays + http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/examples/MethodPropertyTest.java?view=markup";>Accessing Properties and invoking methods -As well, http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/org/apache/commons/jexl/JexlTest.java?view=markup";>JEXL's Unit Tests +As well, http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/org/apache/commons/jexl2/JexlTest.java?view=markup";>JEXL's Unit Tests provide handy examples of expressions. The test code also contains a -http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/org/apache/commons/jexl/Jexl.java?view=markup";>simple class +
svn commit: r927422 - /commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/IssuesTest.java
Author: henrib Date: Thu Mar 25 14:27:18 2010 New Revision: 927422 URL: http://svn.apache.org/viewvc?rev=927422&view=rev Log: Created test for JEXL-100 Modified: commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/IssuesTest.java Modified: commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/IssuesTest.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/IssuesTest.java?rev=927422&r1=927421&r2=927422&view=diff == --- commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/IssuesTest.java (original) +++ commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/IssuesTest.java Thu Mar 25 14:27:18 2010 @@ -373,4 +373,18 @@ public class IssuesTest extends JexlTest } } +public void test100() throws Exception { +JexlEngine jexl = new JexlEngine(); +jexl.setCache(4); +String expr = "foo[0]"; +JexlContext ctxt = new MapContext(); +int[] foo = { 42 }; +ctxt.set("foo", foo); + +for(int l = 0; l < 2; ++l) { +Object value = jexl.createExpression(expr).evaluate(ctxt); +assertEquals(42, value); +} +} + }
svn commit: r927892 - /commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlEngine.java
Author: henrib Date: Fri Mar 26 14:56:56 2010 New Revision: 927892 URL: http://svn.apache.org/viewvc?rev=927892&view=rev Log: Javadoc line too long (checkstyle) Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlEngine.java Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlEngine.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlEngine.java?rev=927892&r1=927891&r2=927892&view=diff == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlEngine.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlEngine.java Fri Mar 26 14:56:56 2010 @@ -57,7 +57,8 @@ import org.apache.commons.jexl2.introspe * * The setSilent and setLenient methods allow to fine-tune an engine instance behavior * according to various error control needs. The lenient/strict flag tells the engine when and if null as operand is - * considered an error, the silent/verbose flag tells the engine what to do with the error (log as warning or throw exception). + * considered an error, the silent/verbose flag tells the engine what to do with the error + * (log as warning or throw exception). * * * When "silent" & "lenient":
svn commit: r927893 - /commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java
Author: henrib Date: Fri Mar 26 14:58:48 2010 New Revision: 927893 URL: http://svn.apache.org/viewvc?rev=927893&view=rev Log: Made null operands control consistent with each other. Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java?rev=927893&r1=927892&r2=927893&view=diff == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java Fri Mar 26 14:58:48 2010 @@ -88,7 +88,10 @@ public class JexlArithmetic { * @return null if strict, else Long(0) */ protected Object controlNullNullOperands() { -return strict? null : Integer.valueOf(0); +if (strict) { +throw new NullPointerException(JexlException.NULL_OPERAND); +} +return Integer.valueOf(0); } /**
svn commit: r927895 - in /commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2: ArithmeticTest.java junit/Asserter.java
Author: henrib Date: Fri Mar 26 15:00:58 2010 New Revision: 927895 URL: http://svn.apache.org/viewvc?rev=927895&view=rev Log: Added tests about null operands; Added failure handling ability in Asserter. Modified: commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/ArithmeticTest.java commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/junit/Asserter.java Modified: commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/ArithmeticTest.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/ArithmeticTest.java?rev=927895&r1=927894&r2=927895&view=diff == --- commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/ArithmeticTest.java (original) +++ commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/ArithmeticTest.java Fri Mar 26 15:00:58 2010 @@ -32,6 +32,55 @@ public class ArithmeticTest extends Jexl asserter = new Asserter(JEXL); } +public void testUndefinedVar() throws Exception { +asserter.failExpression("objects[1].status", ".* undefined variable objects.*"); +} + +public void testLeftNullOperand() throws Exception { +asserter.setVariable("left", null); +asserter.setVariable("right", 8); +asserter.failExpression("left + right", ".*null.*"); +asserter.failExpression("left - right", ".*null.*"); +asserter.failExpression("left * right", ".*null.*"); +asserter.failExpression("left / right", ".*null.*"); +asserter.failExpression("left % right", ".*null.*"); +asserter.failExpression("left & right", ".*null.*"); +asserter.failExpression("left | right", ".*null.*"); +asserter.failExpression("left ^ right", ".*null.*"); +} + +public void testRightNullOperand() throws Exception { +asserter.setVariable("left", 9); +asserter.setVariable("right", null); +asserter.failExpression("left + right", ".*null.*"); +asserter.failExpression("left - right", ".*null.*"); +asserter.failExpression("left * right", ".*null.*"); +asserter.failExpression("left / right", ".*null.*"); +asserter.failExpression("left % right", ".*null.*"); +asserter.failExpression("left & right", ".*null.*"); +asserter.failExpression("left | right", ".*null.*"); +asserter.failExpression("left ^ right", ".*null.*"); +} + +public void testNullOperands() throws Exception { +asserter.setVariable("left", null); +asserter.setVariable("right", null); +asserter.failExpression("left + right", ".*null.*"); +asserter.failExpression("left - right", ".*null.*"); +asserter.failExpression("left * right", ".*null.*"); +asserter.failExpression("left / right", ".*null.*"); +asserter.failExpression("left % right", ".*null.*"); +asserter.failExpression("left & right", ".*null.*"); +asserter.failExpression("left | right", ".*null.*"); +asserter.failExpression("left ^ right", ".*null.*"); +} + +public void testNullOperand() throws Exception { +asserter.setVariable("right", null); +asserter.failExpression("~right", ".*null.*"); +asserter.failExpression("-right", ".*number.*"); +} + public void testBigDecimal() throws Exception { asserter.setVariable("left", new BigDecimal(2)); asserter.setVariable("right", new BigDecimal(6)); @@ -237,12 +286,14 @@ public class ArithmeticTest extends Jexl } } } -if (!jexl.isLenient()) +if (!jexl.isLenient()) { assertTrue("All expressions should have thrown " + zthrow + "/" + PERMS, zthrow == PERMS); -else +} +else { assertTrue("All expressions should have zeroed " + zeval + "/" + PERMS, zeval == PERMS); +} } debuggerCheck(jexl); } Modified: commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/junit/Asserter.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/t
svn commit: r927903 - in /commons/proper/jexl/trunk/src: main/java/org/apache/commons/jexl2/ main/java/org/apache/commons/jexl2/parser/ test/java/org/apache/commons/jexl2/
Author: henrib Date: Fri Mar 26 15:08:12 2010 New Revision: 927903 URL: http://svn.apache.org/viewvc?rev=927903&view=rev Log: Fix JEXL-100; Added JexlNode.Literal to improve cache abilities and usage, used as base for AST{Integer,String}Literal; Reviewed assignment and reference related code to improve antish variable handling; Added related tests and improve coverage Added: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTIntegerLiteral.java (with props) commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTStringLiteral.java (with props) Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Interpreter.java commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/JexlNode.java commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/ArrayAccessTest.java commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/AssignTest.java commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/IssuesTest.java Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Interpreter.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Interpreter.java?rev=927903&r1=927902&r2=927903&view=diff == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Interpreter.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Interpreter.java Fri Mar 26 15:08:12 2010 @@ -348,8 +348,12 @@ public class Interpreter implements Pars int numChildren = node.jjtGetNumChildren(); for (int i = 1; i < numChildren; i++) { JexlNode nindex = node.jjtGetChild(i); -Object index = nindex.jjtAccept(this, null); -object = getAttribute(object, index, nindex); +if (nindex instanceof JexlNode.Literal) { +object = nindex.jjtAccept(this, object); +} else { +Object index = nindex.jjtAccept(this, null); +object = getAttribute(object, index, nindex); +} } return object; @@ -415,34 +419,13 @@ public class Interpreter implements Pars } // 2: last objectNode will perform assignement in all cases propertyNode = left.jjtGetChild(last); +boolean antVar = false; if (propertyNode instanceof ASTIdentifier) { property = ((ASTIdentifier) propertyNode).image; -// deal with ant variable -if (isVariable && object == null) { -if (variableName != null) { -if (last > 0) { -variableName.append('.'); -} -variableName.append(property); -property = variableName.toString(); -} -context.set(String.valueOf(property), right); -return right; -} +antVar = true; } else if (propertyNode instanceof ASTIntegerLiteral) { -property = visit((ASTIntegerLiteral) propertyNode, null); -// deal with ant variable -if (isVariable && object == null) { -if (variableName != null) { -if (last > 0) { -variableName.append('.'); -} -variableName.append(property); -property = variableName.toString(); -} -context.set(String.valueOf(property), right); -return right; -} +property = ((ASTIntegerLiteral) propertyNode).getLiteral(); +antVar = true; } else if (propertyNode instanceof ASTArrayAccess) { // first objectNode is the identifier objectNode = propertyNode; @@ -458,13 +441,31 @@ public class Interpreter implements Pars last = narray.jjtGetNumChildren() - 1; for (int i = 1; i < last; i++) { objectNode = narray.jjtGetChild(i); -Object index = objectNode.jjtAccept(this, null); -object = getAttribute(object, index, objectNode); +if (objectNode instanceof JexlNode.Literal) { +object = objectNode.jjtAccept(this, object); +} else { +Object index = objectNode.jjtAccept(this, null); +object = getAttribute(object, index, objectNode); +} } property = narray.jjtGetChild(last).jjtAccept(this, null); } else { throw new JexlException(objectNode, "illegal assignment form"); } +// deal with ant variable; set context +if (antVar) { +if
svn commit: r927953 - in /commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser: ASTIntegerLiteral.java ASTStringLiteral.java
Author: henrib Date: Fri Mar 26 16:29:54 2010 New Revision: 927953 URL: http://svn.apache.org/viewvc?rev=927953&view=rev Log: Per Sebb's recommendation, made those final. Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTIntegerLiteral.java commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTStringLiteral.java Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTIntegerLiteral.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTIntegerLiteral.java?rev=927953&r1=927952&r2=927953&view=diff == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTIntegerLiteral.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTIntegerLiteral.java Fri Mar 26 16:29:54 2010 @@ -16,7 +16,7 @@ */ package org.apache.commons.jexl2.parser; -public class ASTIntegerLiteral extends JexlNode implements JexlNode.Literal { +public final class ASTIntegerLiteral extends JexlNode implements JexlNode.Literal { /** The type literal value. */ private Integer literal; Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTStringLiteral.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTStringLiteral.java?rev=927953&r1=927952&r2=927953&view=diff == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTStringLiteral.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTStringLiteral.java Fri Mar 26 16:29:54 2010 @@ -16,7 +16,7 @@ */ package org.apache.commons.jexl2.parser; -public class ASTStringLiteral extends JexlNode implements JexlNode.Literal { +public final class ASTStringLiteral extends JexlNode implements JexlNode.Literal { public ASTStringLiteral(int id) { super(id);
svn commit: r927966 - in /commons/proper/jexl/trunk: pom.xml src/main/config/checkstyle.xml
Author: henrib Date: Fri Mar 26 16:59:04 2010 New Revision: 927966 URL: http://svn.apache.org/viewvc?rev=927966&view=rev Log: Updated maven plugins versions; Modified checkstyle config to reflect 5.0 changes Modified: commons/proper/jexl/trunk/pom.xml commons/proper/jexl/trunk/src/main/config/checkstyle.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=927966&r1=927965&r2=927966&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Fri Mar 26 16:59:04 2010 @@ -214,7 +214,7 @@ org.apache.maven.plugins maven-changes-plugin -2.1 +2.3 ${basedir}/xdocs/changes.xml %URL%/%ISSUE% @@ -230,7 +230,7 @@ org.apache.maven.plugins maven-checkstyle-plugin -2.3 +2.5 ${basedir}/src/main/config/checkstyle.xml org/apache/commons/jexl2/parser/*.java @@ -254,7 +254,7 @@ org.codehaus.mojo findbugs-maven-plugin -2.1 +2.3.1 org/apache/commons/jexl2/parser/*.class Modified: commons/proper/jexl/trunk/src/main/config/checkstyle.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/config/checkstyle.xml?rev=927966&r1=927965&r2=927966&view=diff == --- commons/proper/jexl/trunk/src/main/config/checkstyle.xml (original) +++ commons/proper/jexl/trunk/src/main/config/checkstyle.xml Fri Mar 26 16:59:04 2010 @@ -18,9 +18,8 @@ */ --> -http://www.puppycrawl.com/dtds/configuration_1_1.dtd";> +http://www.puppycrawl.com/dtds/configuration_1_2.dtd";> - + + + @@ -68,6 +69,25 @@ + + + + + + + + + + + + + + + + + + + @@ -94,28 +114,7 @@ - - - - - - - - - - - - - - - - - - - - - - + @@ -126,7 +125,6 @@ - @@ -140,8 +138,7 @@ - - + @@ -149,7 +146,6 @@ - @@ -217,4 +213,4 @@ - \ No newline at end of file +
svn commit: r927975 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Fri Mar 26 17:31:06 2010 New Revision: 927975 URL: http://svn.apache.org/viewvc?rev=927975&view=rev Log: Reverted spec on bsf-api to something simpler; prepare release fails with NPE otherwise Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=927975&r1=927974&r2=927975&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Fri Mar 26 17:31:06 2010 @@ -106,7 +106,7 @@ org.apache.bsf bsf-api -[3.0-beta3,) +3.0-beta3 provided
svn commit: r928216 - /commons/proper/jexl/trunk/xdocs/reference/examples.xml
Author: henrib Date: Sat Mar 27 15:12:45 2010 New Revision: 928216 URL: http://svn.apache.org/viewvc?rev=928216&view=rev Log: Added reference to package javadoc. Modified: commons/proper/jexl/trunk/xdocs/reference/examples.xml Modified: commons/proper/jexl/trunk/xdocs/reference/examples.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/xdocs/reference/examples.xml?rev=928216&r1=928215&r2=928216&view=diff == --- commons/proper/jexl/trunk/xdocs/reference/examples.xml (original) +++ commons/proper/jexl/trunk/xdocs/reference/examples.xml Sat Mar 27 15:12:45 2010 @@ -44,6 +44,10 @@ http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/org/apache/commons/jexl2/Jexl.java?view=markup";>simple class that evaluates its command line arguments as JEXL expressions when run. + + The http://commons.apache.org/jexl/apidocs/org/apache/commons/jexl2/package-summary.html#intro";> + package javadoc also contains useful information. +
svn commit: r928405 - in /commons/proper/jexl/trunk/src: main/java/org/apache/commons/jexl2/ main/java/org/apache/commons/jexl2/parser/ test/java/org/apache/commons/jexl2/
Author: henrib Date: Sun Mar 28 14:22:06 2010 New Revision: 928405 URL: http://svn.apache.org/viewvc?rev=928405&view=rev Log: Updated Parser.jjt to define all acceptable tokens resulting in cleaner lexer. Added 'register' syntax (#0-9) used by JexlEngine.{s,g}etProperty: syntax only valid through ALLOW_REGISTER flag and REGISTERS lexical state. Completed literal handling (array, integer, string, float). Added: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTArrayLiteral.java (with props) commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTFloatLiteral.java (with props) Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Interpreter.java commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlEngine.java commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTIntegerLiteral.java commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTStringLiteral.java commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/Parser.jjt commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/JexlTestCase.java Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Interpreter.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Interpreter.java?rev=928405&r1=928404&r2=928405&view=diff == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Interpreter.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Interpreter.java Sun Mar 28 14:22:06 2010 @@ -181,7 +181,7 @@ public class Interpreter implements Pars * Sets this interpreter registers for bean access/assign expressions. * @param theRegisters the array of registers */ -protected void setRegisters(Object[] theRegisters) { +protected void setRegisters(Object... theRegisters) { this.registers = theRegisters; } @@ -361,13 +361,18 @@ public class Interpreter implements Pars /** {...@inheritdoc} */ public Object visit(ASTArrayLiteral node, Object data) { -int childCount = node.jjtGetNumChildren(); -Object[] array = new Object[childCount]; -for (int i = 0; i < childCount; i++) { -Object entry = node.jjtGetChild(i).jjtAccept(this, data); -array[i] = entry; +Object literal = node.getLiteral(); +if (literal == null) { +int childCount = node.jjtGetNumChildren(); +Object[] array = new Object[childCount]; +for (int i = 0; i < childCount; i++) { +Object entry = node.jjtGetChild(i).jjtAccept(this, data); +array[i] = entry; +} +literal = arithmetic.narrowArrayType(array); +node.setLiteral(literal); } -return arithmetic.narrowArrayType(array); +return literal; } /** {...@inheritdoc} */ @@ -603,12 +608,10 @@ public class Interpreter implements Pars /** {...@inheritdoc} */ public Object visit(ASTFloatLiteral node, Object data) { -Object value = node.jjtGetValue(); -if (!(value instanceof Float)) { -value = Float.valueOf(node.image); -node.jjtSetValue(value); +if (data != null) { +return getAttribute(data, node.getLiteral(), node); } -return value; +return node.getLiteral(); } /** {...@inheritdoc} */ @@ -677,12 +680,7 @@ public class Interpreter implements Pars String name = node.image; if (data == null) { if (registers != null) { -if (registers[0].equals(name)) { -return registers[1]; -} -if (registers[2].equals(name)) { -return registers[3]; -} +return registers[name.charAt(1) - '0']; } Object value = context.get(name); if (value == null Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java?rev=928405&r1=928404&r2=928405&view=diff == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java Sun Mar 28 14:22:06 2010 @@ -85,7 +85,8 @@ public class JexlArithmetic { /** * The result of +,/,-,*,% when both operands are null. -
svn commit: r928411 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Sun Mar 28 14:34:54 2010 New Revision: 928411 URL: http://svn.apache.org/viewvc?rev=928411&view=rev Log: [maven-release-plugin] prepare release COMMONS_JEXL_2_0_1 Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928411&r1=928410&r2=928411&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Sun Mar 28 14:34:54 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.1-SNAPSHOT +2.0.1 Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -36,9 +36,9 @@ - scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/trunk - scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/trunk -http://svn.apache.org/viewvc/commons/proper/jexl/trunk + scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1 + scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1 + http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1
svn commit: r928443 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Sun Mar 28 16:27:05 2010 New Revision: 928443 URL: http://svn.apache.org/viewvc?rev=928443&view=rev Log: Prepare for 2.0.1 Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928443&r1=928442&r2=928443&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Sun Mar 28 16:27:05 2010 @@ -106,7 +106,7 @@ org.apache.bsf bsf-api -3.0-beta3 +[3.0-beta3,) provided
svn commit: r928447 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Sun Mar 28 16:37:30 2010 New Revision: 928447 URL: http://svn.apache.org/viewvc?rev=928447&view=rev Log: Prepare for 2.0.1 Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928447&r1=928446&r2=928447&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Sun Mar 28 16:37:30 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.1 +2.0.1-SNAPSHOT Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions.
svn commit: r928448 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Sun Mar 28 16:39:26 2010 New Revision: 928448 URL: http://svn.apache.org/viewvc?rev=928448&view=rev Log: Prepare for 2.0.1 Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928448&r1=928447&r2=928448&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Sun Mar 28 16:39:26 2010 @@ -106,7 +106,7 @@ org.apache.bsf bsf-api -[3.0-beta3,) +3.0-beta3 provided
svn commit: r928452 - in /commons/proper/jexl/trunk: RELEASE-NOTES.txt xdocs/changes.xml
Author: henrib Date: Sun Mar 28 16:51:48 2010 New Revision: 928452 URL: http://svn.apache.org/viewvc?rev=928452&view=rev Log: Prepare for 2.0.1 Modified: commons/proper/jexl/trunk/RELEASE-NOTES.txt commons/proper/jexl/trunk/xdocs/changes.xml Modified: commons/proper/jexl/trunk/RELEASE-NOTES.txt URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/RELEASE-NOTES.txt?rev=928452&r1=928451&r2=928452&view=diff == --- commons/proper/jexl/trunk/RELEASE-NOTES.txt (original) +++ commons/proper/jexl/trunk/RELEASE-NOTES.txt Sun Mar 28 16:51:48 2010 @@ -104,8 +104,15 @@ Error and exception handling * Configuring the leniency and verbosity of the Jexl engine allows user control over the error handling policy -Bugs fixed: -=== +Bugs fixed in 2.0.1: + + +* JEXL-100: Array access expressions fail when evaluated twice and cache is enabled +* JEXL-99: Documentation of Thread Safety / Invalid code examples on homepage +* JEXL-98: Quote escaping cannot be escaped + +Bugs fixed in 2.0: +== * JEXL-90: Jexl parser allows invalid expressions, e.g. "a=1 b=2 3" * JEXL-88: MethodKey.java - name clash getMostSpecific() with Java 1.5.0 Modified: commons/proper/jexl/trunk/xdocs/changes.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/xdocs/changes.xml?rev=928452&r1=928451&r2=928452&view=diff == --- commons/proper/jexl/trunk/xdocs/changes.xml (original) +++ commons/proper/jexl/trunk/xdocs/changes.xml Sun Mar 28 16:51:48 2010 @@ -25,6 +25,11 @@ Commons Developers + +Array access expressions fail when evaluated twice and cache is enabled +Documentation of Thread Safety / Invalid code examples on homepage +Quote escaping cannot be escaped + Bean-ish & ant-ish like assignment Ternary operator support
svn commit: r928632 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 08:16:25 2010 New Revision: 928632 URL: http://svn.apache.org/viewvc?rev=928632&view=rev Log: [maven-release-plugin] prepare release COMMONS_JEXL_2_0_1-RC1 Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928632&r1=928631&r2=928632&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 08:16:25 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.1-SNAPSHOT +2.0.1-RC1 Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -36,9 +36,9 @@ - scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1 - scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1 - http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1 + scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1
svn commit: r928634 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 08:23:45 2010 New Revision: 928634 URL: http://svn.apache.org/viewvc?rev=928634&view=rev Log: Prepare for 2.0.1 Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928634&r1=928633&r2=928634&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 08:23:45 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.1-RC1 +2.0.1-SNAPSHOT Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -36,9 +36,9 @@ - scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 - scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 - http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 + scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 + http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0
svn commit: r928635 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 08:25:25 2010 New Revision: 928635 URL: http://svn.apache.org/viewvc?rev=928635&view=rev Log: [maven-release-plugin] prepare release COMMONS_JEXL_2_0_1-RC1 Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928635&r1=928634&r2=928635&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 08:25:25 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.1-SNAPSHOT +2.0.1-RC1 Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -36,9 +36,9 @@ - scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 - scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 - http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0 + scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1
svn commit: r928636 - /commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
Author: henrib Date: Mon Mar 29 08:26:45 2010 New Revision: 928636 URL: http://svn.apache.org/viewvc?rev=928636&view=rev Log: [maven-release-plugin] copy for tag COMMONS_JEXL_2_0_1-RC1 Added: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/ - copied from r928635, commons/proper/jexl/tags/COMMONS_JEXL_2_0/
svn commit: r928637 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 08:26:59 2010 New Revision: 928637 URL: http://svn.apache.org/viewvc?rev=928637&view=rev Log: [maven-release-plugin] prepare for next development iteration Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928637&r1=928636&r2=928637&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 08:26:59 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.1-RC1 +2.0.2-SNAPSHOT Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -36,9 +36,9 @@ - scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 - scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 - http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 + scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 + http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0
svn commit: r928639 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 08:36:39 2010 New Revision: 928639 URL: http://svn.apache.org/viewvc?rev=928639&view=rev Log: Prepare for 2.0.1 Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928639&r1=928638&r2=928639&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 08:36:39 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.2-SNAPSHOT +2.0.1-SNAPSHOT Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -115,10 +115,10 @@ 1.5 1.5 jexl -2.0 +2.0.1 RC1 -2.0.1 +2.0 JEXL 12310479
svn commit: r928640 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 08:38:27 2010 New Revision: 928640 URL: http://svn.apache.org/viewvc?rev=928640&view=rev Log: [maven-release-plugin] prepare release COMMONS_JEXL_2_0_1-RC1 Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928640&r1=928639&r2=928640&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 08:38:27 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.1-SNAPSHOT +2.0.1-RC1 Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -36,9 +36,9 @@ - scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 - scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 - http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0 + scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1
svn commit: r928641 - /commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/COMMONS_JEXL_2_0/
Author: henrib Date: Mon Mar 29 08:39:26 2010 New Revision: 928641 URL: http://svn.apache.org/viewvc?rev=928641&view=rev Log: [maven-release-plugin] copy for tag COMMONS_JEXL_2_0_1-RC1 Added: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/COMMONS_JEXL_2_0/ - copied from r928640, commons/proper/jexl/tags/COMMONS_JEXL_2_0/
svn commit: r928642 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 08:39:40 2010 New Revision: 928642 URL: http://svn.apache.org/viewvc?rev=928642&view=rev Log: [maven-release-plugin] prepare for next development iteration Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928642&r1=928641&r2=928642&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 08:39:40 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.1-RC1 +2.0.2-SNAPSHOT Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -36,9 +36,9 @@ - scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 - scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 - http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 + scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 + http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0
svn commit: r928651 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 08:57:19 2010 New Revision: 928651 URL: http://svn.apache.org/viewvc?rev=928651&view=rev Log: Prepare for 2.0.1 Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928651&r1=928650&r2=928651&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 08:57:19 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.2-SNAPSHOT +2.0.1-SNAPSHOT Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -118,7 +118,7 @@ 2.0.1 RC1 -2.0 +1.1 JEXL 12310479
svn commit: r928654 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 09:05:03 2010 New Revision: 928654 URL: http://svn.apache.org/viewvc?rev=928654&view=rev Log: [maven-release-plugin] prepare release COMMONS_JEXL_2_0_1-RC1 Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928654&r1=928653&r2=928654&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 09:05:03 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.1-SNAPSHOT +2.0.1-RC1 Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -36,9 +36,9 @@ - scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 - scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 - http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0 + scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1
svn commit: r928659 - /commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
Author: henrib Date: Mon Mar 29 09:14:12 2010 New Revision: 928659 URL: http://svn.apache.org/viewvc?rev=928659&view=rev Log: clean up previously aborted attempt Removed: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
svn commit: r928660 - /commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
Author: henrib Date: Mon Mar 29 09:14:59 2010 New Revision: 928660 URL: http://svn.apache.org/viewvc?rev=928660&view=rev Log: [maven-release-plugin] copy for tag COMMONS_JEXL_2_0_1-RC1 Added: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/ - copied from r928659, commons/proper/jexl/tags/COMMONS_JEXL_2_0/
svn commit: r928661 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 09:15:15 2010 New Revision: 928661 URL: http://svn.apache.org/viewvc?rev=928661&view=rev Log: [maven-release-plugin] prepare for next development iteration Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928661&r1=928660&r2=928661&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 09:15:15 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.1-RC1 +2.0.2-SNAPSHOT Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -36,9 +36,9 @@ - scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 - scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 - http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 + scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 + http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0
svn commit: r928668 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 09:54:35 2010 New Revision: 928668 URL: http://svn.apache.org/viewvc?rev=928668&view=rev Log: Prepare for 2.0.1 (reverting to parent-12 trying to pinpoint mvn -Prc release:perform pb) Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928668&r1=928667&r2=928668&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 09:54:35 2010 @@ -19,12 +19,12 @@ org.apache.commons commons-parent -14 +12 4.0.0 org.apache.commons commons-jexl -2.0.2-SNAPSHOT +2.0.1-SNAPSHOT Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions.
svn commit: r928670 - /commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
Author: henrib Date: Mon Mar 29 09:57:39 2010 New Revision: 928670 URL: http://svn.apache.org/viewvc?rev=928670&view=rev Log: clean up previously aborted attempt Removed: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
svn commit: r928675 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 10:04:50 2010 New Revision: 928675 URL: http://svn.apache.org/viewvc?rev=928675&view=rev Log: [maven-release-plugin] prepare release COMMONS_JEXL_2_0_1-RC1 Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928675&r1=928674&r2=928675&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 10:04:50 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.1-SNAPSHOT +2.0.1-RC1 Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -36,9 +36,9 @@ - scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 - scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 - http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0 + scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1
svn commit: r928676 - /commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
Author: henrib Date: Mon Mar 29 10:05:27 2010 New Revision: 928676 URL: http://svn.apache.org/viewvc?rev=928676&view=rev Log: [maven-scm] copy for tag COMMONS_JEXL_2_0_1-RC1 Added: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/ - copied from r928675, commons/proper/jexl/tags/COMMONS_JEXL_2_0/
svn commit: r928677 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 10:05:42 2010 New Revision: 928677 URL: http://svn.apache.org/viewvc?rev=928677&view=rev Log: [maven-release-plugin] prepare for next development iteration Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928677&r1=928676&r2=928677&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 10:05:42 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.1-RC1 +2.0.2-SNAPSHOT Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -36,9 +36,9 @@ - scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 - scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 - http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 + scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 + http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0
svn commit: r928686 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 10:27:58 2010 New Revision: 928686 URL: http://svn.apache.org/viewvc?rev=928686&view=rev Log: Prepare for 2.0.1 (reverting to parent-14) Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928686&r1=928685&r2=928686&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 10:27:58 2010 @@ -19,12 +19,12 @@ org.apache.commons commons-parent -12 +14 4.0.0 org.apache.commons commons-jexl -2.0.2-SNAPSHOT +2.0.1-SNAPSHOT Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions.
svn commit: r928690 - /commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
Author: henrib Date: Mon Mar 29 10:34:58 2010 New Revision: 928690 URL: http://svn.apache.org/viewvc?rev=928690&view=rev Log: cleaning aborted publish attempt Removed: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
svn commit: r928717 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 11:20:18 2010 New Revision: 928717 URL: http://svn.apache.org/viewvc?rev=928717&view=rev Log: [maven-release-plugin] prepare release COMMONS_JEXL_2_0_1-RC1 Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928717&r1=928716&r2=928717&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 11:20:18 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.1-SNAPSHOT +2.0.1-RC1 Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -36,9 +36,9 @@ - scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 - scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 - http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0 + scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1
svn commit: r928718 - /commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
Author: henrib Date: Mon Mar 29 11:20:53 2010 New Revision: 928718 URL: http://svn.apache.org/viewvc?rev=928718&view=rev Log: [maven-release-plugin] copy for tag COMMONS_JEXL_2_0_1-RC1 Added: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/ - copied from r928717, commons/proper/jexl/tags/COMMONS_JEXL_2_0/
svn commit: r928719 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 11:21:09 2010 New Revision: 928719 URL: http://svn.apache.org/viewvc?rev=928719&view=rev Log: [maven-release-plugin] prepare for next development iteration Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928719&r1=928718&r2=928719&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 11:21:09 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.1-RC1 +2.0.2-SNAPSHOT Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -36,9 +36,9 @@ - scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 - scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 - http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 + scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 + http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0
svn commit: r928724 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 11:38:44 2010 New Revision: 928724 URL: http://svn.apache.org/viewvc?rev=928724&view=rev Log: Prepare for 2.0.1 (mvn -Prc release:perform still not working correctly with clean .m2 repo) Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928724&r1=928723&r2=928724&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 11:38:44 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.2-SNAPSHOT +2.0.1-SNAPSHOT Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -130,14 +130,6 @@ - -${basedir} -META-INF - -NOTICE.txt -LICENSE.txt - - src/main/resources @@ -145,6 +137,7 @@ + org.apache.maven.plugins maven-surefire-plugin
svn commit: r928726 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 11:42:09 2010 New Revision: 928726 URL: http://svn.apache.org/viewvc?rev=928726&view=rev Log: Prepare for 2.0.1 Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928726&r1=928725&r2=928726&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 11:42:09 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.1-SNAPSHOT +2.0.2-SNAPSHOT Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -137,7 +137,6 @@ - org.apache.maven.plugins maven-surefire-plugin
svn commit: r928751 - /commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
Author: henrib Date: Mon Mar 29 12:28:19 2010 New Revision: 928751 URL: http://svn.apache.org/viewvc?rev=928751&view=rev Log: cleaning aborted publish attempt Removed: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
svn commit: r928754 - in /commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1: ./ pom.xml
Author: henrib Date: Mon Mar 29 12:32:41 2010 New Revision: 928754 URL: http://svn.apache.org/viewvc?rev=928754&view=rev Log: Prepare manual publish Added: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/ - copied from r928753, commons/proper/jexl/trunk/ Modified: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/pom.xml Modified: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/pom.xml?rev=928754&r1=928753&r2=928754&view=diff == --- commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/pom.xml (original) +++ commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/pom.xml Mon Mar 29 12:32:41 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.2-SNAPSHOT +2.0.1-RC1 Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -314,7 +314,7 @@ apache.website Apache Commons Release Candidate Staging Site - ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/builds/commons/${commons.componentid}/${commons.release.version}/${commons.rc.version}/site + ${commons.deployment.protocol}://people.apache.org/home/henrib/public_html/${commons.componentid}-${commons.release.version}-${commons.rc.version}/site
svn commit: r928756 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 12:38:41 2010 New Revision: 928756 URL: http://svn.apache.org/viewvc?rev=928756&view=rev Log: Prepare for 2.0.1 (manual) Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928756&r1=928755&r2=928756&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 12:38:41 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.2-SNAPSHOT +2.0.1-RC1 Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -314,7 +314,7 @@ apache.website Apache Commons Release Candidate Staging Site - ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/builds/commons/${commons.componentid}/${commons.release.version}/${commons.rc.version}/site + ${commons.deployment.protocol}://people.apache.org/home/henrib/public_html/${commons.componentid}-${commons.release.version}-${commons.rc.version}/site
svn commit: r928758 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 12:39:59 2010 New Revision: 928758 URL: http://svn.apache.org/viewvc?rev=928758&view=rev Log: Prepare for 2.0.1 (manual) Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928758&r1=928757&r2=928758&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 12:39:59 2010 @@ -36,9 +36,9 @@ - scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 - scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 - http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0 + scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1
svn commit: r928759 - /commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
Author: henrib Date: Mon Mar 29 12:40:48 2010 New Revision: 928759 URL: http://svn.apache.org/viewvc?rev=928759&view=rev Log: cleaning aborted publish attempt Removed: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
svn commit: r928761 - in /commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1: ./ pom.xml
Author: henrib Date: Mon Mar 29 12:47:53 2010 New Revision: 928761 URL: http://svn.apache.org/viewvc?rev=928761&view=rev Log: Prepare manual publish Added: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/ - copied from r928754, commons/proper/jexl/trunk/ commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/pom.xml - copied unchanged from r928758, commons/proper/jexl/trunk/pom.xml
svn commit: r928811 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 15:56:10 2010 New Revision: 928811 URL: http://svn.apache.org/viewvc?rev=928811&view=rev Log: 2.0.1 build process test Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928811&r1=928810&r2=928811&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 15:56:10 2010 @@ -19,12 +19,12 @@ org.apache.commons commons-parent -14 +12 4.0.0 org.apache.commons commons-jexl -2.0.1-RC1 +2.0.1-SNAPSHOT Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -36,8 +36,8 @@ - scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 - scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 + scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 @@ -300,10 +300,17 @@ +stagingSite +Apache Commons Release Candidate Staging Site + ${commons.deployment.protocol}://people.apache.org/home/henrib/public_html/${commons.componentid}-${commons.release.version}-${commons.rc.version}/site + +
svn commit: r928812 - /commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
Author: henrib Date: Mon Mar 29 15:56:39 2010 New Revision: 928812 URL: http://svn.apache.org/viewvc?rev=928812&view=rev Log: cleaning aborted publish attempt Removed: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
svn commit: r928816 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 16:04:01 2010 New Revision: 928816 URL: http://svn.apache.org/viewvc?rev=928816&view=rev Log: [maven-release-plugin] prepare release COMMONS_JEXL_2_0_1-RC1 Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928816&r1=928815&r2=928816&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 16:04:01 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.1-SNAPSHOT +2.0.1-RC1 Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -36,8 +36,8 @@ - scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 - scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 + scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1
svn commit: r928817 - /commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
Author: henrib Date: Mon Mar 29 16:04:40 2010 New Revision: 928817 URL: http://svn.apache.org/viewvc?rev=928817&view=rev Log: [maven-scm] copy for tag COMMONS_JEXL_2_0_1-RC1 Added: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/ - copied from r928816, commons/proper/jexl/tags/COMMONS_JEXL_2_0/
svn commit: r928818 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 16:04:56 2010 New Revision: 928818 URL: http://svn.apache.org/viewvc?rev=928818&view=rev Log: [maven-release-plugin] prepare for next development iteration Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928818&r1=928817&r2=928818&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 16:04:56 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.1-RC1 +2.0.2-SNAPSHOT Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -36,8 +36,8 @@ - scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 - scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 + scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1
svn commit: r928821 - /commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
Author: henrib Date: Mon Mar 29 16:22:44 2010 New Revision: 928821 URL: http://svn.apache.org/viewvc?rev=928821&view=rev Log: cleaning aborted publish attempt Removed: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
svn commit: r928822 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 16:26:36 2010 New Revision: 928822 URL: http://svn.apache.org/viewvc?rev=928822&view=rev Log: Prepare for 2.0.1 Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928822&r1=928821&r2=928822&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 16:26:36 2010 @@ -19,12 +19,12 @@ org.apache.commons commons-parent -12 +14 4.0.0 org.apache.commons commons-jexl -2.0.2-SNAPSHOT +2.0.1-SNAPSHOT Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -36,9 +36,9 @@ - scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 - scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0 - http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/trunk + scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/trunk +http://svn.apache.org/viewvc/commons/proper/jexl/trunk
svn commit: r928823 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 16:31:25 2010 New Revision: 928823 URL: http://svn.apache.org/viewvc?rev=928823&view=rev Log: [maven-release-plugin] prepare release COMMONS_JEXL_2_0_1-RC1 Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928823&r1=928822&r2=928823&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 16:31:25 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.1-SNAPSHOT +2.0.1-RC1 Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -36,9 +36,9 @@ - scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/trunk - scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/trunk -http://svn.apache.org/viewvc/commons/proper/jexl/trunk + scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1
svn commit: r928824 - /commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
Author: henrib Date: Mon Mar 29 16:32:03 2010 New Revision: 928824 URL: http://svn.apache.org/viewvc?rev=928824&view=rev Log: [maven-release-plugin] copy for tag COMMONS_JEXL_2_0_1-RC1 Added: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/ - copied from r928823, commons/proper/jexl/trunk/
svn commit: r928825 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 16:32:19 2010 New Revision: 928825 URL: http://svn.apache.org/viewvc?rev=928825&view=rev Log: [maven-release-plugin] prepare for next development iteration Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928825&r1=928824&r2=928825&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 16:32:19 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.1-RC1 +2.0.2-SNAPSHOT Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -36,9 +36,9 @@ - scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 - scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 - http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/trunk + scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/trunk +http://svn.apache.org/viewvc/commons/proper/jexl/trunk
svn commit: r928852 - /commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
Author: henrib Date: Mon Mar 29 18:08:59 2010 New Revision: 928852 URL: http://svn.apache.org/viewvc?rev=928852&view=rev Log: cleaning aborted publish attempt Removed: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
svn commit: r928857 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 18:19:50 2010 New Revision: 928857 URL: http://svn.apache.org/viewvc?rev=928857&view=rev Log: Prepare for 2.0.1 (proper) Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928857&r1=928856&r2=928857&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 18:19:50 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.2-SNAPSHOT +2.0.1-SNAPSHOT Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -300,17 +300,10 @@ -stagingSite -Apache Commons Release Candidate Staging Site - ${commons.deployment.protocol}://people.apache.org/home/henrib/public_html/${commons.componentid}-${commons.release.version}-${commons.rc.version}/site - - @@ -321,8 +314,7 @@ apache.website Apache Commons Release Candidate Staging Site - ${commons.deployment.protocol}://people.apache.org/home/henrib/public_html/${commons.componentid}-${commons.release.version}-${commons.rc.version}/site - + ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/builds/commons/${commons.componentid}/${commons.release.version}/${commons.rc.version}/site
svn commit: r928892 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 20:18:39 2010 New Revision: 928892 URL: http://svn.apache.org/viewvc?rev=928892&view=rev Log: [maven-release-plugin] prepare release COMMONS_JEXL_2_0_1-RC1 Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928892&r1=928891&r2=928892&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 20:18:39 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.1-SNAPSHOT +2.0.1-RC1 Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -36,9 +36,9 @@ - scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/trunk - scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/trunk -http://svn.apache.org/viewvc/commons/proper/jexl/trunk + scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1
svn commit: r928893 - /commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
Author: henrib Date: Mon Mar 29 20:19:14 2010 New Revision: 928893 URL: http://svn.apache.org/viewvc?rev=928893&view=rev Log: [maven-release-plugin] copy for tag COMMONS_JEXL_2_0_1-RC1 Added: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/ - copied from r928892, commons/proper/jexl/trunk/
svn commit: r928894 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 20:19:30 2010 New Revision: 928894 URL: http://svn.apache.org/viewvc?rev=928894&view=rev Log: [maven-release-plugin] prepare for next development iteration Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928894&r1=928893&r2=928894&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 20:19:30 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.1-RC1 +2.0.2-SNAPSHOT Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -36,9 +36,9 @@ - scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 - scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 - http://svn.apache.org/viewvc/commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1 + scm:svn:http://svn.apache.org/repos/asf/commons/proper/jexl/trunk + scm:svn:https://svn.apache.org/repos/asf/commons/proper/jexl/trunk +http://svn.apache.org/viewvc/commons/proper/jexl/trunk
svn commit: r928912 - /commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
Author: henrib Date: Mon Mar 29 21:36:31 2010 New Revision: 928912 URL: http://svn.apache.org/viewvc?rev=928912&view=rev Log: cleaning aborted publish attempt Removed: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
svn commit: r928913 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 21:38:22 2010 New Revision: 928913 URL: http://svn.apache.org/viewvc?rev=928913&view=rev Log: Prepare for 2.0.1 (going manual) Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928913&r1=928912&r2=928913&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 21:38:22 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.2-SNAPSHOT +2.0.1 Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -321,7 +321,8 @@ apache.website Apache Commons Release Candidate Staging Site - ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/builds/commons/${commons.componentid}/${commons.release.version}/${commons.rc.version}/site + ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/builds/commons/${commons.componentid}/${commons.release.version}/${commons.rc.version}/site +
svn commit: r928914 - /commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
Author: henrib Date: Mon Mar 29 21:42:57 2010 New Revision: 928914 URL: http://svn.apache.org/viewvc?rev=928914&view=rev Log: Tagging 2.0.1 RC1 Added: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/ - copied from r928913, commons/proper/jexl/trunk/
svn commit: r928931 - /commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
Author: henrib Date: Mon Mar 29 22:46:00 2010 New Revision: 928931 URL: http://svn.apache.org/viewvc?rev=928931&view=rev Log: cleaning aborted publish attempt Removed: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
svn commit: r928932 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Mon Mar 29 22:47:24 2010 New Revision: 928932 URL: http://svn.apache.org/viewvc?rev=928932&view=rev Log: Changes report conf change Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=928932&r1=928931&r2=928932&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Mon Mar 29 22:47:24 2010 @@ -215,8 +215,10 @@ maven-changes-plugin 2.3 -${basedir}/xdocs/changes.xml -%URL%/%ISSUE% + ${basedir}/src/site/xdoc/changes.xml + + %URL%/%ISSUE% + @@ -233,7 +235,7 @@ ${basedir}/src/main/config/checkstyle.xml org/apache/commons/jexl2/parser/*.java - ${basedir}/src/main/config/header.txt + ${basedir}/src/main/config/header.txt false
svn commit: r928933 - /commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/
Author: henrib Date: Mon Mar 29 22:48:03 2010 New Revision: 928933 URL: http://svn.apache.org/viewvc?rev=928933&view=rev Log: Tagging 2.0.1 RC1 Added: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC1/ - copied from r928932, commons/proper/jexl/trunk/
svn commit: r929433 - in /commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser: ASTArrayLiteral.java ASTFloatLiteral.java ASTIntegerLiteral.java ASTStringLiteral.java SimpleNode.jav
Author: henrib Date: Wed Mar 31 08:43:37 2010 New Revision: 929433 URL: http://svn.apache.org/viewvc?rev=929433&view=rev Log: Javadoc updated ( manual Checkstyle ); Added check on ASTArrayLiteral to enforce literal is array; StringParser constants explained Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTArrayLiteral.java commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTFloatLiteral.java commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTIntegerLiteral.java commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTStringLiteral.java commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/SimpleNode.java commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/StringParser.java Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTArrayLiteral.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTArrayLiteral.java?rev=929433&r1=929432&r2=929433&view=diff == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTArrayLiteral.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTArrayLiteral.java Wed Mar 31 08:43:37 2010 @@ -18,30 +18,37 @@ package org.apache.commons.jexl2.parser; public final class ASTArrayLiteral extends JexlNode implements JexlNode.Literal { /** The type literal value. */ -Object literal = null; +Object array = null; -public ASTArrayLiteral(int id) { +ASTArrayLiteral(int id) { super(id); } -public ASTArrayLiteral(Parser p, int id) { +ASTArrayLiteral(Parser p, int id) { super(p, id); } +/** + * Gets the literal value. + * @return the array literal + */ public Object getLiteral() { -return literal; +return array; } +/** + * Sets the literal value. + * @param literal the literal array value + * @throws IllegalArgumentException if literal is not an array or null + */ public void setLiteral(Object literal) { -this.literal = literal; +if (literal != null && !literal.getClass().isArray()) { +throw new IllegalArgumentException(literal.getClass() + " is not an array"); +} +this.array = literal; } -/** - * Accept the visitor. - * @param visitor the visitor - * @param data contextual data - * @return result of visit - **/ +/** {...@inheritdoc} */ @Override public Object jjtAccept(ParserVisitor visitor, Object data) { return visitor.visit(this, data); Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTFloatLiteral.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTFloatLiteral.java?rev=929433&r1=929432&r2=929433&view=diff == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTFloatLiteral.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTFloatLiteral.java Wed Mar 31 08:43:37 2010 @@ -27,17 +27,16 @@ public final class ASTFloatLiteral exten public ASTFloatLiteral(Parser p, int id) { super(p, id); } - + +/** + * Gets the literal value. + * @return the float literal + */ public Float getLiteral() { return literal; } -/** - * Accept the visitor. - * @param visitor the visitor - * @param data contextual data - * @return result of visit - **/ +/** {...@inheritdoc} */ @Override public Object jjtAccept(ParserVisitor visitor, Object data) { return visitor.visit(this, data); Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTIntegerLiteral.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTIntegerLiteral.java?rev=929433&r1=929432&r2=929433&view=diff == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTIntegerLiteral.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/ASTIntegerLiteral.java Wed Mar 31 08:43:37 2010 @@ -20,24 +20,23 @@ public final class ASTIntegerLiteral ext /** The type literal value. */ Integer literal = null; -public ASTIntegerLiteral(int id) { +ASTIntegerLiteral(int id) { super(id); } -public ASTIntegerLiteral(Parser p, int id) { +
svn commit: r929434 - /commons/proper/jexl/trunk/jexl2-compat/pom.xml
Author: henrib Date: Wed Mar 31 08:44:48 2010 New Revision: 929434 URL: http://svn.apache.org/viewvc?rev=929434&view=rev Log: Updated dependency to JEXL 2.0.1 Modified: commons/proper/jexl/trunk/jexl2-compat/pom.xml Modified: commons/proper/jexl/trunk/jexl2-compat/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/jexl2-compat/pom.xml?rev=929434&r1=929433&r2=929434&view=diff == --- commons/proper/jexl/trunk/jexl2-compat/pom.xml (original) +++ commons/proper/jexl/trunk/jexl2-compat/pom.xml Wed Mar 31 08:44:48 2010 @@ -26,7 +26,7 @@ org.apache.commons commons-jexl-compat Commons JEXL (1.x compatibility) -2.0-SNAPSHOT +2.0.1 2003 Jexl is an implementation of the JSTL Expression Language with extensions. http://commons.apache.org/jexl/ @@ -80,7 +80,7 @@ org.apache.commons commons-jexl -2.0 +2.0.1 @@ -88,9 +88,9 @@ 1.5 1.5 jexl-compat -2.0 +2.0.1 -RC3 +RC2 JEXL 12310479
svn commit: r929437 - in /commons/proper/jexl/trunk: pom.xml src/main/config/findbugs-exclude-filter.xml
Author: henrib Date: Wed Mar 31 08:53:56 2010 New Revision: 929437 URL: http://svn.apache.org/viewvc?rev=929437&view=rev Log: Prepare for 2.0.1 RC2: - Updated findbugs spec to exclude generated sources Added: commons/proper/jexl/trunk/src/main/config/findbugs-exclude-filter.xml (with props) Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=929437&r1=929436&r2=929437&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Wed Mar 31 08:53:56 2010 @@ -117,7 +117,7 @@ jexl 2.0.1 -RC1 +RC2 1.1 JEXL @@ -257,10 +257,7 @@ findbugs-maven-plugin 2.3.1 - - org/apache/commons/jexl2/parser/*.class - org/apache/commons/jexl2/**/*Test.class - + ${basedir}/src/main/config/findbugs-exclude-filter.xml true target/site @@ -273,8 +270,7 @@ 1.5 - org/apache/commons/jexl2/parser/*.class - org/apache/commons/jexl2/**/*Test.class +**/generated-sources/**/* /rulesets/braces.xml @@ -327,6 +323,17 @@ + + henrib + + + +apache.website +Apache Commons Release Candidate Staging Site + ${commons.deployment.protocol}://people.apache.org/home/henrib/public_html/${commons.componentid}-${commons.release.version}-${commons.rc.version}/site + + + \ No newline at end of file Added: commons/proper/jexl/trunk/src/main/config/findbugs-exclude-filter.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/config/findbugs-exclude-filter.xml?rev=929437&view=auto == --- commons/proper/jexl/trunk/src/main/config/findbugs-exclude-filter.xml (added) +++ commons/proper/jexl/trunk/src/main/config/findbugs-exclude-filter.xml Wed Mar 31 08:53:56 2010 @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + Propchange: commons/proper/jexl/trunk/src/main/config/findbugs-exclude-filter.xml -- svn:eol-style = native
svn commit: r929439 - /commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC2/
Author: henrib Date: Wed Mar 31 08:58:43 2010 New Revision: 929439 URL: http://svn.apache.org/viewvc?rev=929439&view=rev Log: Tagging 2.0.1 RC2 Added: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC2/ - copied from r929438, commons/proper/jexl/trunk/
svn commit: r929642 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Wed Mar 31 18:00:11 2010 New Revision: 929642 URL: http://svn.apache.org/viewvc?rev=929642&view=rev Log: Prepare for 2.0.1 RC3: removed obsolete or extraneous infos from pom Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=929642&r1=929641&r2=929642&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Wed Mar 31 18:00:11 2010 @@ -301,39 +301,4 @@ --> - - - - -website -Apache Website - ${commons.deployment.protocol}://people.apache.org/www/commons.apache.org/jexl/ - - - - - -rc - - - -apache.website -Apache Commons Release Candidate Staging Site - ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/builds/commons/${commons.componentid}/${commons.release.version}/${commons.rc.version}/site - - - - -henrib - - - -apache.website -Apache Commons Release Candidate Staging Site - ${commons.deployment.protocol}://people.apache.org/home/henrib/public_html/${commons.componentid}-${commons.release.version}-${commons.rc.version}/site - - - - - \ No newline at end of file
svn commit: r929643 - /commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC3/
Author: henrib Date: Wed Mar 31 18:03:19 2010 New Revision: 929643 URL: http://svn.apache.org/viewvc?rev=929643&view=rev Log: Tagging 2.0.1 RC3 Added: commons/proper/jexl/tags/COMMONS_JEXL_2_0_1-RC3/ - copied from r929642, commons/proper/jexl/trunk/
svn commit: r931221 - /commons/proper/jexl/trunk/pom.xml
Author: henrib Date: Tue Apr 6 16:57:08 2010 New Revision: 931221 URL: http://svn.apache.org/viewvc?rev=931221&view=rev Log: Post 2.0.1 release steps Modified: commons/proper/jexl/trunk/pom.xml Modified: commons/proper/jexl/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=931221&r1=931220&r2=931221&view=diff == --- commons/proper/jexl/trunk/pom.xml (original) +++ commons/proper/jexl/trunk/pom.xml Tue Apr 6 16:57:08 2010 @@ -24,7 +24,7 @@ 4.0.0 org.apache.commons commons-jexl -2.0.1-SNAPSHOT +2.1-SNAPSHOT Commons JEXL 2001 Jexl is an implementation of the JSTL Expression Language with extensions. @@ -41,6 +41,14 @@ http://svn.apache.org/viewvc/commons/proper/jexl/trunk + + +people.apache.org +Commons Jexl +scp://people.apache.org/www/commons.apache.org/jexl + + + dIon Gillard @@ -215,10 +223,10 @@ maven-changes-plugin 2.3 - ${basedir}/src/site/xdoc/changes.xml - - %URL%/%ISSUE% - +${basedir}/src/site/xdoc/changes.xml + +%URL%/%ISSUE% + @@ -257,7 +265,7 @@ findbugs-maven-plugin 2.3.1 - ${basedir}/src/main/config/findbugs-exclude-filter.xml + ${basedir}/src/main/config/findbugs-exclude-filter.xml true target/site
svn commit: r931576 - /commons/proper/jexl/trunk/doap_jexl.rdf
Author: henrib Date: Wed Apr 7 14:54:36 2010 New Revision: 931576 URL: http://svn.apache.org/viewvc?rev=931576&view=rev Log: Post 2.0.1 release steps Modified: commons/proper/jexl/trunk/doap_jexl.rdf Modified: commons/proper/jexl/trunk/doap_jexl.rdf URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/doap_jexl.rdf?rev=931576&r1=931575&r2=931576&view=diff == --- commons/proper/jexl/trunk/doap_jexl.rdf (original) +++ commons/proper/jexl/trunk/doap_jexl.rdf Wed Apr 7 14:54:36 2010 @@ -36,12 +36,17 @@ commons-jexl -2009-11-16 -2.0-RC1 +2010-04-07 +2.0.1 commons-jexl -2009-03-25 +2010-02-23 +2.0 + + +commons-jexl +2006-09-12 1.1
svn commit: r939962 - in /commons/proper/jexl/trunk/src: main/java/org/apache/commons/jexl2/internal/MethodExecutor.java main/java/org/apache/commons/jexl2/internal/introspection/MethodKey.java test/j
Author: henrib Date: Sat May 1 09:48:56 2010 New Revision: 939962 URL: http://svn.apache.org/viewvc?rev=939962&view=rev Log: JEXL-101: fixed varargs handling in MethodExecutor and MethodKey; added test Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/internal/MethodExecutor.java commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/internal/introspection/MethodKey.java commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/MethodTest.java Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/internal/MethodExecutor.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/internal/MethodExecutor.java?rev=939962&r1=939961&r2=939962&view=diff == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/internal/MethodExecutor.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/internal/MethodExecutor.java Sat May 1 09:48:56 2010 @@ -67,13 +67,13 @@ public final class MethodExecutor extend /** {...@inheritdoc} */ @Override -public Object tryExecute(String name, Object o, Object[] args) { +public Object tryExecute(String name, Object obj, Object[] args) { MethodKey tkey = new MethodKey(name, args); // let's assume that invocation will fly if the declaring class is the // same and arguments have the same type -if (objectClass.equals(o.getClass()) && tkey.equals(key)) { +if (objectClass.equals(obj.getClass()) && tkey.equals(key)) { try { -return execute(o, args); +return execute(obj, args); } catch (InvocationTargetException xinvoke) { return TRY_FAILED; // fail } catch (IllegalAccessException xill) { @@ -127,35 +127,28 @@ public final class MethodExecutor extend * to fit the method declaration. */ protected Object[] handleVarArg(Class type, int index, Object[] actual) { -// if no values are being passed into the vararg -if (actual.length == index) { -// create an empty array of the expected type -actual = new Object[]{Array.newInstance(type, 0)}; -} else if (actual.length == index + 1) { -// if one value is being passed into the vararg -// make sure the last arg is an array of the expected type -if (MethodKey.isInvocationConvertible(type, -actual[index].getClass(), -false)) { -// create a 1-length array to hold and replace the last param +final int size = actual.length - index; +// if no values are being passed into the vararg, size == 0 +if (size == 1) { +// if one non-null value is being passed into the vararg, +// make the last arg an array of the expected type +if (actual[index] != null) { +// create a 1-length array to hold and replace the last argument Object lastActual = Array.newInstance(type, 1); Array.set(lastActual, 0, actual[index]); actual[index] = lastActual; } -} else if (actual.length > index + 1) { -// if multiple values are being passed into the vararg -// put the last and extra actual in an array of the expected type -int size = actual.length - index; +} else { +// if no or multiple values are being passed into the vararg, +// put them in an array of the expected type Object lastActual = Array.newInstance(type, size); for (int i = 0; i < size; i++) { Array.set(lastActual, i, actual[index + i]); } -// put all into a new actual array of the appropriate size +// put all arguments into a new actual array of the appropriate size Object[] newActual = new Object[index + 1]; -for (int i = 0; i < index; i++) { -newActual[i] = actual[i]; -} +System.arraycopy(actual, 0, newActual, 0, index); newActual[index] = lastActual; // replace the old actual array Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/internal/introspection/MethodKey.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/internal/introspection/MethodKey.java?rev=939962&r1=939961&r2=939962&view=diff == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/internal/introspection/MethodKey.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/
svn commit: r940507 - in /commons/proper/jexl/trunk/src: main/java/org/apache/commons/jexl2/internal/MethodExecutor.java test/java/org/apache/commons/jexl2/MethodTest.java
Author: henrib Date: Mon May 3 16:42:31 2010 New Revision: 940507 URL: http://svn.apache.org/viewvc?rev=940507&view=rev Log: JEXL-101: Added explicit comments in code & test Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/internal/MethodExecutor.java commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/MethodTest.java Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/internal/MethodExecutor.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/internal/MethodExecutor.java?rev=940507&r1=940506&r2=940507&view=diff == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/internal/MethodExecutor.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/internal/MethodExecutor.java Mon May 3 16:42:31 2010 @@ -138,6 +138,7 @@ public final class MethodExecutor extend Array.set(lastActual, 0, actual[index]); actual[index] = lastActual; } +// else, the vararg is null and used as is, considered as T[] } else { // if no or multiple values are being passed into the vararg, // put them in an array of the expected type Modified: commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/MethodTest.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/MethodTest.java?rev=940507&r1=940506&r2=940507&view=diff == --- commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/MethodTest.java (original) +++ commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/MethodTest.java Mon May 3 16:42:31 2010 @@ -32,8 +32,12 @@ public class MethodTest extends JexlTest public static class VarArgs { public String callInts(Integer... args) { int result = 0; -for (int i = 0; i < args.length; i++) { -result += args[i].intValue(); +if (args != null) { +for (int i = 0; i < args.length; i++) { +result += args[i] != null ?args[i] : -100; +} +} else { +result = -1000; } return "Varargs:"+result; } @@ -42,8 +46,10 @@ public class MethodTest extends JexlTest int result = fixed.intValue(); if (args != null) { for (int i = 0; i < args.length; i++) { -result += args[i].intValue(); +result += args[i] != null ?args[i] : -100; } +} else { +result -= 1000; } return "Mixed:"+result; } @@ -51,9 +57,11 @@ public class MethodTest extends JexlTest public String callMixed(String mixed, Integer... args) { int result = 0; if (args != null) { -for (int arg : args) { -result += arg; +for (int i = 0; i < args.length; i++) { +result += args[i] != null ?args[i] : -100; } +} else { +result = -1000; } return mixed+":"+result; } @@ -98,24 +106,37 @@ public class MethodTest extends JexlTest } public void testCallVarArgMethod() throws Exception { -asserter.setVariable("test", new VarArgs()); +VarArgs test = new VarArgs(); +asserter.setVariable("test", test); asserter.assertExpression("test.callInts()", "Varargs:0"); asserter.assertExpression("test.callInts(1)", "Varargs:1"); asserter.assertExpression("test.callInts(1,2,3,4,5)", "Varargs:15"); } public void testCallMixedVarArgMethod() throws Exception { -asserter.setVariable("test", new VarArgs()); +VarArgs test = new VarArgs(); +asserter.setVariable("test", test); +assertEquals("Mixed:1", test.callMixed(1)); asserter.assertExpression("test.callMixed(1)", "Mixed:1"); -asserter.assertExpression("test.callMixed(1, null)", "Mixed:1"); +// Java and JEXL equivalent behavior: 'Mixed:-999' expected +//{ +assertEquals("Mixed:-999", test.callMixed(1, null)); +asserter.assertExpression("test.callMixed(1, null)", "Mixed:-999"); +//} asserter.assertExpression("test.callMixed(1,2)", "Mixed:3"); asserter.assertExpression("test.callMixed
svn commit: r946971 - in /commons/proper/jexl/trunk/src: main/java/org/apache/commons/jexl2/scripting/JexlScriptEngineFactory.java test/java/org/apache/commons/jexl2/scripting/JexlScriptEngineTest.jav
Author: henrib Date: Fri May 21 11:16:40 2010 New Revision: 946971 URL: http://svn.apache.org/viewvc?rev=946971&view=rev Log: JEXL-102: added jexl2 & variants as name/extension/mime for JexlScriptingEngineFactory Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/scripting/JexlScriptEngineFactory.java commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/scripting/JexlScriptEngineTest.java Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/scripting/JexlScriptEngineFactory.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/scripting/JexlScriptEngineFactory.java?rev=946971&r1=946970&r2=946971&view=diff == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/scripting/JexlScriptEngineFactory.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/scripting/JexlScriptEngineFactory.java Fri May 21 11:16:40 2010 @@ -48,7 +48,7 @@ public class JexlScriptEngineFactory imp /** {...@inheritdoc} */ public String getEngineVersion() { -return "1.0"; // ensure this is updated if function changes are made to this class +return "2.0"; // ensure this is updated if function changes are made to this class } /** {...@inheritdoc} */ @@ -82,17 +82,17 @@ public class JexlScriptEngineFactory imp /** {...@inheritdoc} */ public List getExtensions() { -return Collections.unmodifiableList(Arrays.asList("jexl")); +return Collections.unmodifiableList(Arrays.asList("jexl", "jexl2")); } /** {...@inheritdoc} */ public List getMimeTypes() { -return Collections.unmodifiableList(Arrays.asList("application/x-jexl")); +return Collections.unmodifiableList(Arrays.asList("application/x-jexl", "application/x-jexl2")); } /** {...@inheritdoc} */ public List getNames() { -return Collections.unmodifiableList(Arrays.asList("JEXL", "Jexl", "jexl")); +return Collections.unmodifiableList(Arrays.asList("JEXL", "Jexl", "jexl", "JEXL2", "Jexl2", "jexl2")); } /** {...@inheritdoc} */ Modified: commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/scripting/JexlScriptEngineTest.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/scripting/JexlScriptEngineTest.java?rev=946971&r1=946970&r2=946971&view=diff == --- commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/scripting/JexlScriptEngineTest.java (original) +++ commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/scripting/JexlScriptEngineTest.java Fri May 21 11:16:40 2010 @@ -20,6 +20,7 @@ package org.apache.commons.jexl2.scripti import java.io.Reader; import java.util.Arrays; +import java.util.List; import java.util.Map; import javax.script.ScriptEngine; @@ -27,30 +28,46 @@ import javax.script.ScriptEngineManager; import junit.framework.TestCase; public class JexlScriptEngineTest extends TestCase { +private static final List NAMES = Arrays.asList("JEXL", "Jexl", "jexl", "JEXL2", "Jexl2", "jexl2"); +private static final List EXTENSIONS = Arrays.asList("jexl", "jexl2"); +private static final List MIMES = Arrays.asList("application/x-jexl", "application/x-jexl2"); public void testScriptEngineFactory() throws Exception { JexlScriptEngineFactory factory = new JexlScriptEngineFactory(); assertEquals("JEXL Engine", factory.getParameter(ScriptEngine.ENGINE)); -assertEquals("1.0", factory.getParameter(ScriptEngine.ENGINE_VERSION)); +assertEquals("2.0", factory.getParameter(ScriptEngine.ENGINE_VERSION)); assertEquals("JEXL", factory.getParameter(ScriptEngine.LANGUAGE)); assertEquals("2.0", factory.getParameter(ScriptEngine.LANGUAGE_VERSION)); -assertEquals(Arrays.asList("JEXL", "Jexl", "jexl"), factory.getParameter(ScriptEngine.NAME)); assertNull(factory.getParameter("THREADING")); - -assertEquals(Arrays.asList("jexl"), factory.getExtensions()); -assertEquals(Arrays.asList("application/x-jexl"), factory.getMimeTypes()); +assertEquals(NAMES, factory.getParameter(ScriptEngine.NAME)); +assertEquals(EXTENSIONS, factory.getExtensions()); +assertEquals(MIMES, factory.getMimeTypes());
svn commit: r947036 - /commons/proper/jexl/trunk/src/site/xdoc/changes.xml
Author: henrib Date: Fri May 21 15:05:15 2010 New Revision: 947036 URL: http://svn.apache.org/viewvc?rev=947036&view=rev Log: Reflect JEXL-10{1,2} fixes Modified: commons/proper/jexl/trunk/src/site/xdoc/changes.xml Modified: commons/proper/jexl/trunk/src/site/xdoc/changes.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/site/xdoc/changes.xml?rev=947036&r1=947035&r2=947036&view=diff == --- commons/proper/jexl/trunk/src/site/xdoc/changes.xml (original) +++ commons/proper/jexl/trunk/src/site/xdoc/changes.xml Fri May 21 15:05:15 2010 @@ -25,6 +25,12 @@ Commons Developers + +Add "jexl2" as a supported name + +Vararg methods where the first argument is no vararg can not be called with only the fixed parameters given + + Array access expressions fail when evaluated twice and cache is enabled Documentation of Thread Safety / Invalid code examples on homepage
svn commit: r984516 - in /commons/proper/jexl/trunk/src: main/java/org/apache/commons/jexl2/JexlArithmetic.java test/java/org/apache/commons/jexl2/ArrayLiteralTest.java
Author: henrib Date: Wed Aug 11 18:26:09 2010 New Revision: 984516 URL: http://svn.apache.org/viewvc?rev=984516&view=rev Log: Fix for JEXL-104 Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/ArrayLiteralTest.java Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java?rev=984516&r1=984515&r2=984516&view=diff == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java Wed Aug 11 18:26:09 2010 @@ -203,24 +203,36 @@ public class JexlArithmetic { final int size = untyped.length; Class commonClass = null; if (size > 0) { -// base common class on first entry -commonClass = untyped[0].getClass(); -final boolean isNumber = Number.class.isAssignableFrom(commonClass); +boolean isNumber = true; // for all children after first... -for (int i = 1; i < size; i++) { -Class eclass = untyped[i].getClass(); -// detect same type for all elements in array -if (!Object.class.equals(commonClass) && !commonClass.equals(eclass)) { -// if both are numbers... -if (isNumber && Number.class.isAssignableFrom(eclass)) { -commonClass = Number.class; -} else { -commonClass = Object.class; +for (int u = 0; u < size && !Object.class.equals(commonClass); ++u) { +if (untyped[u] != null) { +Class eclass = untyped[u].getClass(); +// base common class on first non-null entry +if (commonClass == null) { +commonClass = eclass; +isNumber &= Number.class.isAssignableFrom(commonClass); +} else if (!commonClass.equals(eclass)) { +// if both are numbers... +if (isNumber && Number.class.isAssignableFrom(eclass)) { +commonClass = Number.class; +} else { +// attempt to find valid superclass +do { +eclass = eclass.getSuperclass(); +if (eclass == null) { +commonClass = Object.class; +break; +} +} while(!commonClass.isAssignableFrom(eclass)); +} } +} else { +isNumber = false; } } // convert array to the common class if not Object.class -if (!Object.class.equals(commonClass)) { +if (commonClass != null && !Object.class.equals(commonClass)) { // if the commonClass has an equivalent primitive type, get it if (isNumber) { try { Modified: commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/ArrayLiteralTest.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/ArrayLiteralTest.java?rev=984516&r1=984515&r2=984516&view=diff == --- commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/ArrayLiteralTest.java (original) +++ commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/ArrayLiteralTest.java Wed Aug 11 18:26:09 2010 @@ -49,6 +49,31 @@ public class ArrayLiteralTest extends Je Object o = e.evaluate( jc ); Object[] check = { new Float(5), new Integer(10) }; assertTrue( Arrays.equals(check, (Object[])o) ); +assertTrue (o.getClass().isArray() && o.getClass().getComponentType().equals(Number.class)); +} + +public void testLiteralWithNulls() throws Exception { +String []exprs = { +"[ null , 10 ]", +"[ 10 , null ]", +"[ 10 , null , 10]", +"[ '10' , null ]", +"[ null, '10' , null ]" +}; +Object [][]checks = { +{null, new Integer(10)}, +{new Integer(10), null}, +{new Integer(10), null, new Integer(10)}, +{ "10", nul
svn commit: r984564 - /commons/proper/jexl/trunk/src/site/xdoc/changes.xml
Author: henrib Date: Wed Aug 11 20:01:40 2010 New Revision: 984564 URL: http://svn.apache.org/viewvc?rev=984564&view=rev Log: Adding JEXL-104 to list of changes Modified: commons/proper/jexl/trunk/src/site/xdoc/changes.xml Modified: commons/proper/jexl/trunk/src/site/xdoc/changes.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/site/xdoc/changes.xml?rev=984564&r1=984563&r2=984564&view=diff == --- commons/proper/jexl/trunk/src/site/xdoc/changes.xml (original) +++ commons/proper/jexl/trunk/src/site/xdoc/changes.xml Wed Aug 11 20:01:40 2010 @@ -26,6 +26,7 @@ +NPE in JexlArithmetic when an Array-Expression containing a null is used. Add "jexl2" as a supported name Vararg methods where the first argument is no vararg can not be called with only the fixed parameters given
svn commit: r1532658 - /commons/trunks-proper/CHALLENGE.txt
Author: henrib Date: Wed Oct 16 07:13:21 2013 New Revision: 1532658 URL: http://svn.apache.org/r1532658 Log: Added henrib for Jexl Modified: commons/trunks-proper/CHALLENGE.txt Modified: commons/trunks-proper/CHALLENGE.txt URL: http://svn.apache.org/viewvc/commons/trunks-proper/CHALLENGE.txt?rev=1532658&r1=1532657&r2=1532658&view=diff == --- commons/trunks-proper/CHALLENGE.txt (original) +++ commons/trunks-proper/CHALLENGE.txt Wed Oct 16 07:13:21 2013 @@ -31,7 +31,7 @@ io=joehni,sebb,ggregory jci= jcs= jelly=polx,kinow -jexl=sebb +jexl=sebb,henrib jxpath=mbenson lang=bayard,joehni,mbenson,britter,sebb,pbenedict,ggregory launcher=
svn commit: r1407498 - /commons/proper/jexl/branches/2.0/src/site/xdoc/reference/syntax.xml
Author: henrib Date: Fri Nov 9 15:44:03 2012 New Revision: 1407498 URL: http://svn.apache.org/viewvc?rev=1407498&view=rev Log: JEXL-141: fixed documentation Modified: commons/proper/jexl/branches/2.0/src/site/xdoc/reference/syntax.xml Modified: commons/proper/jexl/branches/2.0/src/site/xdoc/reference/syntax.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/branches/2.0/src/site/xdoc/reference/syntax.xml?rev=1407498&r1=1407497&r2=1407498&view=diff == --- commons/proper/jexl/branches/2.0/src/site/xdoc/reference/syntax.xml (original) +++ commons/proper/jexl/branches/2.0/src/site/xdoc/reference/syntax.xml Fri Nov 9 15:44:03 2012 @@ -185,8 +185,8 @@ Big Integer Literals - 1 or more digits from 0 to 9 suffixed with b or B - , eg 42B. + 1 or more digits from 0 to 9 suffixed with h or H + (for Huge ala OGNL, "does not interfere with hexa-decimal digits"), eg 42h. @@ -194,8 +194,8 @@ 1 or more digits from 0 to 9, followed by a decimal point and then one or more digits from -0 to 9 suffixed with h or H (for Huge ala OGNL)) - , eg 42.0H. +0 to 9 suffixed with b or B) + , eg 42.0b. @@ -565,7 +565,7 @@ Loop through items of an Array, Collection, Map, Iterator or Enumeration, e.g. for(item : list) { -x = x + item; +x = x + item; } Where item and list are variables. The JEXL 1.1 syntax using foreach(item in list) is now deprecated. @@ -576,7 +576,7 @@ Loop until a condition is satisfied, e.g. while (x lt 10) { -x = x + 2; +x = x + 2; }
svn commit: r1407499 - /commons/proper/jexl/trunk/src/site/xdoc/reference/syntax.xml
Author: henrib Date: Fri Nov 9 15:44:41 2012 New Revision: 1407499 URL: http://svn.apache.org/viewvc?rev=1407499&view=rev Log: JEXL-141: fixed documentation Modified: commons/proper/jexl/trunk/src/site/xdoc/reference/syntax.xml Modified: commons/proper/jexl/trunk/src/site/xdoc/reference/syntax.xml URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/site/xdoc/reference/syntax.xml?rev=1407499&r1=1407498&r2=1407499&view=diff == --- commons/proper/jexl/trunk/src/site/xdoc/reference/syntax.xml (original) +++ commons/proper/jexl/trunk/src/site/xdoc/reference/syntax.xml Fri Nov 9 15:44:41 2012 @@ -185,8 +185,8 @@ Big Integer Literals - 1 or more digits from 0 to 9 suffixed with b or B - , eg 42B. + 1 or more digits from 0 to 9 suffixed with h or H + (for Huge ala OGNL, "does not interfere with hexa-decimal digits"), eg 42h. @@ -194,8 +194,8 @@ 1 or more digits from 0 to 9, followed by a decimal point and then one or more digits from -0 to 9 suffixed with h or H (for Huge ala OGNL)) - , eg 42.0H. +0 to 9 suffixed with b or B) + , eg 42.0b.
svn commit: r1410058 - /commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/internal/introspection/MethodKey.java
Author: henrib Date: Thu Nov 15 22:18:20 2012 New Revision: 1410058 URL: http://svn.apache.org/viewvc?rev=1410058&view=rev Log: Added a check to avoid an array out of bounds when a method exists with multiple signatures including a vararg and a no-arg Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/internal/introspection/MethodKey.java Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/internal/introspection/MethodKey.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/internal/introspection/MethodKey.java?rev=1410058&r1=1410057&r2=1410058&view=diff == --- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/internal/introspection/MethodKey.java (original) +++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/internal/introspection/MethodKey.java Thu Nov 15 22:18:20 2012 @@ -629,7 +629,7 @@ public final class MethodKey { // there's just one more methodArg than class arg // and the last methodArg is an array, then treat it as a vararg if (methodArgs.length == classes.length -|| methodArgs.length == classes.length + 1 && methodArgs[methodArgs.length - 1].isArray()) { +|| ((methodArgs.length == classes.length + 1) && methodArgs[methodArgs.length - 1].isArray())) { // this will properly match when the last methodArg // is an array/varargs and the last class is the type of array // (e.g. String when the method is expecting String...) @@ -647,7 +647,7 @@ public final class MethodKey { return true; } // more arguments given than the method accepts; check for varargs -if (methodArgs.length > 0) { +if (methodArgs.length > 0 && classes.length > 0) { // check that the last methodArg is an array Class lastarg = methodArgs[methodArgs.length - 1]; if (!lastarg.isArray()) {
svn commit: r1196677 [2/2] - in /commons/proper/jexl/trunk/src: main/java/org/apache/commons/jexl2/ main/java/org/apache/commons/jexl2/introspection/ main/java/org/apache/commons/jexl2/parser/ main/ja
Modified: commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/UnifiedJEXLTest.java URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/UnifiedJEXLTest.java?rev=1196677&r1=1196676&r2=1196677&view=diff == --- commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/UnifiedJEXLTest.java (original) +++ commons/proper/jexl/trunk/src/test/java/org/apache/commons/jexl2/UnifiedJEXLTest.java Wed Nov 2 16:32:39 2011 @@ -15,6 +15,9 @@ * limitations under the License. */ package org.apache.commons.jexl2; + +import java.io.StringReader; +import java.io.StringWriter; import java.util.Arrays; import java.util.HashMap; import java.util.List; @@ -22,11 +25,13 @@ import java.util.Map; import java.util.Set; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; + /** * Test cases for the UnifiedEL. */ public class UnifiedJEXLTest extends JexlTestCase { private static final JexlEngine ENGINE = createEngine(false); + static { ENGINE.setSilent(false); ENGINE.setCache(128); @@ -34,13 +39,13 @@ public class UnifiedJEXLTest extends Jex private static final UnifiedJEXL EL = new UnifiedJEXL(ENGINE); private static final Log LOG = LogFactory.getLog(UnifiedJEXL.class); private JexlContext context = null; -private Map vars =null; +private Map vars = null; @Override public void setUp() throws Exception { // ensure jul logging is only error java.util.logging.Logger.getLogger(JexlEngine.class.getName()).setLevel(java.util.logging.Level.SEVERE); -vars = new HashMap(); +vars = new HashMap(); context = new MapContext(vars); } @@ -49,18 +54,38 @@ public class UnifiedJEXLTest extends Jex debuggerCheck(ENGINE); super.tearDown(); } + +/** Extract the source from a toString-ed expression. */ +private String getSource(String tostring) { +int len = tostring.length(); +int sc = tostring.lastIndexOf(" /*= "); +if (sc >= 0) { +sc += " /*= ".length(); +} +int ec = tostring.lastIndexOf(" */"); +if (sc >= 0 && ec >= 0 && ec > sc && ec < len) { +return tostring.substring(sc, ec); +} else { +return tostring; +} + +} public static class Froboz { int value; + public Froboz(int v) { value = v; } + public void setValue(int v) { value = v; } + public int getValue() { return value; } + public int plus10() { int i = value; value += 10; @@ -89,9 +114,10 @@ public class UnifiedJEXLTest extends Jex o = check.evaluate(context); assertEquals("Result is not 10", new Integer(10), o); } - + public void testComposite() throws Exception { -UnifiedJEXL.Expression expr = EL.parse("Dear ${p} ${name};"); +String source = "Dear ${p} ${name};"; +UnifiedJEXL.Expression expr = EL.parse(source); vars.put("p", "Mr"); vars.put("name", "Doe"); assertTrue("expression should be immediate", expr.isImmediate()); @@ -101,18 +127,20 @@ public class UnifiedJEXLTest extends Jex vars.put("name", "Jones"); o = expr.evaluate(context); assertEquals("Dear Ms Jones;", o); +assertEquals(source, getSource(expr.toString())); } public void testPrepareEvaluate() throws Exception { +final String source = "Dear #{p} ${name};"; UnifiedJEXL.Expression expr = EL.parse("Dear #{p} ${name};"); assertTrue("expression should be deferred", expr.isDeferred()); - + Set> evars = expr.getVariables(); assertEquals(1, evars.size()); assertTrue(evars.contains(Arrays.asList("name"))); vars.put("name", "Doe"); -UnifiedJEXL.Expression phase1 = expr.prepare(context); -String as = phase1.toString(); +UnifiedJEXL.Expression phase1 = expr.prepare(context); +String as = phase1.asString(); assertEquals("Dear ${p} Doe;", as); Set> evars1 = phase1.getVariables(); assertEquals(1, evars1.size()); @@ -121,45 +149,65 @@ public class UnifiedJEXLTest extends Jex vars.put("name", "Should not be used in 2nd phase"); Object o = phase1.evaluate(context); assertEquals("Dear Mr Doe;", o); + +String p1 = getSource(phase1.toString()); +assertEquals(source, getSource(phase1.toString())); +assertEquals(source, getSource(expr.toString())); } - + public void testNested() throws Exception { -UnifiedJEXL.Expression expr = EL.parse("#{${hi}+'.world'}"); -vars.put("hi", "hello"); -vars.put("hello.world", "Hello World!"