This is an automated email from the ASF dual-hosted git repository.

kusal pushed a commit to branch WW-5339-cleanup
in repository https://gitbox.apache.org/repos/asf/struts.git


The following commit(s) were added to refs/heads/WW-5339-cleanup by this push:
     new 2b70b024b WW-5339 Misc clean up in CompoundRootAccessor
2b70b024b is described below

commit 2b70b024bd3297583c4aa45474024d21c39de866
Author: Kusal Kithul-Godage <g...@kusal.io>
AuthorDate: Mon Aug 28 13:42:41 2023 +1000

    WW-5339 Misc clean up in CompoundRootAccessor
---
 .../xwork2/ognl/accessor/CompoundRootAccessor.java | 47 ++++++++++++++--------
 1 file changed, 31 insertions(+), 16 deletions(-)

diff --git 
a/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/CompoundRootAccessor.java
 
b/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/CompoundRootAccessor.java
index 8d83e3331..25bedba66 100644
--- 
a/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/CompoundRootAccessor.java
+++ 
b/core/src/main/java/com/opensymphony/xwork2/ognl/accessor/CompoundRootAccessor.java
@@ -22,7 +22,15 @@ import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.ognl.OgnlValueStack;
 import com.opensymphony.xwork2.util.CompoundRoot;
 import com.opensymphony.xwork2.util.ValueStack;
-import ognl.*;
+import ognl.ClassResolver;
+import ognl.MethodAccessor;
+import ognl.MethodFailedException;
+import ognl.NoSuchPropertyException;
+import ognl.Ognl;
+import ognl.OgnlContext;
+import ognl.OgnlException;
+import ognl.OgnlRuntime;
+import ognl.PropertyAccessor;
 import org.apache.commons.lang3.BooleanUtils;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
@@ -31,7 +39,12 @@ import org.apache.struts2.StrutsException;
 
 import java.beans.IntrospectionException;
 import java.beans.PropertyDescriptor;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Map;
+import java.util.Set;
+import java.util.SortedSet;
+import java.util.TreeSet;
 import java.util.concurrent.ConcurrentHashMap;
 
 import static java.lang.String.format;
@@ -62,7 +75,7 @@ public class CompoundRootAccessor implements 
PropertyAccessor, MethodAccessor, C
 
     private final static Logger LOG = 
LogManager.getLogger(CompoundRootAccessor.class);
     private final static Class[] EMPTY_CLASS_ARRAY = new Class[0];
-    private static Map<MethodCall, Boolean> invalidMethods = new 
ConcurrentHashMap<>();
+    private static final Map<MethodCall, Boolean> invalidMethods = new 
ConcurrentHashMap<>();
     private boolean devMode;
 
     @Inject(StrutsConstants.STRUTS_DEVMODE)
@@ -127,7 +140,7 @@ public class CompoundRootAccessor implements 
PropertyAccessor, MethodAccessor, C
             return root.cutStack(index);
         } else if (name instanceof String) {
             if ("top".equals(name)) {
-                if (root.size() > 0) {
+                if (!root.isEmpty()) {
                     return root.get(0);
                 } else {
                     return null;
@@ -190,26 +203,23 @@ public class CompoundRootAccessor implements 
PropertyAccessor, MethodAccessor, C
                 }
 
                 SortedSet<String> set = new TreeSet<>();
-                StringBuffer sb = new StringBuffer();
-                for (PropertyDescriptor pd : descriptors.values()) {
 
+                for (PropertyDescriptor pd : descriptors.values()) {
+                    StringBuilder sb = new StringBuilder();
                     sb.append(pd.getName()).append(": ");
+
                     int padding = maxSize - pd.getName().length();
                     for (int i = 0; i < padding; i++) {
                         sb.append(" ");
                     }
                     sb.append(pd.getPropertyType().getName());
                     set.add(sb.toString());
-
-                    sb = new StringBuffer();
                 }
 
-                sb = new StringBuffer();
-                for (Object aSet : set) {
-                    String s = (String) aSet;
-                    sb.append(s).append("\n");
+                StringBuilder sb = new StringBuilder();
+                for (String aSet : set) {
+                    sb.append(aSet).append("\n");
                 }
-
                 return sb.toString();
             } catch (IntrospectionException | OgnlException e) {
                 LOG.debug("Got exception in callMethod", e);
@@ -321,9 +331,14 @@ public class CompoundRootAccessor implements 
PropertyAccessor, MethodAccessor, C
 
         @Override
         public boolean equals(Object obj) {
-            MethodCall mc = (CompoundRootAccessor.MethodCall) obj;
-
-            return (mc.clazz.equals(clazz) && mc.name.equals(name) && 
Arrays.equals(mc.args, args));
+            if (this == obj) {
+                return true;
+            }
+            if (!(obj instanceof MethodCall)) {
+                return false;
+            }
+            MethodCall mc = (MethodCall) obj;
+            return mc.clazz.equals(clazz) && mc.name.equals(name) && 
Arrays.equals(mc.args, args);
         }
 
         @Override

Reply via email to