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()
{