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 f70e68e3 EMPIREDB-420 StringUtils again
f70e68e3 is described below
commit f70e68e3a4d2519d79bbfd862992227473a386b0
Author: Rainer Döbele <[email protected]>
AuthorDate: Mon Apr 22 22:16:40 2024 +0200
EMPIREDB-420
StringUtils again
---
.../empire/jsf2/utils/TagEncodingHelper.java | 7 ++-
.../org/apache/empire/commons/StringUtils.java | 50 ++++++++++++++--------
.../org/apache/empire/commons/StringUtilsTest.java | 18 +++++---
3 files changed, 49 insertions(+), 26 deletions(-)
diff --git
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagEncodingHelper.java
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagEncodingHelper.java
index 1901974c..89b338b3 100644
---
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagEncodingHelper.java
+++
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagEncodingHelper.java
@@ -1554,10 +1554,15 @@ public class TagEncodingHelper implements
NamingContainer
writeComponentId(writer, false);
// style class
String wrapCtxClass = (renderValue ? "eWrapVal" : "eWrapInp");
- writeStyleClass(writer, wrapCtxClass, StringUtils.nullIf(wrapperClass,
'-'));
+ writeStyleClass(writer, wrapCtxClass, nullIf(wrapperClass, '-'));
// return tagName
return tagName;
}
+
+ protected String nullIf(String value, char nullChar)
+ {
+ return (value==null || value.length()==0 || (value.length()==1 &&
value.charAt(0)==nullChar) ? null : value);
+ }
/* ********************** FormGridTag ********************** */
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 c540ba49..d2f1caf7 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
@@ -125,18 +125,6 @@ public class StringUtils
return ((strval.length()==0) ? null : strval);
}
- /**
- * Returns null if the string supplied is null, an empty String or a
specific character
- *
- * @param value the value to check
- * @param nullChar the char that indicates null
- * @return null if the value supplied is null, an empty String or the
nullChar
- */
- public static String nullIf(String value, char nullChar)
- {
- return (value==null || value.length()==0 || (value.length()==1 &&
value.charAt(0)==nullChar) ? null : value);
- }
-
/**
* Returns true if the given substring is part of the string provided by
value
*
@@ -170,9 +158,10 @@ public class StringUtils
*
* @param array array of objects
* @param separator the separator to put between the object strings
+ * @param defValue the default item value
* @return returns a String
*/
- public static String arrayToString(Object[] array, String separator)
+ public static String arrayToString(Object[] array, String separator,
String defValue)
{
if (array == null || array.length < 1)
return null;
@@ -183,12 +172,24 @@ public class StringUtils
{
if (i>0 && separator!=null)
buf.append(separator);
- buf.append(toString(array[i], EMPTY));
+ buf.append(toString(array[i], defValue));
}
return buf.toString();
}
// Only one member
- return toString(array[0], EMPTY);
+ return toString(array[0], defValue);
+ }
+
+ /**
+ * Converts an array of objects to a string.
+ *
+ * @param array array of objects
+ * @param separator the separator to put between the object strings
+ * @return returns a String
+ */
+ public static String arrayToString(Object[] array, String separator)
+ {
+ return arrayToString(array, separator, NULL);
}
/**
@@ -196,9 +197,10 @@ public class StringUtils
*
* @param list the collection of objects
* @param separator the separator to put between the object strings
+ * @param defValue the default item value
* @return returns a String
*/
- public static String listToString(Collection<?> list, String separator)
+ public static String listToString(Collection<?> list, String separator,
String defValue)
{
if (list == null || list.isEmpty())
return null;
@@ -210,12 +212,24 @@ public class StringUtils
{
if (count++>0 && separator!=null)
buf.append(separator);
- buf.append(toString(item, EMPTY));
+ buf.append(toString(item, defValue));
}
return buf.toString();
}
// Only one member
- return toString(list.iterator().next(), EMPTY);
+ return toString(list.iterator().next(), defValue);
+ }
+
+ /**
+ * Converts a list (Collection) of objects to a string.
+ *
+ * @param list the collection of objects
+ * @param separator the separator to put between the object strings
+ * @return returns a String
+ */
+ public static String listToString(Collection<?> list, String separator)
+ {
+ return listToString(list, separator, NULL);
}
/**
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 ea4cb043..3cdeffe3 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
@@ -51,7 +51,7 @@ public class StringUtilsTest
assertEquals(null,StringUtils.toString((Object[])null, null));
assertEquals("default",StringUtils.toString((Object[])null,
"default"));
assertEquals("default",StringUtils.toString(new Number[]{},
"default"));
- assertEquals("",StringUtils.toString(new Number[]{null}, "default"));
+ assertEquals("null",StringUtils.toString(new Number[]{null},
"default"));
assertEquals("123",StringUtils.toString(new
Number[]{Integer.valueOf("123")}, "default"));
assertEquals("123|12.3",StringUtils.toString(new
Number[]{Integer.valueOf("123"), Double.valueOf("12.3")}, "default"));
}
@@ -62,13 +62,17 @@ public class StringUtilsTest
ArrayList<String> array = new ArrayList<String>();
assertEquals(null, StringUtils.toString(array, null));
array.add(null);
- assertEquals("", StringUtils.toString(array, null));
+ assertEquals("null", StringUtils.toString(array, null));
assertEquals("{null=empty}|{1=one}|{2=two}", StringUtils.toString(new
Options().add(null, "empty").add("1", "one").add("2", "two")));
array.add("end");
- assertEquals("|end",StringUtils.toString(array, "default"));
+ assertEquals("null|end",StringUtils.toString(array, "default"));
array.clear();
array.add("one");
assertEquals("one",StringUtils.toString(array, "default"));
+ array.add(null);
+ array.add("end");
+ assertEquals("one|null|end",StringUtils.toString(array, "default"));
+ assertEquals("one||end",StringUtils.listToString(array, "|",
StringUtils.EMPTY));
}
@Test
@@ -83,7 +87,7 @@ public class StringUtilsTest
public void testValueOfObject()
{
assertEquals("",StringUtils.valueOf((Object)null));
- assertEquals("[one|two]",StringUtils.valueOf(new String[] { "one",
"two" }));
+ assertEquals("one|two",StringUtils.valueOf(new String[] { "one", "two"
}));
assertEquals("",StringUtils.valueOf(""));
assertEquals("123",StringUtils.valueOf(Long.valueOf("123")));
}
@@ -93,7 +97,7 @@ public class StringUtilsTest
{
assertEquals("",StringUtils.valueOf((Object[])null));
assertEquals("",StringUtils.valueOf(new Object[]{}));
- assertEquals("",StringUtils.valueOf(new Object[]{null}));
+ assertEquals("null",StringUtils.valueOf(new Object[]{null}));
assertEquals("123|12.3",StringUtils.valueOf(new
Number[]{Integer.valueOf("123"), Double.valueOf("12.3")}));
}
@@ -126,8 +130,8 @@ public class StringUtilsTest
assertEquals("12312.3", StringUtils.arrayToString(new
Number[]{Integer.valueOf("123"), Double.valueOf("12.3")} , ""));
assertEquals("firstsecondthird", StringUtils.arrayToString(new
String[]{"first", "second", "third"} , null));
assertEquals(" first \t second \t third ",
StringUtils.arrayToString(new String[]{" first ", " second ", " third "} ,
"\t"));
- assertEquals("/", StringUtils.arrayToString(new String[]{null,
null} , "/"));
- assertEquals("", StringUtils.arrayToString(new String[]{null} ,
"/"));
+ assertEquals("null/null", StringUtils.arrayToString(new
String[]{null, null} , "/"));
+ assertEquals("null", StringUtils.arrayToString(new
String[]{null} , "/"));
}
@Test