forked from pool/apache-commons-jexl
This commit is contained in:
commit
d1c3064fdb
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
45
0001-Port-to-current-javacc.patch
Normal file
45
0001-Port-to-current-javacc.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
From f171cd8a95735c7f2fbcd20c323b2d936d8cc01b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Michael Simacek <msimacek@redhat.com>
|
||||||
|
Date: Wed, 7 Sep 2016 16:36:53 +0200
|
||||||
|
Subject: [PATCH] Port to current javacc
|
||||||
|
|
||||||
|
---
|
||||||
|
src/main/java/org/apache/commons/jexl2/parser/SimpleNode.java | 2 ++
|
||||||
|
.../java/org/apache/commons/jexl2/parser/TokenMgrError.java | 10 ++++++++++
|
||||||
|
2 files changed, 12 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/main/java/org/apache/commons/jexl2/parser/SimpleNode.java b/src/main/java/org/apache/commons/jexl2/parser/SimpleNode.java
|
||||||
|
index cab2378..4d83b1d 100644
|
||||||
|
--- a/src/main/java/org/apache/commons/jexl2/parser/SimpleNode.java
|
||||||
|
+++ b/src/main/java/org/apache/commons/jexl2/parser/SimpleNode.java
|
||||||
|
@@ -180,6 +180,8 @@ public class SimpleNode implements Node {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ public int getId() { return id; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/* JavaCC - OriginalChecksum=7dff880883d088a37c1e3197e4b455a0 (do not edit this line) */
|
||||||
|
diff --git a/src/main/java/org/apache/commons/jexl2/parser/TokenMgrError.java b/src/main/java/org/apache/commons/jexl2/parser/TokenMgrError.java
|
||||||
|
index 1e9b623..3e1236e 100644
|
||||||
|
--- a/src/main/java/org/apache/commons/jexl2/parser/TokenMgrError.java
|
||||||
|
+++ b/src/main/java/org/apache/commons/jexl2/parser/TokenMgrError.java
|
||||||
|
@@ -142,4 +142,14 @@ public class TokenMgrError extends Error {
|
||||||
|
current = curChar;
|
||||||
|
errorCode = reason;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, int curChar, int reason) {
|
||||||
|
+ eof = EOFSeen;
|
||||||
|
+ state = lexState;
|
||||||
|
+ line = errorLine;
|
||||||
|
+ column = errorColumn;
|
||||||
|
+ after = errorAfter;
|
||||||
|
+ current = (char)curChar;
|
||||||
|
+ errorCode = reason;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.7.4
|
||||||
|
|
21
001-Fix-tests.patch
Normal file
21
001-Fix-tests.patch
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
Description: Fix a test failure with JUnit 4.11 due to the out of order
|
||||||
|
execution of the test methods. This issue is fixed in JEXL 3.
|
||||||
|
Author: Emmanuel Bourg
|
||||||
|
Forwarded: not-needed
|
||||||
|
--- a/src/test/java/org/apache/commons/jexl2/ArithmeticTest.java
|
||||||
|
+++ b/src/test/java/org/apache/commons/jexl2/ArithmeticTest.java
|
||||||
|
@@ -137,6 +137,7 @@
|
||||||
|
* test some simple mathematical calculations
|
||||||
|
*/
|
||||||
|
public void testCalculations() throws Exception {
|
||||||
|
+ JexlThreadedArithmetic.setLenient(Boolean.TRUE);
|
||||||
|
|
||||||
|
asserter.setVariable("foo", new Integer(2));
|
||||||
|
|
||||||
|
@@ -347,4 +348,4 @@
|
||||||
|
}
|
||||||
|
debuggerCheck(jexl);
|
||||||
|
}
|
||||||
|
-}
|
||||||
|
\ No newline at end of file
|
||||||
|
+}
|
452
apache-commons-jexl-javadoc.patch
Normal file
452
apache-commons-jexl-javadoc.patch
Normal file
@ -0,0 +1,452 @@
|
|||||||
|
diff -up commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/ExpressionImpl.java.javadoc commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/ExpressionImpl.java
|
||||||
|
--- commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/ExpressionImpl.java.javadoc 2011-12-19 06:15:00.000000000 -0700
|
||||||
|
+++ commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/ExpressionImpl.java 2015-04-15 19:05:24.054352570 -0600
|
||||||
|
@@ -32,7 +32,7 @@ public class ExpressionImpl implements E
|
||||||
|
/** The engine for this expression. */
|
||||||
|
protected final JexlEngine jexl;
|
||||||
|
/**
|
||||||
|
- * Original expression stripped from leading & trailing spaces.
|
||||||
|
+ * Original expression stripped from leading & trailing spaces.
|
||||||
|
*/
|
||||||
|
protected final String expression;
|
||||||
|
/**
|
||||||
|
@@ -171,4 +171,4 @@ public class ExpressionImpl implements E
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
-}
|
||||||
|
\ No newline at end of file
|
||||||
|
+}
|
||||||
|
diff -up commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/internal/introspection/IntrospectorBase.java.javadoc commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/internal/introspection/IntrospectorBase.java
|
||||||
|
--- commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/internal/introspection/IntrospectorBase.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/IntrospectorBase.java 2015-04-15 19:05:24.055352589 -0600
|
||||||
|
@@ -31,7 +31,7 @@ import org.apache.commons.logging.Log;
|
||||||
|
* This basic function of this class is to return a Method object for a
|
||||||
|
* particular class given the name of a method and the parameters to the method
|
||||||
|
* in the form of an Object[]
|
||||||
|
- * <p/>
|
||||||
|
+ * <p>
|
||||||
|
* 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;
|
||||||
|
* </p>
|
||||||
|
* A key can be constructed either from arguments (array of objects) or from parameters
|
||||||
|
* (array of class).
|
||||||
|
- * Roughly 3x faster than string key to access the map & uses less memory.
|
||||||
|
+ * Roughly 3x faster than string key to access the map & uses less memory.
|
||||||
|
*/
|
||||||
|
public final class MethodKey {
|
||||||
|
/** The hash code. */
|
||||||
|
diff -up commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/internal/Introspector.java.javadoc commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/internal/Introspector.java
|
||||||
|
--- commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/internal/Introspector.java.javadoc 2011-12-19 06:15:01.000000000 -0700
|
||||||
|
+++ commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/internal/Introspector.java 2015-04-15 19:05:24.055352589 -0600
|
||||||
|
@@ -28,11 +28,11 @@ import org.apache.commons.logging.Log;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default introspection services.
|
||||||
|
- * <p>Finding methods as well as property getters & setters.</p>
|
||||||
|
+ * <p>Finding methods as well as property getters & setters.</p>
|
||||||
|
* @since 1.0
|
||||||
|
*/
|
||||||
|
public class Introspector {
|
||||||
|
- /** The logger to use for all warnings & errors. */
|
||||||
|
+ /** The logger to use for all warnings & errors. */
|
||||||
|
protected final Log rlog;
|
||||||
|
/** The soft reference to the introspector currently in use. */
|
||||||
|
private volatile SoftReference<IntrospectorBase> ref;
|
||||||
|
diff -up commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/introspection/Sandbox.java.javadoc commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/introspection/Sandbox.java
|
||||||
|
--- commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/introspection/Sandbox.java.javadoc 2011-12-19 06:14:59.000000000 -0700
|
||||||
|
+++ commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/introspection/Sandbox.java 2015-04-15 19:34:32.872928036 -0600
|
||||||
|
@@ -26,6 +26,7 @@ import java.util.Set;
|
||||||
|
* through "whitelists" and "blacklists".
|
||||||
|
* <p>
|
||||||
|
* A <b>whitelist</b> explicitly allows methods/properties for a class;
|
||||||
|
+ * </p>
|
||||||
|
* <ul>
|
||||||
|
* <li>
|
||||||
|
* If a whitelist is empty and thus does not contain any names, all properties/methods are allowed for its class.
|
||||||
|
@@ -34,9 +35,9 @@ import java.util.Set;
|
||||||
|
* If it is not empty, the only allowed properties/methods are the ones contained.
|
||||||
|
* </li>
|
||||||
|
* </ul>
|
||||||
|
- * </p>
|
||||||
|
* <p>
|
||||||
|
* A <b>blacklist</b> explicitly forbids methods/properties for a class;
|
||||||
|
+ * </p>
|
||||||
|
* <ul>
|
||||||
|
* <li>
|
||||||
|
* If a blacklist is empty and thus does not contain any names, all properties/methods are forbidden for its class.
|
||||||
|
@@ -47,12 +48,12 @@ import java.util.Set;
|
||||||
|
* </ul>
|
||||||
|
* <p>
|
||||||
|
* Permissions are composed of three lists, read, write, execute, each being "white" or "black":
|
||||||
|
+ * </p>
|
||||||
|
* <ul>
|
||||||
|
* <li><b>read</b> controls readable properties </li>
|
||||||
|
* <li><b>write</b> controls writeable properties</li>
|
||||||
|
* <li><b>execute</b> controls executable methods and constructor</li>
|
||||||
|
* </ul>
|
||||||
|
- * </p>
|
||||||
|
* @since 2.1
|
||||||
|
*/
|
||||||
|
public final class Sandbox {
|
||||||
|
diff -up commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java.javadoc commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java
|
||||||
|
--- commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java.javadoc 2011-12-19 06:14:59.000000000 -0700
|
||||||
|
+++ commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java 2015-04-15 19:53:47.277461744 -0600
|
||||||
|
@@ -26,6 +26,7 @@ import java.math.MathContext;
|
||||||
|
* Perform arithmetic.
|
||||||
|
* <p>
|
||||||
|
* All arithmetic operators (+, - , *, /, %) follow the same rules regarding their arguments.
|
||||||
|
+ * </p>
|
||||||
|
* <ol>
|
||||||
|
* <li>If both are null, result is 0</li>
|
||||||
|
* <li>If either is a BigDecimal, coerce both to BigDecimal and and perform operation</li>
|
||||||
|
@@ -39,7 +40,6 @@ import java.math.MathContext;
|
||||||
|
* </ol>
|
||||||
|
* </li>
|
||||||
|
* </ol>
|
||||||
|
- * </p>
|
||||||
|
* Note that the only exception throw by JexlArithmetic is ArithmeticException.
|
||||||
|
* @since 2.0
|
||||||
|
*/
|
||||||
|
@@ -630,7 +630,7 @@ public class JexlArithmetic {
|
||||||
|
* Performs a bitwise and.
|
||||||
|
* @param left the left operand
|
||||||
|
* @param right the right operator
|
||||||
|
- * @return left & right
|
||||||
|
+ * @return left & right
|
||||||
|
* @since 2.1
|
||||||
|
*/
|
||||||
|
public Object bitwiseAnd(Object left, Object right) {
|
||||||
|
@@ -681,7 +681,7 @@ public class JexlArithmetic {
|
||||||
|
* @param left the left operand
|
||||||
|
* @param right the right operator
|
||||||
|
* @param operator the operator
|
||||||
|
- * @return -1 if left < right; +1 if left > > right; 0 if left == right
|
||||||
|
+ * @return -1 if left < right; +1 if left > right; 0 if left == right
|
||||||
|
* @throws ArithmeticException if either left or right is null
|
||||||
|
* @since 2.1
|
||||||
|
*/
|
||||||
|
@@ -761,7 +761,7 @@ public class JexlArithmetic {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
- * Test if left < right.
|
||||||
|
+ * Test if left < right.
|
||||||
|
*
|
||||||
|
* @param left first value
|
||||||
|
* @param right second value
|
||||||
|
@@ -777,7 +777,7 @@ public class JexlArithmetic {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
- * Test if left > right.
|
||||||
|
+ * Test if left > right.
|
||||||
|
*
|
||||||
|
* @param left first value
|
||||||
|
* @param right second value
|
||||||
|
@@ -792,7 +792,7 @@ public class JexlArithmetic {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
- * Test if left <= right.
|
||||||
|
+ * Test if left ≤ right.
|
||||||
|
*
|
||||||
|
* @param left first value
|
||||||
|
* @param right second value
|
||||||
|
@@ -809,7 +809,7 @@ public class JexlArithmetic {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
- * Test if left >= right.
|
||||||
|
+ * Test if left ≥ right.
|
||||||
|
*
|
||||||
|
* @param left first value
|
||||||
|
* @param right second value
|
||||||
|
@@ -1141,4 +1141,4 @@ public class JexlArithmetic {
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
-}
|
||||||
|
\ No newline at end of file
|
||||||
|
+}
|
||||||
|
diff -up commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/JexlEngine.java.javadoc commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/JexlEngine.java
|
||||||
|
--- commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/JexlEngine.java.javadoc 2011-12-19 06:15:00.000000000 -0700
|
||||||
|
+++ commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/JexlEngine.java 2015-04-15 19:29:36.837248669 -0600
|
||||||
|
@@ -53,14 +53,14 @@ import org.apache.commons.jexl2.parser.A
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 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:
|
||||||
|
+ * </p>
|
||||||
|
* <ul>
|
||||||
|
* <li>Introspection, see {@link Uberspect}</li>
|
||||||
|
- * <li>Arithmetic & comparison, see {@link JexlArithmetic}</li>
|
||||||
|
+ * <li>Arithmetic & comparison, see {@link JexlArithmetic}</li>
|
||||||
|
* <li>Error reporting</li>
|
||||||
|
* <li>Logging</li>
|
||||||
|
* </ul>
|
||||||
|
- * </p>
|
||||||
|
* <p>The <code>setSilent</code> and <code>setLenient</code> 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
|
||||||
|
* </p>
|
||||||
|
* <ul>
|
||||||
|
* <li>When "silent" & "lenient":
|
||||||
|
- * <p> 0 & null should be indicators of "default" values so that even in an case of error,
|
||||||
|
+ * <p> 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.
|
||||||
|
* </p>
|
||||||
|
* </li>
|
||||||
|
@@ -84,7 +84,7 @@ import org.apache.commons.jexl2.parser.A
|
||||||
|
* </li>
|
||||||
|
* <li>When "verbose" & "strict":
|
||||||
|
* <p>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.
|
||||||
|
* </p>
|
||||||
|
* </li>
|
||||||
|
* </ul>
|
||||||
|
@@ -872,7 +872,7 @@ public class JexlEngine {
|
||||||
|
* Creates a cache.
|
||||||
|
* @param <K> the key type
|
||||||
|
* @param <V> the value type
|
||||||
|
- * @param cacheSize the cache size, must be > 0
|
||||||
|
+ * @param cacheSize the cache size, must be > 0
|
||||||
|
* @return a Map usable as a cache bounded to the given size
|
||||||
|
*/
|
||||||
|
protected <K, V> Map<K, V> createCache(final int cacheSize) {
|
||||||
|
@@ -1312,7 +1312,7 @@ public class JexlEngine {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
- * Trims the expression from front & ending spaces.
|
||||||
|
+ * Trims the expression from front & ending spaces.
|
||||||
|
* @param str expression to clean
|
||||||
|
* @return trimmed expression ending in a semi-colon
|
||||||
|
*/
|
||||||
|
diff -up commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/parser/Parser.jjt.javadoc commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/parser/Parser.jjt
|
||||||
|
--- commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/parser/Parser.jjt.javadoc 2011-12-19 06:14:59.000000000 -0700
|
||||||
|
+++ commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/parser/Parser.jjt 2015-04-15 19:06:23.342339942 -0600
|
||||||
|
@@ -62,7 +62,7 @@ PARSER_END(Parser)
|
||||||
|
|
||||||
|
|
||||||
|
/***************************************
|
||||||
|
- * Skip & Number literal tokens
|
||||||
|
+ * Skip & Number literal tokens
|
||||||
|
***************************************/
|
||||||
|
|
||||||
|
<*> SKIP : /* WHITE SPACE */
|
||||||
|
@@ -145,7 +145,7 @@ PARSER_END(Parser)
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************
|
||||||
|
- * Identifier & String tokens
|
||||||
|
+ * Identifier & String tokens
|
||||||
|
***************************************/
|
||||||
|
|
||||||
|
<*> TOKEN : /* IDENTIFIERS */
|
||||||
|
@@ -275,7 +275,7 @@ void LValueVar() #Reference : {}
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************
|
||||||
|
- * Conditional & relational
|
||||||
|
+ * Conditional & relational
|
||||||
|
***************************************/
|
||||||
|
|
||||||
|
void ConditionalExpression() #void : {}
|
||||||
|
@@ -398,7 +398,7 @@ void UnaryExpression() #void : {}
|
||||||
|
|
||||||
|
|
||||||
|
/***************************************
|
||||||
|
- * Identifier & Literals
|
||||||
|
+ * Identifier & Literals
|
||||||
|
***************************************/
|
||||||
|
|
||||||
|
void Identifier(boolean top) :
|
||||||
|
@@ -501,7 +501,7 @@ void MapEntry() : {}
|
||||||
|
|
||||||
|
|
||||||
|
/***************************************
|
||||||
|
- * Functions & Methods
|
||||||
|
+ * Functions & Methods
|
||||||
|
***************************************/
|
||||||
|
|
||||||
|
void EmptyFunction() : {}
|
||||||
|
diff -up commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/scripting/JexlScriptEngineFactory.java.javadoc commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/scripting/JexlScriptEngineFactory.java
|
||||||
|
--- commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/scripting/JexlScriptEngineFactory.java.javadoc 2011-12-19 06:15:00.000000000 -0700
|
||||||
|
+++ commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/scripting/JexlScriptEngineFactory.java 2015-04-15 19:05:24.058352644 -0600
|
||||||
|
@@ -29,9 +29,9 @@ import org.apache.commons.jexl2.parser.S
|
||||||
|
/**
|
||||||
|
* Implements the Jexl ScriptEngineFactory for JSF-223.
|
||||||
|
* <p>
|
||||||
|
- * Supports the following:<br.>
|
||||||
|
- * Language short names: "JEXL", "Jexl", "jexl", "JEXL2", "Jexl2", "jexl2" <br/>
|
||||||
|
- * File Extensions: ".jexl", ".jexl2"<br/>
|
||||||
|
+ * Supports the following:<br>
|
||||||
|
+ * Language short names: "JEXL", "Jexl", "jexl", "JEXL2", "Jexl2", "jexl2" <br>
|
||||||
|
+ * File Extensions: ".jexl", ".jexl2"<br>
|
||||||
|
* "jexl2" etc. were added for engineVersion="2.0".
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
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.
|
||||||
|
* <p>
|
||||||
|
* The following properties are defined:
|
||||||
|
+ * </p>
|
||||||
|
* <ul>
|
||||||
|
* <li>in - refers to the engine scope reader that defaults to reading System.err</li>
|
||||||
|
* <li>out - refers the engine scope writer that defaults to writing in System.out</li>
|
||||||
|
@@ -102,7 +103,6 @@ public class JexlScriptEngine extends Ab
|
||||||
|
* <li>logger - the JexlScriptEngine logger</li>
|
||||||
|
* <li>System - the System.class</li>
|
||||||
|
* </ul>
|
||||||
|
- * </p>
|
||||||
|
* @since 2.0
|
||||||
|
*/
|
||||||
|
public class JexlScriptObject {
|
||||||
|
diff -up commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/UnifiedJEXL.java.javadoc commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/UnifiedJEXL.java
|
||||||
|
--- commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/UnifiedJEXL.java.javadoc 2011-12-19 06:14:58.000000000 -0700
|
||||||
|
+++ commons-jexl-2.1.1-src/src/main/java/org/apache/commons/jexl2/UnifiedJEXL.java 2015-04-15 19:51:40.950152677 -0600
|
||||||
|
@@ -38,21 +38,21 @@ import org.apache.commons.jexl2.parser.S
|
||||||
|
* and facilitate the implementation of expression evaluation.
|
||||||
|
* <p>
|
||||||
|
* An expression can mix immediate, deferred and nested sub-expressions as well as string constants;
|
||||||
|
+ * </p>
|
||||||
|
* <ul>
|
||||||
|
* <li>The "immediate" syntax is of the form <code>"...${jexl-expr}..."</code></li>
|
||||||
|
* <li>The "deferred" syntax is of the form <code>"...#{jexl-expr}..."</code></li>
|
||||||
|
* <li>The "nested" syntax is of the form <code>"...#{...${jexl-expr0}...}..."</code></li>
|
||||||
|
* <li>The "composite" syntax is of the form <code>"...${jexl-expr0}... #{jexl-expr1}..."</code></li>
|
||||||
|
* </ul>
|
||||||
|
- * </p>
|
||||||
|
* <p>
|
||||||
|
- * Deferred & immediate expression carry different intentions:
|
||||||
|
+ * Deferred & immediate expression carry different intentions:
|
||||||
|
+ * </p>
|
||||||
|
* <ul>
|
||||||
|
* <li>An immediate expression indicate that evaluation is intended to be performed close to
|
||||||
|
* the definition/parsing point.</li>
|
||||||
|
* <li>A deferred expression indicate that evaluation is intended to occur at a later stage.</li>
|
||||||
|
* </ul>
|
||||||
|
- * </p>
|
||||||
|
* <p>
|
||||||
|
* For instance: <code>"Hello ${name}, now is #{time}"</code> 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
|
||||||
|
* <p>
|
||||||
|
* 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.
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* 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.
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
@@ -339,7 +339,7 @@ public final class UnifiedJEXL {
|
||||||
|
* <p>
|
||||||
|
* 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.
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* 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.
|
||||||
|
* <p>
|
||||||
|
* If the underlying JEXL engine is silent, errors will be logged through its logger as warnings.
|
||||||
|
* </p>
|
||||||
|
@@ -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.
|
||||||
|
* </p>
|
||||||
|
- * For instance:
|
||||||
|
- * <p><blockquote><pre>
|
||||||
|
+ * <p>For instance:
|
||||||
|
+ * </p>
|
||||||
|
+ * <blockquote><pre>
|
||||||
|
* $$ 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
|
||||||
|
* $$ }
|
||||||
|
* $$ }
|
||||||
|
* </pre></blockquote>
|
||||||
|
+ * <p>
|
||||||
|
* Will evaluate as:
|
||||||
|
- * <p><blockquote><pre>
|
||||||
|
+ * </p>
|
||||||
|
+ * <blockquote><pre>
|
||||||
|
* 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 {
|
||||||
|
* <p>
|
||||||
|
* 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:
|
||||||
|
- * <p><blockquote><pre>
|
||||||
|
+ * </p>
|
||||||
|
+ * <blockquote><pre>
|
||||||
|
* $$ for(var cell : cells) { $jexl.print(cell); $jexl.print(';') }
|
||||||
|
* </pre></blockquote>
|
||||||
|
- * </p>
|
||||||
|
* <p>
|
||||||
|
* 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
|
||||||
|
+}
|
138
apache-commons-jexl.spec
Normal file
138
apache-commons-jexl.spec
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
#
|
||||||
|
# spec file for package apache-commons-jexl
|
||||||
|
#
|
||||||
|
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
%global compatver 2.1.0
|
||||||
|
%define base_name jexl
|
||||||
|
%define short_name commons-%{base_name}
|
||||||
|
%bcond_with tests
|
||||||
|
Name: apache-%{short_name}
|
||||||
|
Version: 2.1.1
|
||||||
|
Release: 0
|
||||||
|
Summary: Java Expression Language (JEXL)
|
||||||
|
License: Apache-2.0
|
||||||
|
Group: Development/Libraries/Java
|
||||||
|
URL: http://commons.apache.org/jexl
|
||||||
|
Source0: http://www.apache.org/dist/commons/jexl/source/%{short_name}-%{version}-src.tar.gz
|
||||||
|
Source1: %{short_name}-%{version}-build.tar.xz
|
||||||
|
# Patch to fix test failure with junit 4.11
|
||||||
|
Patch0: 001-Fix-tests.patch
|
||||||
|
# Fix javadoc build
|
||||||
|
Patch1: apache-commons-jexl-javadoc.patch
|
||||||
|
Patch2: 0001-Port-to-current-javacc.patch
|
||||||
|
BuildRequires: ant
|
||||||
|
BuildRequires: apache-commons-logging
|
||||||
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: javacc
|
||||||
|
BuildRequires: javapackages-local
|
||||||
|
Provides: %{short_name} = %{version}-%{release}
|
||||||
|
BuildArch: noarch
|
||||||
|
%if %{with tests}
|
||||||
|
BuildRequires: ant-junit
|
||||||
|
BuildConflicts: java-devel >= 9
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description
|
||||||
|
Java Expression Language (JEXL) is an expression language engine which can be
|
||||||
|
embedded in applications and frameworks. JEXL is inspired by Jakarta Velocity
|
||||||
|
and the Expression Language defined in the JavaServer Pages Standard Tag
|
||||||
|
Library version 1.1 (JSTL) and JavaServer Pages version 2.0 (JSP). While
|
||||||
|
inspired by JSTL EL, it must be noted that JEXL is not a compatible
|
||||||
|
implementation of EL as defined in JSTL 1.1 (JSR-052) or JSP 2.0 (JSR-152).
|
||||||
|
For a compatible implementation of these specifications, see the Commons EL
|
||||||
|
project.
|
||||||
|
|
||||||
|
JEXL attempts to bring some of the lessons learned by the Velocity community
|
||||||
|
about expression languages in templating to a wider audience. Commons Jelly
|
||||||
|
needed Velocity-ish method access, it just had to have it.
|
||||||
|
|
||||||
|
%package javadoc
|
||||||
|
Summary: Javadocs for %{name}
|
||||||
|
Group: Documentation/HTML
|
||||||
|
Provides: %{short_name}-javadoc = %{version}-%{release}
|
||||||
|
|
||||||
|
%description javadoc
|
||||||
|
This package contains the API documentation for %{name}.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -n %{short_name}-%{version}-src -a1
|
||||||
|
%patch0 -p1 -b .test
|
||||||
|
%patch1 -p1 -b .javadoc
|
||||||
|
%patch2 -p1
|
||||||
|
|
||||||
|
# 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
|
||||||
|
# Fix line endings
|
||||||
|
find -name '*.txt' -exec sed -i 's/\r//' '{}' +
|
||||||
|
|
||||||
|
# Drop "-SNAPSHOT" from version
|
||||||
|
%pom_xpath_set "pom:project/pom:version" %{compatver} jexl2-compat
|
||||||
|
%pom_xpath_set "pom:dependency[pom:artifactId='commons-jexl']/pom:version" %{version} jexl2-compat
|
||||||
|
|
||||||
|
%pom_remove_parent . jexl2-compat
|
||||||
|
|
||||||
|
%build
|
||||||
|
mkdir -p lib
|
||||||
|
build-jar-repository -s lib commons-logging
|
||||||
|
|
||||||
|
# commons-jexl
|
||||||
|
%{ant} \
|
||||||
|
%if %{without tests}
|
||||||
|
-Dtest.skip=true \
|
||||||
|
%endif
|
||||||
|
-Djavacc.home=%{_javadir} \
|
||||||
|
jar javadoc
|
||||||
|
# commons-jexl-compat
|
||||||
|
%{ant} \
|
||||||
|
-f jexl2-compat/build.xml \
|
||||||
|
-Dproject.version=%{compatver} \
|
||||||
|
%if %{without tests}
|
||||||
|
-Dtest.skip=true \
|
||||||
|
%endif
|
||||||
|
jar javadoc
|
||||||
|
|
||||||
|
%install
|
||||||
|
# jars
|
||||||
|
install -dm 0755 %{buildroot}%{_javadir}/%{name}
|
||||||
|
install -pm 0644 target/%{short_name}-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{short_name}.jar
|
||||||
|
ln -sf %{name}/%{short_name}.jar %{buildroot}%{_javadir}/%{short_name}.jar
|
||||||
|
install -pm 0644 jexl2-compat/target/%{short_name}-compat-%{compatver}.jar %{buildroot}%{_javadir}/%{name}/%{short_name}-compat.jar
|
||||||
|
ln -sf %{name}/%{short_name}-compat.jar %{buildroot}%{_javadir}/%{short_name}-compat.jar
|
||||||
|
# poms
|
||||||
|
install -dm 0755 %{buildroot}%{_mavenpomdir}/%{name}
|
||||||
|
install -pm 0644 pom.xml %{buildroot}%{_mavenpomdir}/%{name}/%{short_name}.pom
|
||||||
|
%add_maven_depmap %{name}/%{short_name}.pom %{name}/%{short_name}.jar
|
||||||
|
install -pm 0644 jexl2-compat/pom.xml %{buildroot}%{_mavenpomdir}/%{name}/%{short_name}-compat.pom
|
||||||
|
%add_maven_depmap %{name}/%{short_name}-compat.pom %{name}/%{short_name}-compat.jar
|
||||||
|
# javadoc
|
||||||
|
install -dm 0755 %{buildroot}%{_javadocdir}/%{name}/jexl2-compat
|
||||||
|
cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}/
|
||||||
|
cp -pr jexl2-compat/target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}/jexl2-compat/
|
||||||
|
%fdupes -s %{buildroot}%{_javadocdir}
|
||||||
|
|
||||||
|
%files -f .mfiles
|
||||||
|
%license LICENSE.txt
|
||||||
|
%doc NOTICE.txt RELEASE-NOTES.txt
|
||||||
|
%{_javadir}/%{short_name}*.jar
|
||||||
|
|
||||||
|
%files javadoc
|
||||||
|
%license LICENSE.txt
|
||||||
|
%doc NOTICE.txt
|
||||||
|
%{_javadocdir}/%{name}
|
||||||
|
|
||||||
|
%changelog
|
3
commons-jexl-2.1.1-build.tar.xz
Normal file
3
commons-jexl-2.1.1-build.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:df1e81aa237d40c31f25039f109649abca7bbd97a3ddfd95e2c7483043748d14
|
||||||
|
size 3224
|
BIN
commons-jexl-2.1.1-src.tar.gz
(Stored with Git LFS)
Normal file
BIN
commons-jexl-2.1.1-src.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user