This is an automated email from the ASF dual-hosted git repository. ggregory 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 2927f7a0 No need to nest in else 2927f7a0 is described below commit 2927f7a07bb2b0a28f6d6227597138e48d2e3e5d Author: Gary D. Gregory <garydgreg...@gmail.com> AuthorDate: Fri Jun 13 11:49:22 2025 -0400 No need to nest in else - Use final - Remove odd comment - Remove unnecessary parentheses - Use longer lines --- .../apache/commons/jexl3/internal/Debugger.java | 2 +- .../org/apache/commons/jexl3/internal/Engine.java | 2 +- .../org/apache/commons/jexl3/internal/Frame.java | 5 +- .../apache/commons/jexl3/internal/Operator.java | 28 +-- .../commons/jexl3/internal/TemplateEngine.java | 245 ++++++++++----------- .../commons/jexl3/parser/ASTArrayAccess.java | 2 +- .../org/apache/commons/jexl3/parser/JexlNode.java | 4 +- .../commons/jexl3/ArithmeticOperatorTest.java | 40 ++-- .../org/apache/commons/jexl3/Issues400Test.java | 79 ++++--- .../java/org/apache/commons/jexl3/LambdaTest.java | 8 +- .../org/apache/commons/jexl3/internal/Util.java | 4 +- 11 files changed, 203 insertions(+), 216 deletions(-) diff --git a/src/main/java/org/apache/commons/jexl3/internal/Debugger.java b/src/main/java/org/apache/commons/jexl3/internal/Debugger.java index 1859e699..6fc3e56a 100644 --- a/src/main/java/org/apache/commons/jexl3/internal/Debugger.java +++ b/src/main/java/org/apache/commons/jexl3/internal/Debugger.java @@ -736,7 +736,7 @@ public class Debugger extends ParserVisitor implements JexlInfo.Detail { } } } - char lastChar = builder.charAt(builder.length() - 1); + final char lastChar = builder.charAt(builder.length() - 1); if (!Character.isSpaceChar(lastChar) && lastChar != '\n') { builder.append(' '); } diff --git a/src/main/java/org/apache/commons/jexl3/internal/Engine.java b/src/main/java/org/apache/commons/jexl3/internal/Engine.java index 4d966d51..ae6156ff 100644 --- a/src/main/java/org/apache/commons/jexl3/internal/Engine.java +++ b/src/main/java/org/apache/commons/jexl3/internal/Engine.java @@ -281,7 +281,7 @@ public class Engine extends JexlEngine { * The {@link Parser}; when parsing expressions, this engine uses the parser if it * is not already in use otherwise it will create a new temporary one. */ - protected final JexlScriptParser parser; //$NON-NLS-1$ + protected final JexlScriptParser parser; /** * The expression max length to hit the cache. */ diff --git a/src/main/java/org/apache/commons/jexl3/internal/Frame.java b/src/main/java/org/apache/commons/jexl3/internal/Frame.java index 22228849..a9377833 100644 --- a/src/main/java/org/apache/commons/jexl3/internal/Frame.java +++ b/src/main/java/org/apache/commons/jexl3/internal/Frame.java @@ -171,10 +171,9 @@ class ReferenceFrame extends Frame { // if the captured symbol is lexical, it is redefined locally; a new reference is needed to share it with callees // otherwise share the reference return lexical ? (stack[s] = new CaptureReference(ref.get())) : ref; - } else { - // capture the register, wrap the value in a reference to share it with callees - return stack[s] = new CaptureReference(o); } + // capture the register, wrap the value in a reference to share it with callees + return stack[s] = new CaptureReference(o); } @Override diff --git a/src/main/java/org/apache/commons/jexl3/internal/Operator.java b/src/main/java/org/apache/commons/jexl3/internal/Operator.java index 60bf2355..ef2b4b6d 100644 --- a/src/main/java/org/apache/commons/jexl3/internal/Operator.java +++ b/src/main/java/org/apache/commons/jexl3/internal/Operator.java @@ -139,8 +139,8 @@ public final class Operator implements JexlOperator.Uberspect { synchronized(this) { c = caching; if (c < 0) { - JexlEngine jexl = JexlEngine.getThreadEngine(); - caching = c = (jexl instanceof Engine) && ((Engine) jexl).cache != null ? 1 : 0; + final JexlEngine jexl = JexlEngine.getThreadEngine(); + caching = c = jexl instanceof Engine && ((Engine) jexl).cache != null ? 1 : 0; } } } @@ -210,9 +210,9 @@ public final class Operator implements JexlOperator.Uberspect { * @param <T> the return type * @return throws JexlException if strict and not silent, null otherwise */ - private <T> T operatorError(final JexlCache.Reference ref, final JexlOperator operator, final Throwable cause, T alt) { - JexlNode node = (ref instanceof JexlNode) ? (JexlNode) ref : null; - Engine engine = (Engine) JexlEngine.getThreadEngine(); + private <T> T operatorError(final JexlCache.Reference ref, final JexlOperator operator, final Throwable cause, final T alt) { + final JexlNode node = ref instanceof JexlNode ? (JexlNode) ref : null; + final Engine engine = (Engine) JexlEngine.getThreadEngine(); if (engine == null || engine.isStrict()) { throw new JexlException.Operator(node, operator.getOperatorSymbol(), cause); } @@ -347,7 +347,7 @@ public final class Operator implements JexlOperator.Uberspect { } } // not-contains is !contains - return (JexlOperator.CONTAINS == operator) == contained; + return JexlOperator.CONTAINS == operator == contained; } catch (final Exception any) { return operatorError(node, operator, any, false); } @@ -380,7 +380,7 @@ public final class Operator implements JexlOperator.Uberspect { } } // not-startswith is !starts-with - return (JexlOperator.STARTSWITH == operator) == starts; + return JexlOperator.STARTSWITH == operator == starts; } catch (final Exception any) { return operatorError(node, operator, any, false); } @@ -413,7 +413,7 @@ public final class Operator implements JexlOperator.Uberspect { } } // not-endswith is !ends-with - return (JexlOperator.ENDSWITH == operator) == ends; + return JexlOperator.ENDSWITH == operator == ends; } catch (final Exception any) { return operatorError(node, operator, any, false); } @@ -544,7 +544,7 @@ public final class Operator implements JexlOperator.Uberspect { } if (node != null) { // *2: could not find an overload for this operator and arguments, keep track of the fail - MethodKey key = new MethodKey(operator.getMethodName(), args); + final MethodKey key = new MethodKey(operator.getMethodName(), args); node.setCache(key); } return JexlEngine.TRY_FAILED; @@ -592,7 +592,7 @@ public final class Operator implements JexlOperator.Uberspect { } @Override - public Object invoke(Object arithmetic, Object... params) throws Exception { + public Object invoke(final Object arithmetic, final Object... params) throws Exception { return operate((int) compare.invoke(arithmetic, params)); } @@ -602,12 +602,12 @@ public final class Operator implements JexlOperator.Uberspect { } @Override - public boolean tryFailed(Object rval) { + public boolean tryFailed(final Object rval) { return rval == JexlEngine.TRY_FAILED; } @Override - public Object tryInvoke(String name, Object arithmetic, Object... params) throws JexlException.TryFailed { + public Object tryInvoke(final String name, final Object arithmetic, final Object... params) throws JexlException.TryFailed { final Object cmp = compare.tryInvoke(JexlOperator.COMPARE.getMethodName(), arithmetic, params); return cmp instanceof Integer? operate((int) cmp) : JexlEngine.TRY_FAILED; } @@ -640,12 +640,12 @@ public final class Operator implements JexlOperator.Uberspect { } @Override - public Object invoke(Object arithmetic, Object... params) throws Exception { + public Object invoke(final Object arithmetic, final Object... params) throws Exception { return operate(-(int) compare.invoke(arithmetic, params[1], params[0])); } @Override - public Object tryInvoke(String name, Object arithmetic, Object... params) throws JexlException.TryFailed { + public Object tryInvoke(final String name, final Object arithmetic, final Object... params) throws JexlException.TryFailed { final Object cmp = compare.tryInvoke(JexlOperator.COMPARE.getMethodName(), arithmetic, params[1], params[0]); return cmp instanceof Integer? operate(-Integer.signum((Integer) cmp)) : JexlEngine.TRY_FAILED; } diff --git a/src/main/java/org/apache/commons/jexl3/internal/TemplateEngine.java b/src/main/java/org/apache/commons/jexl3/internal/TemplateEngine.java index 5437d2cd..11b48fff 100644 --- a/src/main/java/org/apache/commons/jexl3/internal/TemplateEngine.java +++ b/src/main/java/org/apache/commons/jexl3/internal/TemplateEngine.java @@ -936,146 +936,135 @@ public final class TemplateEngine extends JxltEngine { for (int column = 0; column < size; ++column) { final char c = expr.charAt(column); switch (state) { - case CONST: - if (c == immediateChar) { - state = ParseState.IMMEDIATE0; - } else if (c == deferredChar) { - inested = column; - state = ParseState.DEFERRED0; - } else if (c == '\\') { - state = ParseState.ESCAPE; - } else { - // do buildup expr + case CONST: + if (c == immediateChar) { + state = ParseState.IMMEDIATE0; + } else if (c == deferredChar) { + inested = column; + state = ParseState.DEFERRED0; + } else if (c == '\\') { + state = ParseState.ESCAPE; + } else { + // do buildup expr + strb.append(c); + } + break; + case IMMEDIATE0: // $ + if (c != '{') { + // revert to CONST + strb.append(immediateChar); + state = ParseState.CONST; + // 'unread' the current character + column -= 1; + continue; + } + state = ParseState.IMMEDIATE1; + // if chars in buffer, create constant + if (strb.length() > 0) { + final TemplateExpression cexpr = new ConstantExpression(strb.toString(), null); + builder.add(cexpr); + strb.delete(0, Integer.MAX_VALUE); + } + break; + case DEFERRED0: // # + if (c != '{') { + // revert to CONST + strb.append(deferredChar); + state = ParseState.CONST; + // 'unread' the current character + column -= 1; + continue; + } + state = ParseState.DEFERRED1; + // if chars in buffer, create constant + if (strb.length() > 0) { + final TemplateExpression cexpr = new ConstantExpression(strb.toString(), null); + builder.add(cexpr); + strb.delete(0, Integer.MAX_VALUE); + } + break; + case IMMEDIATE1: // ${... + if (c == '}') { + if (immediate1 > 0) { + immediate1 -= 1; strb.append(c); - } - break; - case IMMEDIATE0: // $ - if (c == '{') { - state = ParseState.IMMEDIATE1; - // if chars in buffer, create constant - if (strb.length() > 0) { - final TemplateExpression cexpr = new ConstantExpression(strb.toString(), null); - builder.add(cexpr); - strb.delete(0, Integer.MAX_VALUE); - } } else { - // revert to CONST - strb.append(immediateChar); + // materialize the immediate expr + final String src = strb.toString(); + final TemplateExpression iexpr = new ImmediateExpression(src, jexl.parse(info.at(lineno, column), noscript, src, scope), null); + builder.add(iexpr); + strb.delete(0, Integer.MAX_VALUE); state = ParseState.CONST; - // 'unread' the current character - column -= 1; - continue; } - break; - case DEFERRED0: // # + } else { if (c == '{') { - state = ParseState.DEFERRED1; - // if chars in buffer, create constant - if (strb.length() > 0) { - final TemplateExpression cexpr = new ConstantExpression(strb.toString(), null); - builder.add(cexpr); - strb.delete(0, Integer.MAX_VALUE); - } + immediate1 += 1; + } + // do buildup expr + column = append(strb, expr, column, c); + } + break; + case DEFERRED1: // #{... + // skip inner strings (for '}') + // nested immediate in deferred; need to balance count of '{' & '}' + // closing '}' + switch (c) { + case '"': + case '\'': + strb.append(c); + column = StringParser.readString(strb, expr, column + 1, c); + continue; + case '{': + if (expr.charAt(column - 1) == immediateChar) { + inner1 += 1; + strb.deleteCharAt(strb.length() - 1); + nested = true; } else { - // revert to CONST - strb.append(deferredChar); - state = ParseState.CONST; - // 'unread' the current character - column -= 1; - continue; + deferred1 += 1; + strb.append(c); } - break; - case IMMEDIATE1: // ${... - if (c == '}') { - if (immediate1 > 0) { - immediate1 -= 1; - strb.append(c); - } else { - // materialize the immediate expr - final String src = strb.toString(); - final TemplateExpression iexpr = new ImmediateExpression( - src, - jexl.parse(info.at(lineno, column), noscript, src, scope), - null); - builder.add(iexpr); - strb.delete(0, Integer.MAX_VALUE); - state = ParseState.CONST; - } + continue; + case '}': + // balance nested immediate + if (deferred1 > 0) { + deferred1 -= 1; + strb.append(c); + } else if (inner1 > 0) { + inner1 -= 1; } else { - if (c == '{') { - immediate1 += 1; + // materialize the nested/deferred expr + final String src = strb.toString(); + TemplateExpression dexpr; + if (nested) { + dexpr = new NestedExpression(expr.substring(inested, column + 1), jexl.parse(info.at(lineno, column), noscript, src, scope), null); + } else { + dexpr = new DeferredExpression(strb.toString(), jexl.parse(info.at(lineno, column), noscript, src, scope), null); } - // do buildup expr - column = append(strb, expr, column, c); + builder.add(dexpr); + strb.delete(0, Integer.MAX_VALUE); + nested = false; + state = ParseState.CONST; } break; - case DEFERRED1: // #{... - // skip inner strings (for '}') - // nested immediate in deferred; need to balance count of '{' & '}' - // closing '}' - switch (c) { - case '"': - case '\'': - strb.append(c); - column = StringParser.readString(strb, expr, column + 1, c); - continue; - case '{': - if (expr.charAt(column - 1) == immediateChar) { - inner1 += 1; - strb.deleteCharAt(strb.length() - 1); - nested = true; - } else { - deferred1 += 1; - strb.append(c); - } - continue; - case '}': - // balance nested immediate - if (deferred1 > 0) { - deferred1 -= 1; - strb.append(c); - } else if (inner1 > 0) { - inner1 -= 1; - } else { - // materialize the nested/deferred expr - final String src = strb.toString(); - TemplateExpression dexpr; - if (nested) { - dexpr = new NestedExpression( - expr.substring(inested, column + 1), - jexl.parse(info.at(lineno, column), noscript, src, scope), - null); - } else { - dexpr = new DeferredExpression( - strb.toString(), - jexl.parse(info.at(lineno, column), noscript, src, scope), - null); - } - builder.add(dexpr); - strb.delete(0, Integer.MAX_VALUE); - nested = false; - state = ParseState.CONST; - } - break; - default: - // do buildup expr - column = append(strb, expr, column, c); - break; - } - break; - case ESCAPE: - if (c == deferredChar) { - strb.append(deferredChar); - } else if (c == immediateChar) { - strb.append(immediateChar); - } else { - strb.append('\\'); - strb.append(c); - } - state = ParseState.CONST; + default: + // do buildup expr + column = append(strb, expr, column, c); break; - default: // in case we ever add new unified expression type - throw new UnsupportedOperationException("unexpected unified expression type"); + } + break; + case ESCAPE: + if (c == deferredChar) { + strb.append(deferredChar); + } else if (c == immediateChar) { + strb.append(immediateChar); + } else { + strb.append('\\'); + strb.append(c); + } + state = ParseState.CONST; + break; + default: // in case we ever add new unified expression type + throw new UnsupportedOperationException("unexpected unified expression type"); } if (c == '\n') { lineno += 1; diff --git a/src/main/java/org/apache/commons/jexl3/parser/ASTArrayAccess.java b/src/main/java/org/apache/commons/jexl3/parser/ASTArrayAccess.java index 5c9ad060..778f036d 100644 --- a/src/main/java/org/apache/commons/jexl3/parser/ASTArrayAccess.java +++ b/src/main/java/org/apache/commons/jexl3/parser/ASTArrayAccess.java @@ -41,7 +41,7 @@ public class ASTArrayAccess extends JexlLexicalNode { } @Override - public boolean isSafeLhs(boolean safe) { + public boolean isSafeLhs(final boolean safe) { return isSafeChild(0) || super.isSafeLhs(safe); } diff --git a/src/main/java/org/apache/commons/jexl3/parser/JexlNode.java b/src/main/java/org/apache/commons/jexl3/parser/JexlNode.java index 5cc4481b..0632fce7 100644 --- a/src/main/java/org/apache/commons/jexl3/parser/JexlNode.java +++ b/src/main/java/org/apache/commons/jexl3/parser/JexlNode.java @@ -66,7 +66,7 @@ public abstract class JexlNode extends SimpleNode implements JexlCache.Reference } @Override - public void setCache(Object cache) { + public void setCache(final Object cache) { jjtSetValue(cache); } @@ -324,7 +324,7 @@ public abstract class JexlNode extends SimpleNode implements JexlCache.Reference * @param name the source name * @return the info */ - public JexlInfo jexlInfo(String name) { + public JexlInfo jexlInfo(final String name) { JexlInfo info = null; JexlNode node = this; while (node != null) { diff --git a/src/test/java/org/apache/commons/jexl3/ArithmeticOperatorTest.java b/src/test/java/org/apache/commons/jexl3/ArithmeticOperatorTest.java index c3bee31b..613f37cd 100644 --- a/src/test/java/org/apache/commons/jexl3/ArithmeticOperatorTest.java +++ b/src/test/java/org/apache/commons/jexl3/ArithmeticOperatorTest.java @@ -659,16 +659,16 @@ class ArithmeticOperatorTest extends JexlTestCase { private final JexlScript expr; private Object cache; - PropertyComparator(JexlArithmetic jexla, JexlScript expr) { + PropertyComparator(final JexlArithmetic jexla, final JexlScript expr) { this.arithmetic = jexla; this.operator = JexlEngine.getThreadEngine().getUberspect().getOperator(arithmetic); this.expr = expr; } @Override - public int compare(Object o1, Object o2) { + public int compare(final Object o1, final Object o2) { final Object left = expr.execute(context, o1); final Object right = expr.execute(context, o2); - Object result = operator.tryOverload(this, JexlOperator.COMPARE, left, right); + final Object result = operator.tryOverload(this, JexlOperator.COMPARE, left, right); if (result instanceof Integer) { return (int) result; } @@ -681,25 +681,25 @@ class ArithmeticOperatorTest extends JexlTestCase { } @Override - public void setCache(Object cache) { + public void setCache(final Object cache) { this.cache = cache; } } public static class SortingArithmetic extends JexlArithmetic { - public SortingArithmetic(boolean strict) { + public SortingArithmetic(final boolean strict) { this(strict, null, Integer.MIN_VALUE); } - private SortingArithmetic(boolean strict, MathContext context, int scale) { + private SortingArithmetic(final boolean strict, final MathContext context, final int scale) { super(strict, context, scale); } - public int compare(Integer left, Integer right) { + public int compare(final Integer left, final Integer right) { return left.compareTo(right); } - public int compare(String left, String right) { + public int compare(final String left, final String right) { return left.compareTo(right); } @@ -760,16 +760,16 @@ class ArithmeticOperatorTest extends JexlTestCase { } public static class Arithmetic428 extends JexlArithmetic { - public Arithmetic428(boolean strict) { + public Arithmetic428(final boolean strict) { this(strict, null, Integer.MIN_VALUE); } - private Arithmetic428(boolean strict, MathContext context, int scale) { + private Arithmetic428(final boolean strict, final MathContext context, final int scale) { super(strict, context, scale); } - public int compare(Instant lhs, String str) { - Instant rhs = Instant.parse(str); + public int compare(final Instant lhs, final String str) { + final Instant rhs = Instant.parse(str); return lhs.compareTo(rhs); } } @@ -787,12 +787,12 @@ class ArithmeticOperatorTest extends JexlTestCase { script = jexl.createScript("x < y", "x", "y"); final JexlScript s0 = script; assertThrows(JexlException.class, () -> s0.execute(null, 42, rhs)); - for(int i : LOOPS) { assertTrue((boolean) script.execute(null, lhs, rhs)); } - for(int i : LOOPS) { assertTrue((boolean) script.execute(null, lhs, rhs)); } - for(int i : LOOPS) { assertFalse((boolean) script.execute(null, rhs, lhs)); } - for(int i : LOOPS) { assertFalse((boolean) script.execute(null, rhs, lhs)); } - for(int i : LOOPS) { assertTrue((boolean) script.execute(null, lhs, rhs)); } - for(int i : LOOPS) { assertFalse((boolean) script.execute(null, rhs, lhs)); } + for(final int i : LOOPS) { assertTrue((boolean) script.execute(null, lhs, rhs)); } + for(final int i : LOOPS) { assertTrue((boolean) script.execute(null, lhs, rhs)); } + for(final int i : LOOPS) { assertFalse((boolean) script.execute(null, rhs, lhs)); } + for(final int i : LOOPS) { assertFalse((boolean) script.execute(null, rhs, lhs)); } + for(final int i : LOOPS) { assertTrue((boolean) script.execute(null, lhs, rhs)); } + for(final int i : LOOPS) { assertFalse((boolean) script.execute(null, rhs, lhs)); } script = jexl.createScript("x <= y", "x", "y"); final JexlScript s1 = script; @@ -831,11 +831,11 @@ class ArithmeticOperatorTest extends JexlTestCase { } public static class Arithmetic429 extends JexlArithmetic { - public Arithmetic429(boolean astrict) { + public Arithmetic429(final boolean astrict) { super(astrict); } - public int compare(String lhs, Number rhs) { + public int compare(final String lhs, final Number rhs) { return lhs.compareTo(rhs.toString()); } } diff --git a/src/test/java/org/apache/commons/jexl3/Issues400Test.java b/src/test/java/org/apache/commons/jexl3/Issues400Test.java index 25b53904..e971acb7 100644 --- a/src/test/java/org/apache/commons/jexl3/Issues400Test.java +++ b/src/test/java/org/apache/commons/jexl3/Issues400Test.java @@ -462,13 +462,13 @@ class Issues400Test { @Test void test429a() { - MapContext ctxt = new MapContext(); + final MapContext ctxt = new MapContext(); //ctxt.set("b", 1); - JexlFeatures features = JexlFeatures.createDefault(); + final JexlFeatures features = JexlFeatures.createDefault(); final JexlEngine jexl = new JexlBuilder() .features(features) .safe(false).strict(true).silent(false).create(); - JexlScript f = jexl.createScript("x -> x"); + final JexlScript f = jexl.createScript("x -> x"); ctxt.set("f", f); String src = "#pragma jexl.namespace.b "+Ns429.class.getName() +"\n" +"b ? b : f(2);"; @@ -483,14 +483,14 @@ class Issues400Test { @Test void test429b() { - MapContext ctxt = new MapContext(); + final MapContext ctxt = new MapContext(); ctxt.set("b", 1); - JexlFeatures features = JexlFeatures.createDefault(); + final JexlFeatures features = JexlFeatures.createDefault(); features.namespaceIdentifier(true); final JexlEngine jexl = new JexlBuilder() .features(features) .safe(false).strict(true).silent(false).create(); - JexlScript f = jexl.createScript("x -> x"); + final JexlScript f = jexl.createScript("x -> x"); ctxt.set("f", f); String src = "#pragma jexl.namespace.b "+Ns429.class.getName() +"\n" +"b ? b : f(2);"; @@ -505,7 +505,7 @@ class Issues400Test { @Test void test431a() { - JexlEngine jexl = new JexlBuilder().create(); + final JexlEngine jexl = new JexlBuilder().create(); final String src = "let x = 0; try { x += 19 } catch (let error) { return 169 } try { x += 23 } catch (let error) { return 169 }"; final JexlScript script = jexl.createScript(src); assertNotNull(script); @@ -519,7 +519,7 @@ class Issues400Test { @Test void test431b() { - JexlEngine jexl = new JexlBuilder().create(); + final JexlEngine jexl = new JexlBuilder().create(); final String src = "let x = 0; try(let error) { x += 19 } catch (let error) { return 169 } try { x += 23 } catch (let error) { return 169 }"; final JexlScript script = jexl.createScript(src); assertNotNull(script); @@ -529,33 +529,33 @@ class Issues400Test { @Test void test431c() { - JexlEngine jexl = new JexlBuilder().create(); + final JexlEngine jexl = new JexlBuilder().create(); final String src = "let xx = 0; try { xx += 19 } catch (let xx) { return 169 }"; try { final JexlScript script = jexl.createScript(src); fail("xx is already defined in scope"); - } catch(JexlException.Parsing parsing) { + } catch(final JexlException.Parsing parsing) { assertTrue(parsing.getDetail().contains("xx")); } } @Test void test433() { - JexlEngine jexl = new JexlBuilder().create(); + final JexlEngine jexl = new JexlBuilder().create(); final String src = "let condition = true; if (condition) { return; }"; final JexlScript script = jexl.createScript(src); assertNotNull(script); - Object result = script.execute(null); + final Object result = script.execute(null); assertNull(result); - Debugger debugger = new Debugger(); + final Debugger debugger = new Debugger(); assertTrue(debugger.debug(script)); - String dbgStr = debugger.toString(); + final String dbgStr = debugger.toString(); assertTrue(JexlTestCase.equalsIgnoreWhiteSpace(src, dbgStr)); } @Test void test434() { - JexlEngine jexl = new JexlBuilder().safe(false).strict(true).create(); + final JexlEngine jexl = new JexlBuilder().safe(false).strict(true).create(); final String src = "let foo = null; let value = foo?[bar]"; final JexlScript script = jexl.createScript(src); assertNotNull(script); @@ -565,10 +565,10 @@ class Issues400Test { } public static class Arithmetic435 extends JexlArithmetic { - public Arithmetic435(boolean strict) { + public Arithmetic435(final boolean strict) { super(strict); } - public Object empty(String type) { + public Object empty(final String type) { if ("list".equals(type)) { return Collections.emptyList(); } @@ -578,8 +578,8 @@ class Issues400Test { @Test void test435() { - JexlArithmetic arithmetic = new Arithmetic435(true); - JexlEngine jexl = new JexlBuilder().arithmetic(arithmetic).create(); + final JexlArithmetic arithmetic = new Arithmetic435(true); + final JexlEngine jexl = new JexlBuilder().arithmetic(arithmetic).create(); final String src = "empty('list')"; final JexlScript script = jexl.createScript(src); assertNotNull(script); @@ -589,28 +589,28 @@ class Issues400Test { @Test void test436a() { - String[] srcs = {"let i = null; ++i", "let i; ++i;", "let i; i--;", "let i; i++;"}; + final String[] srcs = {"let i = null; ++i", "let i; ++i;", "let i; i--;", "let i; i++;"}; run436(null, srcs); } @Test void test436b() { - String[] srcs = {"var i = null; ++i", "var i; ++i;", "var i; i--;", "var i; i++;"}; + final String[] srcs = {"var i = null; ++i", "var i; ++i;", "var i; i--;", "var i; i++;"}; run436(null, srcs); } @Test void test436c() { - JexlContext ctxt = new MapContext(); + final JexlContext ctxt = new MapContext(); ctxt.set("i", null); - String[] srcs = {"++i", "++i;", "i--;", "i++;"}; + final String[] srcs = {"++i", "++i;", "i--;", "i++;"}; run436(null, srcs); } - void run436(JexlContext ctxt, String[] srcs) { + void run436(final JexlContext ctxt, final String[] srcs) { final JexlEngine jexl = new JexlBuilder().create(); - for(String src : srcs) { - JexlScript script = jexl.createScript(src); + for(final String src : srcs) { + final JexlScript script = jexl.createScript(src); assertThrows(JexlException.Operator.class, () -> script.execute(ctxt)); } } @@ -618,7 +618,7 @@ class Issues400Test { /** The set of characters that may be followed by a '='.*/ static final char[] EQ_FRIEND; static { - char[] eq = {'!', ':', '<', '>', '^', '|', '&', '+', '-', '/', '*', '~', '='}; + final char[] eq = {'!', ':', '<', '>', '^', '|', '&', '+', '-', '/', '*', '~', '='}; Arrays.sort(eq); EQ_FRIEND = eq; } @@ -633,7 +633,7 @@ class Issues400Test { final int end = expr.length(); char previous = 0; for (int i = 0; i < end; ++i) { - char c = expr.charAt(i); + final char c = expr.charAt(i); if (previous == '<') { // previous char a '<' now followed by '>' if (c == '>') { @@ -641,9 +641,8 @@ class Issues400Test { strb.append("!="); previous = c; continue; - } else { - strb.append('<'); } + strb.append('<'); } if (c != '<') { if (c == '=') { @@ -685,7 +684,7 @@ class Issues400Test { } @Override - public ASTJexlScript parse(JexlInfo info, JexlFeatures features, String src, Scope scope) { + public ASTJexlScript parse(final JexlInfo info, final JexlFeatures features, final String src, final Scope scope) { return parser.parse(info, features, transcodeSQLExpr(src), scope); } } @@ -693,20 +692,20 @@ class Issues400Test { @Test void testSQLTranspose() { - String[] e = { "a<>b", "a = 2", "a.b.c <> '1<>0'" }; - String[] j = { "a!=b", "a == 2", "a.b.c != '1<>0'" }; + final String[] e = { "a<>b", "a = 2", "a.b.c <> '1<>0'" }; + final String[] j = { "a!=b", "a == 2", "a.b.c != '1<>0'" }; for(int i = 0; i < e.length; ++i) { - String je = transcodeSQLExpr(e[i]); + final String je = transcodeSQLExpr(e[i]); Assertions.assertEquals(j[i], je); } } @Test void testSQLNoChange() { - String[] e = { "a <= 2", "a >= 2", "a := 2", "a + 3 << 4 > 5", }; - for(int i = 0; i < e.length; ++i) { - String je = transcodeSQLExpr(e[i]); - Assertions.assertEquals(e[i], je); + final String[] e = { "a <= 2", "a >= 2", "a := 2", "a + 3 << 4 > 5", }; + for (final String element : e) { + final String je = transcodeSQLExpr(element); + Assertions.assertEquals(element, je); } } @@ -718,8 +717,8 @@ class Issues400Test { .loops(false) .sideEffect(false) .sideEffectGlobal(false); - JexlBuilder builder = new JexlBuilder().parserFactory(SQLParser::new).cache(32).features(f); - JexlEngine sqle = builder.create(); + final JexlBuilder builder = new JexlBuilder().parserFactory(SQLParser::new).cache(32).features(f); + final JexlEngine sqle = builder.create(); Assertions.assertTrue((boolean) sqle.createScript("a <> 25", "a").execute(null, 24)); Assertions.assertFalse((boolean) sqle.createScript("a <> 25", "a").execute(null, 25)); Assertions.assertFalse((boolean) sqle.createScript("a = 25", "a").execute(null, 24)); diff --git a/src/test/java/org/apache/commons/jexl3/LambdaTest.java b/src/test/java/org/apache/commons/jexl3/LambdaTest.java index 3938add5..a882c935 100644 --- a/src/test/java/org/apache/commons/jexl3/LambdaTest.java +++ b/src/test/java/org/apache/commons/jexl3/LambdaTest.java @@ -591,8 +591,8 @@ class LambdaTest extends JexlTestCase { } @Test void testRefCapture5() { - JexlFeatures f426 = new JexlFeatures().referenceCapture(true); - JexlEngine jexl = new JexlBuilder().features(f426).create(); + final JexlFeatures f426 = new JexlFeatures().referenceCapture(true); + final JexlEngine jexl = new JexlBuilder().features(f426).create(); final String src = "let z = 32; let x = 40; function foo() { x += 2; }; function bar() { let x = -169; foo(); x;}; bar();"; final JexlScript script = jexl.createScript(src); assertNotNull(script); @@ -601,8 +601,8 @@ class LambdaTest extends JexlTestCase { } @Test void testRefCapture6() { - JexlFeatures f426 = new JexlFeatures().referenceCapture(true); - JexlEngine jexl = new JexlBuilder().features(f426).create(); + final JexlFeatures f426 = new JexlFeatures().referenceCapture(true); + final JexlEngine jexl = new JexlBuilder().features(f426).create(); final String src = "let x = 40; function foo() { x += 2; }; function bar() { x = -169; () -> { foo(); }}; bar();"; JexlScript script = jexl.createScript(src); assertNotNull(script); diff --git a/src/test/java/org/apache/commons/jexl3/internal/Util.java b/src/test/java/org/apache/commons/jexl3/internal/Util.java index f91874ff..c8e59b64 100644 --- a/src/test/java/org/apache/commons/jexl3/internal/Util.java +++ b/src/test/java/org/apache/commons/jexl3/internal/Util.java @@ -79,12 +79,12 @@ public class Util { return; } final Engine jdbg = new Engine(); - JexlScriptParser jexlp = jdbg.parser;; + final JexlScriptParser jexlp = jdbg.parser; if (!(jexlp instanceof Parser)) { // jexl-438 escape return; } - Parser parser = (Parser) jexlp; + final Parser parser = (Parser) jexlp; parser.allowRegisters(true); final Debugger dbg = new Debugger(); // iterate over all expression in