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

doebele pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/empire-db.git


The following commit(s) were added to refs/heads/master by this push:
     new 6e359ffd EMPIREDB-431 Simple code optimizations
6e359ffd is described below

commit 6e359ffd8f535983816b9e084ed1e36bffb7f6a6
Author: Rainer Döbele <[email protected]>
AuthorDate: Mon Nov 25 16:53:25 2024 +0100

    EMPIREDB-431
    Simple code optimizations
---
 .../org/apache/empire/jakarta/utils/TagStyleClass.java  |  7 ++++++-
 .../org/apache/empire/jsf2/utils/TagStyleClass.java     |  7 ++++++-
 .../main/java/org/apache/empire/commons/ArrayMap.java   |  6 ++++++
 .../main/java/org/apache/empire/commons/ClassUtils.java |  6 +++---
 .../java/org/apache/empire/commons/StringUtils.java     | 10 ++++------
 .../java/org/apache/empire/commons/StringUtilsTest.java | 17 +++++++++++++++++
 6 files changed, 42 insertions(+), 11 deletions(-)

diff --git 
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/utils/TagStyleClass.java
 
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/utils/TagStyleClass.java
index caeb0288..919afdd0 100644
--- 
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/utils/TagStyleClass.java
+++ 
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/utils/TagStyleClass.java
@@ -82,8 +82,10 @@ public enum TagStyleClass
 
     private static final int find(String styleClasses, String styleClassName, 
int fromIdx)
     {
+        if (styleClasses==null)
+            return -1;
         // find
-        int idx = (styleClasses!=null ? styleClasses.indexOf(styleClassName, 
fromIdx) : -1);
+        int idx = styleClasses.indexOf(styleClassName, fromIdx);
         if (idx<0)
             return -1;
         // starts with space?
@@ -137,6 +139,9 @@ public enum TagStyleClass
     
     public static final String removeFrom(String styleClasses, String 
styleClassName)
     {
+        // Check name
+        if (styleClassName==null)
+            return styleClasses;
         // find
         int idx = find(styleClasses, styleClassName, 0);
         if (idx<0)
diff --git 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagStyleClass.java 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagStyleClass.java
index 7a1d8053..062f3ce8 100644
--- 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagStyleClass.java
+++ 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagStyleClass.java
@@ -82,8 +82,10 @@ public enum TagStyleClass
 
     private static final int find(String styleClasses, String styleClassName, 
int fromIdx)
     {
+        if (styleClasses==null)
+            return -1;
         // find
-        int idx = (styleClasses!=null ? styleClasses.indexOf(styleClassName, 
fromIdx) : -1);
+        int idx = styleClasses.indexOf(styleClassName, fromIdx);
         if (idx<0)
             return -1;
         // starts with space?
@@ -137,6 +139,9 @@ public enum TagStyleClass
     
     public static final String removeFrom(String styleClasses, String 
styleClassName)
     {
+        // Check name
+        if (styleClassName==null)
+            return styleClasses;
         // find
         int idx = find(styleClasses, styleClassName, 0);
         if (idx<0)
diff --git a/empire-db/src/main/java/org/apache/empire/commons/ArrayMap.java 
b/empire-db/src/main/java/org/apache/empire/commons/ArrayMap.java
index 309c463a..2fadc332 100644
--- a/empire-db/src/main/java/org/apache/empire/commons/ArrayMap.java
+++ b/empire-db/src/main/java/org/apache/empire/commons/ArrayMap.java
@@ -63,6 +63,12 @@ public class ArrayMap<K,V> extends AbstractMap<K,V>
             return prev;
         }
         
+        @Override
+        public int hashCode()
+        {
+            return (key!=null ? key.hashCode() : 0);
+        }
+        
         @Override
         public boolean equals(Object obj)
         {
diff --git a/empire-db/src/main/java/org/apache/empire/commons/ClassUtils.java 
b/empire-db/src/main/java/org/apache/empire/commons/ClassUtils.java
index 4dea6ecc..8887ba41 100644
--- a/empire-db/src/main/java/org/apache/empire/commons/ClassUtils.java
+++ b/empire-db/src/main/java/org/apache/empire/commons/ClassUtils.java
@@ -344,9 +344,9 @@ public final class ClassUtils
         }
         catch (NoSuchFieldException e)
         {   // try superclass
-            clazz = clazz.getSuperclass();
-            if (clazz!=null && !clazz.equals(java.lang.Object.class)) {
-                setPrivateFieldValue(clazz, object, property, value);
+            Class<?> superClass = clazz.getSuperclass();
+            if (superClass!=null && 
!superClass.equals(java.lang.Object.class)) {
+                setPrivateFieldValue(superClass, object, property, value);
                 return;
             }
             // not found
diff --git a/empire-db/src/main/java/org/apache/empire/commons/StringUtils.java 
b/empire-db/src/main/java/org/apache/empire/commons/StringUtils.java
index 92115830..332728da 100644
--- a/empire-db/src/main/java/org/apache/empire/commons/StringUtils.java
+++ b/empire-db/src/main/java/org/apache/empire/commons/StringUtils.java
@@ -684,11 +684,11 @@ public class StringUtils
      */
     public static boolean compareEqual(String s1, String s2, boolean 
ignoreCase)
     {
-        if (s1==null || s2==null)
-            return (s1==s2);
         // Empty
-        if (isEmpty(s1) && isEmpty(s2))
-            return true;
+        if (isEmpty(s1))
+            return isEmpty(s2);
+        else if (isEmpty(s2))
+            return false;
         // Compare 
         return (ignoreCase) ? s1.equalsIgnoreCase(s2) : s1.equals(s2);
     }
@@ -701,8 +701,6 @@ public class StringUtils
      */
     public static boolean compareEqual(String s1, String s2)
     {
-        if (s1==s2)
-            return true;
         // Empty
         if (isEmpty(s1))
             return isEmpty(s2);
diff --git 
a/empire-db/src/test/java/org/apache/empire/commons/StringUtilsTest.java 
b/empire-db/src/test/java/org/apache/empire/commons/StringUtilsTest.java
index 7f052e16..862a2c07 100644
--- a/empire-db/src/test/java/org/apache/empire/commons/StringUtilsTest.java
+++ b/empire-db/src/test/java/org/apache/empire/commons/StringUtilsTest.java
@@ -263,6 +263,23 @@ public class StringUtilsTest
                assertEquals("azerty\r\n\tazerty", StringUtils.validate(" \r 
azerty\r\n\tazerty\t "));
        }
 
+    @Test
+    public void testCompareEqual()
+    {
+        assertTrue(StringUtils.compareEqual(null, null));
+        assertTrue(StringUtils.compareEqual(null, ""));
+        assertTrue(StringUtils.compareEqual("", null));
+        assertTrue(StringUtils.compareEqual(" ", ""));
+        assertTrue(StringUtils.compareEqual(null, "\t\r\n"));
+        assertTrue(StringUtils.compareEqual("\t", " "));
+        assertTrue(StringUtils.compareEqual(" ", "    "));
+        assertTrue(StringUtils.compareEqual("", null, true));
+        assertTrue(StringUtils.compareEqual("a", "A", true));
+        
+        assertFalse(StringUtils.compareEqual(" ", "  -  "));
+        assertFalse(StringUtils.compareEqual(null, "_"));
+    }
+
        @Test
        public void testReplace()
        {

Reply via email to