You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by he...@apache.org on 2019/11/18 16:42:05 UTC
[commons-jexl] branch master updated: JEXL-307: as a default, copy
options handled of context used at runtime to reduce the possibility of
artificially complex mistakes;
add an explicit flag to still allow purposeful usage Task #JEXL-307 -
Variable redeclaration option Task #JEXL-307 - Variable redeclaration
option
This is an automated email from the ASF dual-hosted git repository.
henrib pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-jexl.git
The following commit(s) were added to refs/heads/master by this push:
new 8543871 JEXL-307: as a default, copy options handled of context used at runtime to reduce the possibility of artificially complex mistakes; add an explicit flag to still allow purposeful usage Task #JEXL-307 - Variable redeclaration option Task #JEXL-307 - Variable redeclaration option
8543871 is described below
commit 854387184da4044769669e84235d1ef4d7f8f43b
Author: henrib <he...@apache.org>
AuthorDate: Mon Nov 18 17:41:14 2019 +0100
JEXL-307: as a default, copy options handled of context used at runtime to reduce the possibility of artificially complex mistakes; add an explicit flag to still allow purposeful usage
Task #JEXL-307 - Variable redeclaration option
Task #JEXL-307 - Variable redeclaration option
---
src/main/java/org/apache/commons/jexl3/JexlOptions.java | 2 +-
src/test/java/org/apache/commons/jexl3/LexicalTest.java | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/apache/commons/jexl3/JexlOptions.java b/src/main/java/org/apache/commons/jexl3/JexlOptions.java
index 0682e4e..98c46ef 100644
--- a/src/main/java/org/apache/commons/jexl3/JexlOptions.java
+++ b/src/main/java/org/apache/commons/jexl3/JexlOptions.java
@@ -59,7 +59,7 @@ public final class JexlOptions {
"cancellable", "strict", "silent", "safe", "lexical", "antish", "lexicalShade", "sharedInstance"
};
/** Default mask .*/
- private static int DEFAULT = 1 /*<< CANCELLABLE*/ | 1 << STRICT | 1 << ANTISH | 1 << SAFE | 1 << SHARED;
+ private static int DEFAULT = 1 /*<< CANCELLABLE*/ | 1 << STRICT | 1 << ANTISH | 1 << SAFE;
/** The arithmetic math context. */
private MathContext mathContext = null;
/** The arithmetic math scale. */
diff --git a/src/test/java/org/apache/commons/jexl3/LexicalTest.java b/src/test/java/org/apache/commons/jexl3/LexicalTest.java
index d950d3a..9f7b9c9 100644
--- a/src/test/java/org/apache/commons/jexl3/LexicalTest.java
+++ b/src/test/java/org/apache/commons/jexl3/LexicalTest.java
@@ -393,10 +393,11 @@ public class LexicalTest {
JexlEngine jexl = new JexlBuilder().features(f).strict(true).create();
JexlEvalContext ctxt = new JexlEvalContext();
JexlOptions options = ctxt.getEngineOptions();
+ options.setSharedInstance(false);
options.setLexical(true);
options.setLexicalShade(true);
ctxt.set("options", options);
- JexlScript script = jexl.createScript("{var x = 42;} options.lexical = false; x");
+ JexlScript script = jexl.createScript("{var x = 42;} options.lexical = false; options.lexicalShade=false; x");
try {
Object result = script.execute(ctxt);
Assert.fail("setting options.lexical should have no effect during execution");