From d7e576eaf3703d98cb5be8309dd9f003a244ce77 Mon Sep 17 00:00:00 2001
From: Orion Poplawski
+ * The first time the Introspector sees a class it creates a class method map
+ * for the class in question. Basically the class method map is a Hastable where
+ * Method objects are keyed by a concatenation of the method name and the names
+@@ -324,4 +324,4 @@ public class IntrospectorBase {
+ return classMap;
+ }
+ }
+-}
+\ No newline at end of file
++}
+diff -up commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/internal/introspection/MethodKey.java.javadoc commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/internal/introspection/MethodKey.java
+--- commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/internal/introspection/MethodKey.java.javadoc 2011-12-19 06:15:01.000000000 -0700
++++ commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/internal/introspection/MethodKey.java 2015-04-15 19:05:24.055352589 -0600
+@@ -40,7 +40,7 @@ import java.util.Arrays;
+ * Finding methods as well as property getters & setters. Finding methods as well as property getters & setters.
+ * A whitelist explicitly allows methods/properties for a class;
++ *
+ *
+- *
+ * A blacklist explicitly forbids methods/properties for a class; ++ *
+ *+ * Permissions are composed of three lists, read, write, execute, each being "white" or "black": ++ *
+ *+ * All arithmetic operators (+, - , *, /, %) follow the same rules regarding their arguments. ++ *
+ *+ * Creates and evaluates Expression and Script objects. +- * Determines the behavior of Expressions & Scripts during their evaluation with respect to: ++ * Determines the behavior of Expressions & Scripts during their evaluation with respect to: ++ *
+ *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
+@@ -68,7 +68,7 @@ import org.apache.commons.jexl2.parser.A
+ *
0 & null should be indicators of "default" values so that even in an case of error, ++ *
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. + *
+ *The finest error control grain is obtained; it is the closest to Java code - +- * still augmented by "script" capabilities regarding automated conversions & type matching. ++ * still augmented by "script" capabilities regarding automated conversions & type matching. + *
+ *
+- * Supports the following:
+- * File Extensions: ".jexl", ".jexl2"
++ * Supports the following:
++ * Language short names: "JEXL", "Jexl", "jexl", "JEXL2", "Jexl2", "jexl2"
++ * File Extensions: ".jexl", ".jexl2"
+ * "jexl2" etc. were added for engineVersion="2.0".
+ *
+diff -up commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/scripting/JexlScriptEngine.java.javadoc commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/scripting/JexlScriptEngine.java +--- commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/scripting/JexlScriptEngine.java.javadoc 2011-12-19 06:15:00.000000000 -0700 ++++ commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/scripting/JexlScriptEngine.java 2015-04-15 19:33:18.303497441 -0600 +@@ -95,6 +95,7 @@ public class JexlScriptEngine extends Ab + * Those properties are allways bound to the default engine scope context. + *
+ * The following properties are defined: ++ *
+ *+ * An expression can mix immediate, deferred and nested sub-expressions as well as string constants; ++ *
+ *"...${jexl-expr}..."
"...#{jexl-expr}..."
"...#{...${jexl-expr0}...}..."
"...${jexl-expr0}... #{jexl-expr1}..."
+- * Deferred & immediate expression carry different intentions: ++ * Deferred & immediate expression carry different intentions: ++ *
+ *
+ * For instance: "Hello ${name}, now is #{time}"
is a composite "deferred" expression since one
+ * of its subexpressions is deferred. Furthermore, this (composite) expression intent is
+@@ -62,14 +62,14 @@ import org.apache.commons.jexl2.parser.S
+ *
+ * The API reflects this feature in 2 methods, prepare and evaluate. The prepare method + * will evaluate the immediate subexpression and return an expression that contains only +- * the deferred subexpressions (& constants), a prepared expression. Such a prepared expression ++ * the deferred subexpressions (& constants), a prepared expression. Such a prepared expression + * is suitable for a later phase evaluation that may occur with a different JexlContext. + * Note that it is valid to call evaluate without prepare in which case the same JexlContext + * is used for the 2 evaluation phases. + *
+ *+ * In the most common use-case where deferred expressions are to be kept around as properties of objects, +- * one should parse & prepare an expression before storing it and evaluate it each time ++ * one should parse & prepare an expression before storing it and evaluate it each time + * the property storing it is accessed. + *
+ *+@@ -339,7 +339,7 @@ public final class UnifiedJEXL { + *
+ * In effect, this binds the result of the immediate sub-expressions evaluation in the + * context, allowing to differ evaluation of the remaining (deferred) expression within another context. +- * This only has an effect to nested & composite expressions that contain differed & immediate sub-expressions. ++ * This only has an effect to nested & composite expressions that contain differed & immediate sub-expressions. + *
+ *+ * If the underlying JEXL engine is silent, errors will be logged through its logger as warning. +@@ -409,7 +409,7 @@ public final class UnifiedJEXL { + * Prepares a sub-expression for interpretation. + * @param interpreter a JEXL interpreter + * @return a prepared expression +- * @throws JexlException (only for nested & composite) ++ * @throws JexlException (only for nested & composite) + */ + protected Expression prepare(Interpreter interpreter) { + return this; +@@ -419,7 +419,7 @@ public final class UnifiedJEXL { + * Intreprets a sub-expression. + * @param interpreter a JEXL interpreter + * @return the result of interpretation +- * @throws JexlException (only for nested & composite) ++ * @throws JexlException (only for nested & composite) + */ + protected abstract Object evaluate(Interpreter interpreter); + } +@@ -734,7 +734,7 @@ public final class UnifiedJEXL { + } + + /** Creates a a {@link UnifiedJEXL.Expression} from an expression string. +- * Uses & fills up the expression cache if any. ++ * Uses & fills up the expression cache if any. + *
+ * If the underlying JEXL engine is silent, errors will be logged through its logger as warnings. + *
+@@ -1010,20 +1010,23 @@ public final class UnifiedJEXL { + * evaluation and their output gathered through a writer. + * It is thus possible to use looping or conditional construct "around" expressions generating output. + * +- * For instance: +- *++ *For instance: ++ *
++ *++ *+ * $$ for(var x : [1, 3, 5, 42, 169]) { + * $$ if (x == 42) { + * Life, the universe, and everything +- * $$ } else if (x > 42) { ++ * $$ } else if (x > 42) { + * The value $(x} is over fourty-two + * $$ } else { + * The value ${x} is under fourty-two + * $$ } + * $$ } + *+ * Will evaluate as: +- *
++ * ++ *+ * The value 1 is under fourty-two + * The value 3 is under fourty-two + * The value 5 is under fourty-two +@@ -1033,10 +1036,10 @@ public final class UnifiedJEXL { + *+ * During evaluation, the template context exposes its writer as '$jexl' which is safe to use in this case. + * This allows writing directly through the writer without adding new-lines as in: +- *
++ * ++ *+- * + *+ * $$ for(var cell : cells) { $jexl.print(cell); $jexl.print(';') } + *+ * A template is expanded as one JEXL script and a list of UnifiedJEXL expressions; each UnifiedJEXL expression + * being replace in the script by a call to jexl:print(expr) (the expr is in fact the expr number in the template). +@@ -1461,4 +1464,4 @@ public final class UnifiedJEXL { + public Template createTemplate(String source) { + return new Template("$$", new StringReader(source), (String[]) null); + } +-} +\ No newline at end of file ++} diff --git a/apache-commons-jexl.spec b/apache-commons-jexl.spec index 08fbe84..862e80e 100644 --- a/apache-commons-jexl.spec +++ b/apache-commons-jexl.spec @@ -3,7 +3,7 @@ Name: apache-%{jarname} Version: 2.1.1 -Release: 11%{?dist} +Release: 12%{?dist} Summary: Java Expression Language (JEXL) Group: Development/Libraries @@ -12,6 +12,8 @@ URL: http://commons.apache.org/jexl Source0: http://www.apache.org/dist/commons/jexl/source/%{jarname}-%{version}-src.tar.gz # Patch to fix test failure with junit 4.11 Patch0: 001-Fix-tests.patch +# Fix javadoc build +Patch1: apache-commons-jexl-javadoc.patch BuildRequires: maven-local BuildRequires: javacc-maven-plugin @@ -48,6 +50,7 @@ This package contains the API documentation for %{name}. %prep %setup -q -n %{jarname}-%{version}-src %patch0 -p1 -b .test +%patch1 -p1 -b .javadoc # Java 1.6 contains bsf 3.0, so we don't need the dependency in the pom.xml file %pom_remove_dep org.apache.bsf:bsf-api find \( -name '*.jar' -o -name '*.class' \) -delete @@ -80,6 +83,9 @@ popd %changelog +* Wed Apr 15 2015 Orion Poplawski
- 2.1.1-12 +- Add patch to fix javadoc build + * Sat Jun 07 2014 Fedora Release Engineering - 2.1.1-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild @@ -96,7 +102,7 @@ popd * Mon Jul 1 2013 Mikolaj Izdebski - 2.1.1-7 - Install NOTICE file with javadoc package -* Thu Jun 28 2013 Orion Poplawski - 2.1.1-6 +* Fri Jun 28 2013 Orion Poplawski - 2.1.1-6 - Update to current maven spec guidelines to fix build (bug 979497) - Add patch to fix test with junit 4.11