Repository: commons-scxml Updated Branches: refs/heads/master ad0a8b525 -> ad21dbcc8
SCXML-254 Update to current dependencies for groovy, commons-jexl, commons-io, jackson Project: http://git-wip-us.apache.org/repos/asf/commons-scxml/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-scxml/commit/ad21dbcc Tree: http://git-wip-us.apache.org/repos/asf/commons-scxml/tree/ad21dbcc Diff: http://git-wip-us.apache.org/repos/asf/commons-scxml/diff/ad21dbcc Branch: refs/heads/master Commit: ad21dbcc8d97dbf7b553a3e1cf6c908854ff1ab0 Parents: ad0a8b5 Author: Ate Douma <a...@apache.org> Authored: Sat Dec 9 16:39:04 2017 +0100 Committer: Ate Douma <a...@apache.org> Committed: Sat Dec 9 16:39:04 2017 +0100 ---------------------------------------------------------------------- pom.xml | 14 +++--- src/changes/changes.xml | 4 ++ .../commons/scxml2/env/jexl/JexlContext.java | 2 +- .../commons/scxml2/env/jexl/JexlEvaluator.java | 53 ++++---------------- .../apache/commons/scxml2/SCInstanceTest.java | 1 - 5 files changed, 22 insertions(+), 52 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-scxml/blob/ad21dbcc/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 11c61f0..0d18773 100644 --- a/pom.xml +++ b/pom.xml @@ -145,34 +145,34 @@ <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> - <version>2.6.4</version> + <version>2.9.3</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> - <version>2.6.4</version> + <version>2.9.3</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> - <version>2.4</version> + <version>2.6</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> - <artifactId>commons-jexl</artifactId> - <version>2.1.1</version> + <artifactId>commons-jexl3</artifactId> + <version>3.1</version> <optional>true</optional> </dependency> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy</artifactId> - <version>2.4.5</version> + <version>2.4.13</version> <optional>true</optional> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> - <version>4.11</version> + <version>4.12</version> <scope>test</scope> </dependency> </dependencies> http://git-wip-us.apache.org/repos/asf/commons-scxml/blob/ad21dbcc/src/changes/changes.xml ---------------------------------------------------------------------- diff --git a/src/changes/changes.xml b/src/changes/changes.xml index c733b59..5b9bf16 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -35,6 +35,10 @@ <release version="2.0" date="In Git master" description="Latest unreleased code"> + <action dev="ate" type="update" issue="SCXML-254"> + [12-09-2017] Update to current dependencies for groovy, commons-jexl, commons-io, jackson + </action> + <action dev="woonsan" type="fix" issue="SCXML-251" due-to="Tobias Lippert"> [08-02-2016] src attribute is not available for data elements. </action> http://git-wip-us.apache.org/repos/asf/commons-scxml/blob/ad21dbcc/src/main/java/org/apache/commons/scxml2/env/jexl/JexlContext.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/scxml2/env/jexl/JexlContext.java b/src/main/java/org/apache/commons/scxml2/env/jexl/JexlContext.java index b17e22a..0d9c1bc 100644 --- a/src/main/java/org/apache/commons/scxml2/env/jexl/JexlContext.java +++ b/src/main/java/org/apache/commons/scxml2/env/jexl/JexlContext.java @@ -26,7 +26,7 @@ import org.apache.commons.scxml2.env.SimpleContext; * */ public class JexlContext extends SimpleContext - implements org.apache.commons.jexl2.JexlContext { + implements org.apache.commons.jexl3.JexlContext { /** Serial version UID. */ private static final long serialVersionUID = 1L; http://git-wip-us.apache.org/repos/asf/commons-scxml/blob/ad21dbcc/src/main/java/org/apache/commons/scxml2/env/jexl/JexlEvaluator.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/scxml2/env/jexl/JexlEvaluator.java b/src/main/java/org/apache/commons/scxml2/env/jexl/JexlEvaluator.java index d306ca2..bf7cbca 100644 --- a/src/main/java/org/apache/commons/scxml2/env/jexl/JexlEvaluator.java +++ b/src/main/java/org/apache/commons/scxml2/env/jexl/JexlEvaluator.java @@ -20,9 +20,10 @@ import java.util.HashMap; import java.util.Map; import java.util.UUID; -import org.apache.commons.jexl2.Expression; -import org.apache.commons.jexl2.JexlEngine; -import org.apache.commons.jexl2.Script; +import org.apache.commons.jexl3.JexlBuilder; +import org.apache.commons.jexl3.JexlExpression; +import org.apache.commons.jexl3.JexlEngine; +import org.apache.commons.jexl3.JexlScript; import org.apache.commons.scxml2.Context; import org.apache.commons.scxml2.Evaluator; import org.apache.commons.scxml2.EvaluatorProvider; @@ -87,7 +88,7 @@ public class JexlEvaluator extends AbstractBaseEvaluator { public JexlEvaluator() { super(); // create the internal JexlEngine initially - jexlEngine = createJexlEngine(); + jexlEngine = getJexlEngine(); jexlEngineSilent = jexlEngine.isSilent(); jexlEngineStrict = jexlEngine.isStrict(); } @@ -101,21 +102,6 @@ public class JexlEvaluator extends AbstractBaseEvaluator { } /** - * Delegate method for {@link JexlEngine#setSilent(boolean)} to set whether the engine throws JexlException during - * evaluation when an error is triggered. - * <p>This method should be called as an optional step of the JexlEngine - * initialization code before expression creation & evaluation.</p> - * @param silent true means no JexlException will occur, false allows them - */ - public void setJexlEngineSilent(boolean silent) { - synchronized (this) { - JexlEngine engine = getJexlEngine(); - engine.setSilent(silent); - this.jexlEngineSilent = silent; - } - } - - /** * Checks whether the internal Jexl engine behaves in strict or lenient mode. * @return true for strict, false for lenient */ @@ -123,20 +109,6 @@ public class JexlEvaluator extends AbstractBaseEvaluator { return jexlEngineStrict; } - /** - * Delegate method for {@link JexlEngine#setStrict(boolean)} to set whether it behaves in strict or lenient mode. - * <p>This method is should be called as an optional step of the JexlEngine - * initialization code before expression creation & evaluation.</p> - * @param strict true for strict, false for lenient - */ - public void setJexlEngineStrict(boolean strict) { - synchronized (this) { - JexlEngine engine = getJexlEngine(); - engine.setStrict(strict); - this.jexlEngineStrict = strict; - } - } - @Override public String getSupportedDatamodel() { return SUPPORTED_DATA_MODEL; @@ -166,7 +138,7 @@ public class JexlEvaluator extends AbstractBaseEvaluator { } try { final JexlContext effective = getEffectiveContext((JexlContext)ctx); - Expression exp = getJexlEngine().createExpression(expr); + JexlExpression exp = getJexlEngine().createExpression(expr); return exp.evaluate(effective); } catch (Exception e) { String exMessage = e.getMessage() != null ? e.getMessage() : e.getClass().getCanonicalName(); @@ -187,7 +159,7 @@ public class JexlEvaluator extends AbstractBaseEvaluator { } try { final JexlContext effective = getEffectiveContext((JexlContext)ctx); - Expression exp = getJexlEngine().createExpression(expr); + JexlExpression exp = getJexlEngine().createExpression(expr); final Object result = exp.evaluate(effective); return result == null ? Boolean.FALSE : (Boolean)result; } catch (Exception e) { @@ -224,7 +196,7 @@ public class JexlEvaluator extends AbstractBaseEvaluator { } try { final JexlContext effective = getEffectiveContext((JexlContext) ctx); - final Script jexlScript = getJexlEngine().createScript(script); + final JexlScript jexlScript = getJexlEngine().createScript(script); return jexlScript.execute(effective); } catch (Exception e) { String exMessage = e.getMessage() != null ? e.getMessage() : e.getClass().getCanonicalName(); @@ -250,14 +222,11 @@ public class JexlEvaluator extends AbstractBaseEvaluator { * @return new JexlEngine instance */ protected JexlEngine createJexlEngine() { - JexlEngine engine = new JexlEngine(); // With null prefix, define top-level user defined functions. // See javadoc of org.apache.commons.jexl2.JexlEngine#setFunctions(Map<String,Object> funcs) for detail. - Map<String, Object> funcs = new HashMap<String, Object>(); + Map<String, Object> funcs = new HashMap<>(); funcs.put(null, JexlBuiltin.class); - engine.setFunctions(funcs); - engine.setCache(256); - return engine; + return new JexlBuilder().namespaces(funcs).strict(jexlEngineStrict).silent(jexlEngineSilent).cache(256).create(); } /** @@ -275,8 +244,6 @@ public class JexlEvaluator extends AbstractBaseEvaluator { engine = jexlEngine; if (engine == null) { jexlEngine = engine = createJexlEngine(); - jexlEngine.setSilent(jexlEngineSilent); - jexlEngine.setStrict(jexlEngineStrict); } } } http://git-wip-us.apache.org/repos/asf/commons-scxml/blob/ad21dbcc/src/test/java/org/apache/commons/scxml2/SCInstanceTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/scxml2/SCInstanceTest.java b/src/test/java/org/apache/commons/scxml2/SCInstanceTest.java index cb02475..5f63754 100644 --- a/src/test/java/org/apache/commons/scxml2/SCInstanceTest.java +++ b/src/test/java/org/apache/commons/scxml2/SCInstanceTest.java @@ -19,7 +19,6 @@ package org.apache.commons.scxml2; import java.util.HashSet; import java.util.Set; -import org.apache.commons.jexl2.JexlContext; import org.apache.commons.scxml2.env.SimpleContext; import org.apache.commons.scxml2.env.jexl.JexlEvaluator; import org.apache.commons.scxml2.model.EnterableState;