This is an automated email from the ASF dual-hosted git repository. garydgregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-jexl.git
commit 7bbeb7c888bb48a42ac2f4aa154e3bf974527a00 Author: Gary Gregory <[email protected]> AuthorDate: Sat Jun 20 14:36:43 2026 +0000 Clean ups - Use final - Use method references --- pom.xml | 2 +- .../java/org/apache/commons/jexl3/JxltEngine.java | 2 +- .../commons/jexl3/internal/TemplateEngine.java | 2 +- .../jexl3/internal/TemplateInterpreter.java | 2 +- .../internal/introspection/PermissionsParser.java | 6 +- .../commons/jexl3/scripting/JexlScriptEngine.java | 4 +- .../jexl3/scripting/JexlScriptEngineFactory.java | 6 +- .../org/apache/commons/jexl3/ArithmeticTest.java | 6 +- .../java/org/apache/commons/jexl3/CaptureLog.java | 2 +- .../org/apache/commons/jexl3/ExceptionTest.java | 8 +- .../org/apache/commons/jexl3/Issues100Test.java | 5 +- .../org/apache/commons/jexl3/Issues400Test.java | 105 ++++++++++----------- .../java/org/apache/commons/jexl3/JXLTTest.java | 2 +- .../apache/commons/jexl3/LoggingPermissions.java | 26 ++--- .../java/org/apache/commons/jexl3/SwitchTest.java | 2 +- .../apache/commons/jexl3/examples/StreamTest.java | 4 +- .../jexl3/scripting/JexlScriptEngineTest.java | 2 +- src/test/java/org/example/Pair.java | 6 +- 18 files changed, 94 insertions(+), 98 deletions(-) diff --git a/pom.xml b/pom.xml index f61b4e05..ae235759 100644 --- a/pom.xml +++ b/pom.xml @@ -77,7 +77,7 @@ <commons.bc.version>3.6.2</commons.bc.version> <commons.release.version>3.6.3</commons.release.version> <commons.release.next>3.6.4</commons.release.next> - <commons.rc.version>RC1</commons.rc.version> + <commons.rc.version>RC2</commons.rc.version> <commons.release.isDistModule>true</commons.release.isDistModule> <commons.distSvnStagingUrl>scm:svn:https://dist.apache.org/repos/dist/dev/commons/${commons.componentid}</commons.distSvnStagingUrl> </properties> diff --git a/src/main/java/org/apache/commons/jexl3/JxltEngine.java b/src/main/java/org/apache/commons/jexl3/JxltEngine.java index c91153dc..052eb9db 100644 --- a/src/main/java/org/apache/commons/jexl3/JxltEngine.java +++ b/src/main/java/org/apache/commons/jexl3/JxltEngine.java @@ -321,7 +321,7 @@ public abstract class JxltEngine { * @return the prepared version of the template * @since 3.6.2 */ - default Template prepare(JexlContext context, Object... args) { + default Template prepare(final JexlContext context, final Object... args) { throw new UnsupportedOperationException( "This template implementation does not support prepare with arguments. " + "Override this method to provide support."); 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 01e7ffec..bee20ff2 100644 --- a/src/main/java/org/apache/commons/jexl3/internal/TemplateEngine.java +++ b/src/main/java/org/apache/commons/jexl3/internal/TemplateEngine.java @@ -1186,7 +1186,7 @@ public final class TemplateEngine extends JxltEngine { * @param c the character to test * @return {@code true} if the character is ignorable, {@code false} otherwise */ - private static boolean isIgnorable(char c) { + private static boolean isIgnorable(final char c) { return c == '\n' || c == '\r' || c == '\t' || c == '\f'; } diff --git a/src/main/java/org/apache/commons/jexl3/internal/TemplateInterpreter.java b/src/main/java/org/apache/commons/jexl3/internal/TemplateInterpreter.java index 074e90c8..45bea15e 100644 --- a/src/main/java/org/apache/commons/jexl3/internal/TemplateInterpreter.java +++ b/src/main/java/org/apache/commons/jexl3/internal/TemplateInterpreter.java @@ -309,7 +309,7 @@ public class TemplateInterpreter extends Interpreter { return frame != null && frame.stack != null? frame.stack.clone() : null; } - private void restoreStack(Object[] stack) { + private void restoreStack(final Object[] stack) { if (stack != null) { System.arraycopy(stack, 0, frame.stack, 0, stack.length); } diff --git a/src/main/java/org/apache/commons/jexl3/internal/introspection/PermissionsParser.java b/src/main/java/org/apache/commons/jexl3/internal/introspection/PermissionsParser.java index a5631002..3b163df2 100644 --- a/src/main/java/org/apache/commons/jexl3/internal/introspection/PermissionsParser.java +++ b/src/main/java/org/apache/commons/jexl3/internal/introspection/PermissionsParser.java @@ -361,13 +361,13 @@ public class PermissionsParser { //negative = true; } if (c == '{') { - Boolean specified = negative; + final Boolean specified = negative; njpackage = packages.compute(pname, (n, p) -> { // if we haven't specified allow/deny, // keep the existing specification if any, otherwise default to deny - boolean deny = specified == null ? !(p instanceof Permissions.JexlPackage) : specified; - Map<String, Permissions.NoJexlClass> pkgMap = p == null ? null : p.nojexl; + final boolean deny = specified == null ? !(p instanceof Permissions.JexlPackage) : specified; + final Map<String, Permissions.NoJexlClass> pkgMap = p == null ? null : p.nojexl; return deny ? new Permissions.NoJexlPackage(pkgMap) : new Permissions.JexlPackage(pkgMap); diff --git a/src/main/java/org/apache/commons/jexl3/scripting/JexlScriptEngine.java b/src/main/java/org/apache/commons/jexl3/scripting/JexlScriptEngine.java index bf875c66..c98114f2 100644 --- a/src/main/java/org/apache/commons/jexl3/scripting/JexlScriptEngine.java +++ b/src/main/java/org/apache/commons/jexl3/scripting/JexlScriptEngine.java @@ -87,7 +87,7 @@ public class JexlScriptEngine extends AbstractScriptEngine implements Compilable * For specialization. * @param permissions the permissions to use for the engine */ - public Factory(JexlPermissions permissions) { + public Factory(final JexlPermissions permissions) { super(permissions); } @@ -109,7 +109,7 @@ public class JexlScriptEngine extends AbstractScriptEngine implements Compilable * Sets the shared engine instance. * @param engine the engine */ - void setEngine(JexlEngine engine) { + void setEngine(final JexlEngine engine) { jexl = engine; } } diff --git a/src/main/java/org/apache/commons/jexl3/scripting/JexlScriptEngineFactory.java b/src/main/java/org/apache/commons/jexl3/scripting/JexlScriptEngineFactory.java index f7e5f276..f72be2e2 100644 --- a/src/main/java/org/apache/commons/jexl3/scripting/JexlScriptEngineFactory.java +++ b/src/main/java/org/apache/commons/jexl3/scripting/JexlScriptEngineFactory.java @@ -67,7 +67,7 @@ public class JexlScriptEngineFactory implements ScriptEngineFactory { * <p>Meant to reduce dependency to JEXL for extraordinary use case of JSR233.</p> * @param jexlPermissions the permissions instance to use or null to use the {@link JexlScriptEngineFactory} default */ - public JexlScriptEngineFactory(JexlPermissions jexlPermissions) { + public JexlScriptEngineFactory(final JexlPermissions jexlPermissions) { permissions = jexlPermissions != null ? jexlPermissions : defaultPermissions; } @@ -89,7 +89,7 @@ public class JexlScriptEngineFactory implements ScriptEngineFactory { * @return a new JexlEngine instance */ protected JexlEngine createJexlEngine() { - JexlBuilder builder = new JexlBuilder() + final JexlBuilder builder = new JexlBuilder() .strict(true) .safe(false) .logger(JexlScriptEngine.LOG) @@ -104,7 +104,7 @@ public class JexlScriptEngineFactory implements ScriptEngineFactory { } } } - JexlPermissions required = new JexlPermissions.ClassPermissions(p, JexlScriptEngine.JexlScriptObject.class); + final JexlPermissions required = new JexlPermissions.ClassPermissions(p, JexlScriptEngine.JexlScriptObject.class); builder.permissions(required); return builder.create(); } diff --git a/src/test/java/org/apache/commons/jexl3/ArithmeticTest.java b/src/test/java/org/apache/commons/jexl3/ArithmeticTest.java index 21b903cc..c2291468 100644 --- a/src/test/java/org/apache/commons/jexl3/ArithmeticTest.java +++ b/src/test/java/org/apache/commons/jexl3/ArithmeticTest.java @@ -461,12 +461,12 @@ class ArithmeticTest extends JexlTestCase { } public Object propertyGet(final NamedNodeMap attrs, final String name) { - Node node = attrs.getNamedItem(name); + final Node node = attrs.getNamedItem(name); return node == null ? JexlEngine.TRY_FAILED : node.getNodeValue(); } public Object propertySet(final NamedNodeMap attrs, final String name, final Object value) { - Node node = attrs.getNamedItem(name); + final Node node = attrs.getNamedItem(name); if (node == null) { return JexlEngine.TRY_FAILED; } @@ -2262,7 +2262,7 @@ class ArithmeticTest extends JexlTestCase { // JEXL-161 final JexlContext jc = new MapContext(); - Object xmlx = xml.getLastChild(); + final Object xmlx = xml.getLastChild(); jc.set("x", xmlx); final String y = "456"; jc.set("y", y); diff --git a/src/test/java/org/apache/commons/jexl3/CaptureLog.java b/src/test/java/org/apache/commons/jexl3/CaptureLog.java index 1fd370d7..6b45a2c5 100644 --- a/src/test/java/org/apache/commons/jexl3/CaptureLog.java +++ b/src/test/java/org/apache/commons/jexl3/CaptureLog.java @@ -53,7 +53,7 @@ public class CaptureLog implements Log { public List<String> getCapturedMessages() { return captured.stream() .map(a -> a[2]) - .filter(o -> o instanceof String) + .filter(String.class::isInstance) .map(o -> (String) o).collect(Collectors.toList()); } diff --git a/src/test/java/org/apache/commons/jexl3/ExceptionTest.java b/src/test/java/org/apache/commons/jexl3/ExceptionTest.java index 171dc6d1..a3d5680f 100644 --- a/src/test/java/org/apache/commons/jexl3/ExceptionTest.java +++ b/src/test/java/org/apache/commons/jexl3/ExceptionTest.java @@ -207,7 +207,7 @@ class ExceptionTest extends JexlTestCase { * @param debug if true/false, debug mode is on/off * @param silent if true/false, silent mode is on/off */ - private static void runWrappedEx(boolean debug, boolean silent) { + private static void runWrappedEx(final boolean debug, final boolean silent) { final CaptureLog log = new CaptureLog(); final JexlBuilder builder = new JexlBuilder().safe(false).strict(true) .logger(log).debug(debug).silent(silent); @@ -215,7 +215,7 @@ class ExceptionTest extends JexlTestCase { final JexlContext jc = new ObjectContext<>(jexl, new ThrowNPE()); callWrappedEx(debug, silent, log, () -> jexl.createExpression("npe()").evaluate(jc)); callWrappedEx(debug, silent, log, () -> jexl.newInstance(ConstructNPE.class)); - ThrowNPE npe = new ThrowNPE(); + final ThrowNPE npe = new ThrowNPE(); callWrappedEx(debug, silent, log, () -> jexl.invokeMethod(npe, "npe")); // side effect to set failure in getter coming next callWrappedEx(debug, silent, log, () -> { @@ -231,7 +231,7 @@ class ExceptionTest extends JexlTestCase { * @param silent if true/false, silent mode is on/off * @param npeCall the NPE throwing call */ - private static void callWrappedEx(boolean debug, boolean silent, CaptureLog log, Supplier<Object> npeCall) { + private static void callWrappedEx(final boolean debug, final boolean silent, final CaptureLog log, final Supplier<Object> npeCall) { try { npeCall.get(); if (!silent) { @@ -239,7 +239,7 @@ class ExceptionTest extends JexlTestCase { } else { // in silent mode, ensure a log was captured assertEquals(1, log.count("warn"), "should have 1 warn log"); - String msg = log.getCapturedMessages().get(0); + final String msg = log.getCapturedMessages().get(0); assertEquals(debug, msg.contains("runWrappedEx"), "class/method/line?"); log.clear(); } diff --git a/src/test/java/org/apache/commons/jexl3/Issues100Test.java b/src/test/java/org/apache/commons/jexl3/Issues100Test.java index 0ccc7da1..ac445ead 100644 --- a/src/test/java/org/apache/commons/jexl3/Issues100Test.java +++ b/src/test/java/org/apache/commons/jexl3/Issues100Test.java @@ -79,10 +79,7 @@ class Issues100Test extends JexlTestCase { } public Object and(final String lhs, final String rhs) { - if (rhs.isEmpty()) { - return ""; - } - if (lhs.isEmpty()) { + if (rhs.isEmpty() || lhs.isEmpty()) { return ""; } return lhs + rhs; diff --git a/src/test/java/org/apache/commons/jexl3/Issues400Test.java b/src/test/java/org/apache/commons/jexl3/Issues400Test.java index 96dd483c..d57805b5 100644 --- a/src/test/java/org/apache/commons/jexl3/Issues400Test.java +++ b/src/test/java/org/apache/commons/jexl3/Issues400Test.java @@ -827,7 +827,7 @@ public class Issues400Test { final JexlScript script = jexl.createScript(src, "a", "b"); final Object result = script.execute(null, "a", "b"); assertEquals("a\n?= ba\n?== b", result); - String[] locals = script.getLocalVariables(); + final String[] locals = script.getLocalVariables(); assertArrayEquals(new String[]{"c", "foo"}, locals); final String TEST447 = "src/test/scripts/test447.jexl"; final File src447 = new File(TEST447); @@ -842,12 +842,11 @@ public class Issues400Test { public static class BrkContext extends MapContext { public BrkContext() { - super(); set("SYSTEM", System.class); set("UNRESTRICTED", UNRESTRICTED); } - public static Object brk(Object debug) { + public static Object brk(final Object debug) { return debug; } @@ -855,13 +854,13 @@ public class Issues400Test { @Test void test450a() { - JexlEngine jexl0 = new JexlBuilder().silent(false).permissions(JexlPermissions.RESTRICTED).create(); + final JexlEngine jexl0 = new JexlBuilder().silent(false).permissions(JexlPermissions.RESTRICTED).create(); assertThrows(JexlException.Method.class, () -> jexl0.newInstance("org.apache.commons.jexl3.internal.introspection.Uberspect", null, null), "should not be able to create Uberspect with RESTRICTED"); - JexlPermissions perm = new JexlPermissions.ClassPermissions( + final JexlPermissions perm = new JexlPermissions.ClassPermissions( org.apache.commons.jexl3.internal.introspection.Uberspect.class); - JexlEngine jexl1 = new JexlBuilder().silent(false).permissions(perm).create(); + final JexlEngine jexl1 = new JexlBuilder().silent(false).permissions(perm).create(); assertNotNull(jexl1.newInstance( "org.apache.commons.jexl3.internal.introspection.Uberspect", null, null), "should able to create Uberspect with Uberspect permission"); @@ -874,13 +873,13 @@ public class Issues400Test { assertThrows(JexlException.Method.class, () -> run450b(JexlPermissions.RESTRICTED), "should not be able to load System with RESTRICTED"); // can load System.exit with UNRESTRICTED - Method exitMethod = java.lang.System.class.getMethod("exit", int.class); + final Method exitMethod = java.lang.System.class.getMethod("exit", int.class); assertTrue(UNRESTRICTED.allow(exitMethod)); assertFalse(RESTRICTED.allow(exitMethod)); assertEquals(java.lang.System.class, run450b(UNRESTRICTED)); // need to explicitly allow Uberspect and the current class loader to load System - Class<? extends ClassLoader> cloader = getClass().getClassLoader().getClass(); - JexlPermissions perm = new JexlPermissions.ClassPermissions( + final Class<? extends ClassLoader> cloader = getClass().getClassLoader().getClass(); + final JexlPermissions perm = new JexlPermissions.ClassPermissions( getClass().getClassLoader().getClass(), org.apache.commons.jexl3.internal.introspection.Uberspect.class); assertTrue(perm.allow(cloader), "should be able to access ClassLoader"); @@ -888,11 +887,11 @@ public class Issues400Test { assertEquals(java.lang.System.class, run450b(perm)); } - private static Object run450b(JexlPermissions perm) { - JexlEngine jexl = new JexlBuilder().safe(false).strict(true).silent(false).permissions(perm).create(); - String uscript = "new('org.apache.commons.jexl3.internal.introspection.Uberspect', " + private static Object run450b(final JexlPermissions perm) { + final JexlEngine jexl = new JexlBuilder().safe(false).strict(true).silent(false).permissions(perm).create(); + final String uscript = "new('org.apache.commons.jexl3.internal.introspection.Uberspect', " + "null, null, perm).getClassLoader().loadClass('java.lang.System')"; - JexlScript u0 = jexl.createScript(uscript, "perm"); + final JexlScript u0 = jexl.createScript(uscript, "perm"); return u0.execute(null, perm); } @@ -902,7 +901,7 @@ public class Issues400Test { assertNotNull(run450c(UNRESTRICTED)); // need explicit permissions to ClassPermissions and Uberspect to reach and invoke // System::currentTimeMillis - JexlPermissions perm = new JexlPermissions.ClassPermissions( + final JexlPermissions perm = new JexlPermissions.ClassPermissions( getClass().getClassLoader().getClass(), JexlPermissions.ClassPermissions.class, org.apache.commons.jexl3.internal.introspection.Uberspect.class, @@ -914,9 +913,9 @@ public class Issues400Test { "should not be able to load System with RESTRICTED"); } - private static Object run450c(JexlPermissions perm) { - JexlBuilder builder = new JexlBuilder().silent(false).permissions(perm); - Object result = new TemplateEngine(new Engine32(builder), false, 2, '$', '#') + private static Object run450c(final JexlPermissions perm) { + final JexlBuilder builder = new JexlBuilder().silent(false).permissions(perm); + final Object result = new TemplateEngine(new Engine32(builder), false, 2, '$', '#') .createExpression( "${x = new ('org.apache.commons.jexl3.internal.introspection.Uberspect', " + "null, null, UNRESTRICTED);" @@ -930,8 +929,8 @@ public class Issues400Test { @Test void test450() throws Exception { - JexlPermissions perms = Engine33.createPermissions(); - Class<? extends ClassLoader> cl = Issues400Test.class.getClassLoader().getClass(); + final JexlPermissions perms = Engine33.createPermissions(); + final Class<? extends ClassLoader> cl = Issues400Test.class.getClassLoader().getClass(); assertTrue(perms.allow(cl, cl.getMethod("loadClass", String.class)), "should be able to access ClassLoader::loadClass with specific permissions"); assertNotNull(run450(JexlPermissions.UNRESTRICTED), @@ -949,7 +948,7 @@ public class Issues400Test { this(createBuilder()); } - public Engine33(JexlBuilder builder) { + public Engine33(final JexlBuilder builder) { super(builder); } @@ -964,15 +963,15 @@ public class Issues400Test { } static JexlBuilder createBuilder() { - JexlPermissions perm = createPermissions(); + final JexlPermissions perm = createPermissions(); return new JexlBuilder().safe(false).silent(false).permissions(perm); } } - private static Object run450(JexlPermissions perm) { - JexlEngine jexl = new JexlBuilder().silent(false).strict(true).safe(false) + private static Object run450(final JexlPermissions perm) { + final JexlEngine jexl = new JexlBuilder().silent(false).strict(true).safe(false) .permissions(perm).create(); - String script = "new('org.apache.commons.jexl3.internal.TemplateEngine'," + final String script = "new('org.apache.commons.jexl3.internal.TemplateEngine'," + "new('org.apache.commons.jexl3.Issues400Test$Engine33'),false,256," + "'$'.charAt(0),'#'.charAt(0))" + ".createExpression(" @@ -987,11 +986,11 @@ public class Issues400Test { @Test void test451() throws NoSuchMethodException { - JexlEngine jexl = new JexlBuilder().create(); + final JexlEngine jexl = new JexlBuilder().create(); assertEquals("42", jexl.createScript("o.toString()", "o").execute(null, "42")); - JexlPermissions perms = RESTRICTED.compose("java.lang { +Class { getSimpleName(); } }"); + final JexlPermissions perms = RESTRICTED.compose("java.lang { +Class { getSimpleName(); } }"); assertTrue(perms.allow(String.class.getMethod("toString"))); - JexlSandbox sandbox = new JexlSandbox(false, true); + final JexlSandbox sandbox = new JexlSandbox(false, true); sandbox.permissions(Object.class.getName(), true, true, false, false); sandbox.allow(String.class.getName()).execute("toString"); final JexlEngine jexl451 = new JexlBuilder().safe(false).silent(false).permissions(perms).sandbox(sandbox).create(); @@ -1011,20 +1010,20 @@ public class Issues400Test { @Test void testIssue455a() { final JexlEngine jexl = new JexlBuilder().create(); - String code = "name -> `${name +\n\t\f\r name}`"; - JexlScript script = jexl.createScript(code); - Object o = script.execute(null, "Hello"); - String ctl = "HelloHello"; + final String code = "name -> `${name +\n\t\f\r name}`"; + final JexlScript script = jexl.createScript(code); + final Object o = script.execute(null, "Hello"); + final String ctl = "HelloHello"; assertEquals(ctl, o); } @Test void testIssue455b() { final JexlEngine jexl = new JexlBuilder().create(); - String code = "name -> `${name}\n${name}`;"; - JexlScript script = jexl.createScript(code); - Object o = script.execute(null, "Hello"); - String ctl = "Hello\nHello"; + final String code = "name -> `${name}\n${name}`;"; + final JexlScript script = jexl.createScript(code); + final Object o = script.execute(null, "Hello"); + final String ctl = "Hello\nHello"; assertEquals(ctl, o); } @@ -1044,10 +1043,10 @@ public class Issues400Test { void testIssue455d() { final JexlEngine jexl = new JexlBuilder().create(); // 'ref' contains 'greeting' which is the name of the variable to expand - String code = "`#{${\nref\t}}\n#{${\rref\f}}`;"; - JexlScript script = jexl.createScript(code, "ref", "greeting"); - Object o = script.execute(null, "greeting", "Hello"); - String ctl = "Hello\nHello"; + final String code = "`#{${\nref\t}}\n#{${\rref\f}}`;"; + final JexlScript script = jexl.createScript(code, "ref", "greeting"); + final Object o = script.execute(null, "greeting", "Hello"); + final String ctl = "Hello\nHello"; assertEquals(ctl, o); } @@ -1121,7 +1120,7 @@ public class Issues400Test { @Test void testIssue456d() { // add a '$$' global context variable - JexlContext ctxt = new MapContext(); + final JexlContext ctxt = new MapContext(); ctxt.set("$$", ""); final JexlFeatures features = JexlFeatures.createDefault().ignoreTemplatePrefix(true); assertNotNull(run456( @@ -1129,7 +1128,7 @@ public class Issues400Test { features, ctxt)); } - JxltEngine run456(Function<JexlFeatures, JexlEngine> engineFactory, JexlFeatures features, JexlContext ctxt) { + JxltEngine run456(final Function<JexlFeatures, JexlEngine> engineFactory, final JexlFeatures features, final JexlContext ctxt) { final JexlEngine jexl = engineFactory.apply(features); final JxltEngine jxlt = jexl.createJxltEngine(); // creation/parse is OK @@ -1149,7 +1148,7 @@ public class Issues400Test { try { jxlt.createTemplate("$$ var foo = 'foo'; if (true) { var foo = 'bar'; var err =&; }"); fail("should have thrown a parsing error in '&'"); - } catch (JexlException xjexl) { + } catch (final JexlException xjexl) { // parsing error in '&' assertTrue(xjexl.getMessage().contains("&")); } @@ -1170,7 +1169,7 @@ public class Issues400Test { try { jxlt.createTemplate("$$ var err =&;"); fail("should have thrown a parsing error in '&'"); - } catch (JexlException xjexl) { + } catch (final JexlException xjexl) { // parsing error in '&' assertTrue(xjexl.getMessage().contains("&")); } @@ -1186,38 +1185,38 @@ public class Issues400Test { @Test void test459() { - CaptureLog capture = new CaptureLog("test459"); + final CaptureLog capture = new CaptureLog("test459"); final JexlBuilder builder = new JexlBuilder().logger(capture).safe(true).strict(false).silent(true); final JexlEngine jexl = builder.create(); - Object[] expected = { true, true, 0, 0 }; - String[] expressions = { + final Object[] expected = { true, true, 0, 0 }; + final String[] expressions = { "empty('aaa'.substring(400,500))", "empty('aaa'.substring(-1, 2))", "size('aaa'.substring(400,500))", "size('aaa'.substring(-1, 2))", }; for (int i = 0; i < expressions.length; ++i) { - String expr = expressions[i]; - Object control = expected[i]; + final String expr = expressions[i]; + final Object control = expected[i]; capture.clear(); - JexlScript script = jexl.createScript(expr); - Object result = script.execute(null); + final JexlScript script = jexl.createScript(expr); + final Object result = script.execute(null); assertEquals(control, result); - List<String> errors = capture.getCapturedMessages(); + final List<String> errors = capture.getCapturedMessages(); assertEquals(1, capture.count("warn")); assertTrue(errors.stream().anyMatch(error -> error.contains("substring"))); } } public static class Namespace460 { - public static int func(int i) { + public static int func(final int i) { return i * 42; } } @Test void test460() { - JexlFeatures f = JexlFeatures.createDefault().namespaceIdentifier(true); + final JexlFeatures f = JexlFeatures.createDefault().namespaceIdentifier(true); final JexlEngine jexl = new JexlBuilder() .namespaces(Collections.singletonMap("z", Namespace460.class)) .features(f) diff --git a/src/test/java/org/apache/commons/jexl3/JXLTTest.java b/src/test/java/org/apache/commons/jexl3/JXLTTest.java index 803d1207..c384b523 100644 --- a/src/test/java/org/apache/commons/jexl3/JXLTTest.java +++ b/src/test/java/org/apache/commons/jexl3/JXLTTest.java @@ -148,7 +148,7 @@ class JXLTTest extends JexlTestCase { public static List<JexlBuilder> engines() { final JexlFeatures f = new JexlFeatures(); f.lexical(true).lexicalShade(true); - JexlPermissions permissions = JexlPermissions.RESTRICTED.compose("org.apache.commons.jexl3 +{ JXLTTest{} }"); + final JexlPermissions permissions = JexlPermissions.RESTRICTED.compose("org.apache.commons.jexl3 +{ JXLTTest{} }"); return Arrays.asList( new JexlBuilder().permissions(permissions).silent(false).lexical(true).lexicalShade(true).cache(128).strict(true), new JexlBuilder().permissions(permissions).features(f).silent(false).cache(128).strict(true), diff --git a/src/test/java/org/apache/commons/jexl3/LoggingPermissions.java b/src/test/java/org/apache/commons/jexl3/LoggingPermissions.java index b04d66c4..4c5f064d 100644 --- a/src/test/java/org/apache/commons/jexl3/LoggingPermissions.java +++ b/src/test/java/org/apache/commons/jexl3/LoggingPermissions.java @@ -35,21 +35,21 @@ public class LoggingPermissions extends JexlPermissions.Delegate { * * @param delegate the delegate. */ - public LoggingPermissions(JexlPermissions delegate) { + public LoggingPermissions(final JexlPermissions delegate) { super(delegate); } @Override - public boolean allow(Class<?> clazz) { - boolean allowed = super.allow(clazz); + public boolean allow(final Class<?> clazz) { + final boolean allowed = super.allow(clazz); logger.info(String.format("Class %s is %s", clazz.getCanonicalName(), allowed ? "allowed" : "denied")); return allowed; } @Override - public boolean allow(Constructor<?> ctor) { - boolean allowed = super.allow(ctor); + public boolean allow(final Constructor<?> ctor) { + final boolean allowed = super.allow(ctor); logger.info(String.format("Constructor %s.%s() is %s", ctor.getDeclaringClass().getCanonicalName(), ctor.getName(), allowed ? "allowed" : "denied")); @@ -57,8 +57,8 @@ public class LoggingPermissions extends JexlPermissions.Delegate { } @Override - public boolean allow(Field field) { - boolean allowed = super.allow(field); + public boolean allow(final Field field) { + final boolean allowed = super.allow(field); logger.info(String.format("Field %s.%s is %s", field.getDeclaringClass().getCanonicalName(), field.getName(), allowed ? "allowed" : "denied")); @@ -66,8 +66,8 @@ public class LoggingPermissions extends JexlPermissions.Delegate { } @Override - public boolean allow(Class<?> clazz, Field field) { - boolean allowed = super.allow(clazz, field); + public boolean allow(final Class<?> clazz, final Field field) { + final boolean allowed = super.allow(clazz, field); logger.info(String.format("Field %s.%s is %s for class %s", field.getDeclaringClass().getCanonicalName(), field.getName(), allowed ? "allowed" : "denied", clazz.getCanonicalName())); @@ -75,8 +75,8 @@ public class LoggingPermissions extends JexlPermissions.Delegate { } @Override - public boolean allow(Method method) { - boolean allowed = super.allow(method); + public boolean allow(final Method method) { + final boolean allowed = super.allow(method); logger.info(String.format("Method %s.%s() is %s", method.getDeclaringClass().getCanonicalName(), method.getName(), allowed ? "allowed" : "denied")); @@ -84,8 +84,8 @@ public class LoggingPermissions extends JexlPermissions.Delegate { } @Override - public boolean allow(Class<?> clazz, Method method) { - boolean allowed = super.allow(clazz, method); + public boolean allow(final Class<?> clazz, final Method method) { + final boolean allowed = super.allow(clazz, method); logger.info(String.format("Method %s.%s() is %s for class %s", method.getDeclaringClass().getCanonicalName(), method.getName(), allowed ? "allowed" : "denied", clazz.getCanonicalName())); diff --git a/src/test/java/org/apache/commons/jexl3/SwitchTest.java b/src/test/java/org/apache/commons/jexl3/SwitchTest.java index 3217da58..e310c026 100644 --- a/src/test/java/org/apache/commons/jexl3/SwitchTest.java +++ b/src/test/java/org/apache/commons/jexl3/SwitchTest.java @@ -261,7 +261,7 @@ public class SwitchTest extends JexlTestCase { @Test void testTryCatchFinally() { - JexlEngine jexl = new JexlBuilder().create(); + final JexlEngine jexl = new JexlBuilder().create(); final String src = "try { return 42 } catch(const xerror){} finally { return 169 }"; final JexlScript script = jexl.createScript(src); assertNotNull(script); diff --git a/src/test/java/org/apache/commons/jexl3/examples/StreamTest.java b/src/test/java/org/apache/commons/jexl3/examples/StreamTest.java index 810c941e..fd9c58f3 100644 --- a/src/test/java/org/apache/commons/jexl3/examples/StreamTest.java +++ b/src/test/java/org/apache/commons/jexl3/examples/StreamTest.java @@ -138,7 +138,7 @@ public class StreamTest { void testURICollection() throws Exception { Assertions.assertTrue(jexlPermissions.allow(java.net.URI.class)); Assertions.assertTrue(jexlPermissions.allow(java.util.stream.Stream.class)); - for (Method m : Arrays.stream(Stream.class.getMethods()).filter(m -> m.getName().equals("filter")).collect(Collectors.toSet())) { + for (final Method m : Arrays.stream(Stream.class.getMethods()).filter(m -> m.getName().equals("filter")).collect(Collectors.toSet())) { Assertions.assertTrue(jexlPermissions.allow(m)); } // A collection map/filter aware context @@ -177,7 +177,7 @@ public class StreamTest { @Test void testURIStream() throws Exception { - Assertions.assertTrue(jexlPermissions.allow(StreamContext.class.getMethod("filter", new Class[]{Stream.class, JexlScript.class}))); + Assertions.assertTrue(jexlPermissions.allow(StreamContext.class.getMethod("filter", Stream.class, JexlScript.class))); // Assume a collection of uris need to be processed and transformed to be simplified ; // we want only http/https ones, only the host part and using a https scheme diff --git a/src/test/java/org/apache/commons/jexl3/scripting/JexlScriptEngineTest.java b/src/test/java/org/apache/commons/jexl3/scripting/JexlScriptEngineTest.java index 5b60b3ac..8c9e9faf 100644 --- a/src/test/java/org/apache/commons/jexl3/scripting/JexlScriptEngineTest.java +++ b/src/test/java/org/apache/commons/jexl3/scripting/JexlScriptEngineTest.java @@ -145,7 +145,7 @@ class JexlScriptEngineTest { @Test void testErrors() throws Exception { - JexlPermissions permissions = new JexlPermissions.ClassPermissions(Errors.class); + final JexlPermissions permissions = new JexlPermissions.ClassPermissions(Errors.class); JexlScriptEngineFactory.setDefaultPermissions(permissions); final ScriptEngineManager manager = new ScriptEngineManager(); final JexlScriptEngine engine = (JexlScriptEngine) manager.getEngineByName("JEXL"); diff --git a/src/test/java/org/example/Pair.java b/src/test/java/org/example/Pair.java index ae690b48..d21f7629 100644 --- a/src/test/java/org/example/Pair.java +++ b/src/test/java/org/example/Pair.java @@ -23,16 +23,16 @@ public class Pair { public Object cdr; @NoJexl - public Pair(Object car, Object cdr) { + public Pair(final Object car, final Object cdr) { this.car = car; this.cdr = cdr; } - public static Pair cons(Number car, Number cdr) { + public static Pair cons(final Number car, final Number cdr) { return new Pair(car, cdr); } - public static Pair cons(Object car, Object cdr) { + public static Pair cons(final Object car, final Object cdr) { return new Pair(car, cdr); } }
