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 2022/07/01 13:24:51 UTC

[commons-jexl] branch master updated: JEXL: minor refactors, toArray(...0), templates,...

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 c41405db JEXL: minor refactors, toArray(...0), templates,...
c41405db is described below

commit c41405dbd49f1d083a8b40b0f003b2c292415cef
Author: henrib <he...@apache.org>
AuthorDate: Fri Jul 1 15:24:42 2022 +0200

    JEXL: minor refactors, toArray(...0), templates,...
---
 .../org/apache/commons/jexl3/JexlException.java    |  3 ++-
 .../commons/jexl3/internal/TemplateEngine.java     |  2 +-
 .../commons/jexl3/internal/TemplateScript.java     |  4 +--
 .../jexl3/internal/introspection/ClassMap.java     |  6 ++---
 .../jexl3/internal/introspection/Introspector.java |  2 +-
 .../commons/jexl3/scripting/JexlScriptEngine.java  |  4 +--
 .../commons/jexl3/jexl342/OptionalArithmetic.java  | 30 ++++++++++++++++++++++
 7 files changed, 41 insertions(+), 10 deletions(-)

diff --git a/src/main/java/org/apache/commons/jexl3/JexlException.java b/src/main/java/org/apache/commons/jexl3/JexlException.java
index 573bc755..a683596f 100644
--- a/src/main/java/org/apache/commons/jexl3/JexlException.java
+++ b/src/main/java/org/apache/commons/jexl3/JexlException.java
@@ -193,7 +193,7 @@ public class JexlException extends RuntimeException {
                     stackJexl.add(se);
                 }
             }
-            xthrow.setStackTrace(stackJexl.toArray(new StackTraceElement[stackJexl.size()]));
+            xthrow.setStackTrace(stackJexl.toArray(new StackTraceElement[0]));
         }
         return xthrow;
     }
@@ -631,6 +631,7 @@ public class JexlException extends RuntimeException {
         public Property(final JexlNode node, final String pty) {
             this(node, pty, true, null);
         }
+
         /**
          * Creates a new Property exception instance.
          *
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 3c9bf998..ca0e8e3d 100644
--- a/src/main/java/org/apache/commons/jexl3/internal/TemplateEngine.java
+++ b/src/main/java/org/apache/commons/jexl3/internal/TemplateEngine.java
@@ -605,7 +605,7 @@ public final class TemplateEngine extends JxltEngine {
          */
         CompositeExpression(final int[] counters, final List<TemplateExpression> list, final TemplateExpression src) {
             super(src);
-            this.exprs = list.toArray(new TemplateExpression[list.size()]);
+            this.exprs = list.toArray(new TemplateExpression[0]);
             this.meta = (counters[ExpressionType.DEFERRED.getIndex()] > 0 ? 2 : 0)
                     | (counters[ExpressionType.IMMEDIATE.getIndex()] > 0 ? 1 : 0);
         }
diff --git a/src/main/java/org/apache/commons/jexl3/internal/TemplateScript.java b/src/main/java/org/apache/commons/jexl3/internal/TemplateScript.java
index f71ca518..9c8b9ea3 100644
--- a/src/main/java/org/apache/commons/jexl3/internal/TemplateScript.java
+++ b/src/main/java/org/apache/commons/jexl3/internal/TemplateScript.java
@@ -146,8 +146,8 @@ public final class TemplateScript implements JxltEngine.Template {
                 jpe += 1;
             }
         }
-        source = blocks.toArray(new Block[blocks.size()]);
-        exprs = uexprs.toArray(new TemplateExpression[uexprs.size()]);
+        source = blocks.toArray(new Block[0]);
+        exprs = uexprs.toArray(new TemplateExpression[0]);
     }
 
     /**
diff --git a/src/main/java/org/apache/commons/jexl3/internal/introspection/ClassMap.java b/src/main/java/org/apache/commons/jexl3/internal/introspection/ClassMap.java
index 7e36ce9a..2be0b0f4 100644
--- a/src/main/java/org/apache/commons/jexl3/internal/introspection/ClassMap.java
+++ b/src/main/java/org/apache/commons/jexl3/internal/introspection/ClassMap.java
@@ -164,7 +164,7 @@ final class ClassMap {
      * @return the array of field names
      */
     String[] getFieldNames() {
-        return fieldCache.keySet().toArray(new String[fieldCache.size()]);
+        return fieldCache.keySet().toArray(new String[0]);
     }
 
     /**
@@ -173,7 +173,7 @@ final class ClassMap {
      * @return the array of method names
      */
     String[] getMethodNames() {
-        return byName.keySet().toArray(new String[byName.size()]);
+        return byName.keySet().toArray(new String[0]);
     }
 
     /**
@@ -282,7 +282,7 @@ final class ClassMap {
                     }
                     end += 1;
                 }
-                final Method[] lmn = lm.subList(start, end).toArray(new Method[end - start]);
+                final Method[] lmn = lm.subList(start, end).toArray(new Method[0]);
                 cache.byName.put(name, lmn);
                 start = end;
             }
diff --git a/src/main/java/org/apache/commons/jexl3/internal/introspection/Introspector.java b/src/main/java/org/apache/commons/jexl3/internal/introspection/Introspector.java
index 08b5290d..ba7a5bc5 100644
--- a/src/main/java/org/apache/commons/jexl3/internal/introspection/Introspector.java
+++ b/src/main/java/org/apache/commons/jexl3/internal/introspection/Introspector.java
@@ -267,7 +267,7 @@ public final class Introspector {
                     }
                 }
                 // try to find one
-                ctor = key.getMostSpecificConstructor(l.toArray(new Constructor<?>[l.size()]));
+                ctor = key.getMostSpecificConstructor(l.toArray(new Constructor<?>[0]));
                 if (ctor != null) {
                     constructorsMap.put(key, ctor);
                 } else {
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 a8eaa426..e1845974 100644
--- a/src/main/java/org/apache/commons/jexl3/scripting/JexlScriptEngine.java
+++ b/src/main/java/org/apache/commons/jexl3/scripting/JexlScriptEngine.java
@@ -307,7 +307,7 @@ public class JexlScriptEngine extends AbstractScriptEngine implements Compilable
         private FactorySingletonHolder() {}
 
         /** The engine factory singleton instance. */
-        private static final JexlScriptEngineFactory DEFAULT_FACTORY = new JexlScriptEngineFactory();
+        static final JexlScriptEngineFactory DEFAULT_FACTORY = new JexlScriptEngineFactory();
     }
 
     /**
@@ -319,7 +319,7 @@ public class JexlScriptEngine extends AbstractScriptEngine implements Compilable
         private EngineSingletonHolder() {}
 
         /** The JEXL engine singleton instance. */
-        private static final JexlEngine DEFAULT_ENGINE = new JexlBuilder().logger(LOG).cache(CACHE_SIZE).create();
+        static final JexlEngine DEFAULT_ENGINE = new JexlBuilder().logger(LOG).cache(CACHE_SIZE).create();
     }
 
     /**
diff --git a/src/test/java/org/apache/commons/jexl3/jexl342/OptionalArithmetic.java b/src/test/java/org/apache/commons/jexl3/jexl342/OptionalArithmetic.java
index dcb11914..9bce162c 100644
--- a/src/test/java/org/apache/commons/jexl3/jexl342/OptionalArithmetic.java
+++ b/src/test/java/org/apache/commons/jexl3/jexl342/OptionalArithmetic.java
@@ -228,4 +228,34 @@ public class OptionalArithmetic extends JexlArithmetic {
         }
         return narrowed;
     }
+
+    @Override
+    public ArrayBuilder arrayBuilder(final int size) {
+        return new org.apache.commons.jexl3.internal.ArrayBuilder(size) {
+            @Override
+            public void add(Object value) {
+                super.add(star(value));
+            }
+        };
+    }
+
+    @Override
+    public SetBuilder setBuilder(final int size) {
+        return new org.apache.commons.jexl3.internal.SetBuilder(size) {
+            @Override
+            public void add(Object value) {
+                super.add(star(value));
+            }
+        };
+    }
+
+    @Override
+    public MapBuilder mapBuilder(final int size) {
+        return new org.apache.commons.jexl3.internal.MapBuilder(size) {
+            @Override
+            public void put(Object key, Object value) {
+                super.put(key, star(value));
+            }
+        };
+    }
 }