Author: gnodet
Date: Thu Nov 10 09:41:55 2011
New Revision: 1200242
URL: http://svn.apache.org/viewvc?rev=1200242&view=rev
Log:
Fix service properties display for arrays
Modified:
karaf/trunk/util/src/main/java/org/apache/karaf/util/ShellUtil.java
Modified: karaf/trunk/util/src/main/java/org/apache/karaf/util/ShellUtil.java
URL:
http://svn.apache.org/viewvc/karaf/trunk/util/src/main/java/org/apache/karaf/util/ShellUtil.java?rev=1200242&r1=1200241&r2=1200242&view=diff
==============================================================================
--- karaf/trunk/util/src/main/java/org/apache/karaf/util/ShellUtil.java
(original)
+++ karaf/trunk/util/src/main/java/org/apache/karaf/util/ShellUtil.java Thu Nov
10 09:41:55 2011
@@ -48,124 +48,83 @@ public class ShellUtil {
return "[STALE BUNDLE]";
}
- private static StringBuffer m_sb = new StringBuffer();
-
public static String getUnderlineString(String s)
{
- synchronized (m_sb)
+ StringBuilder sb = new StringBuilder(s.length());
+ for (int i = 0; i < s.length(); i++)
{
- m_sb.delete(0, m_sb.length());
- for (int i = 0; i < s.length(); i++)
- {
- m_sb.append('-');
- }
- return m_sb.toString();
+ sb.append('-');
}
+ return sb.toString();
}
public static String getValueString(Object obj)
{
- synchronized (m_sb)
+ if (obj.getClass().isArray())
{
- if (obj instanceof String)
- {
- return (String) obj;
- }
- else if (obj instanceof String[])
- {
- String[] array = (String[]) obj;
- return convertTypedArrayToString(array, new
StringConverter<String>() {
- public String convertObjectToString(String toConvert) {
- return toConvert;
- }
- });
- }
- else if (obj instanceof Boolean)
- {
- return ((Boolean) obj).toString();
- }
- else if (obj instanceof Long)
- {
- return ((Long) obj).toString();
- }
- else if (obj instanceof Integer)
- {
- return ((Integer) obj).toString();
- }
- else if (obj instanceof Short)
- {
- return ((Short) obj).toString();
- }
- else if (obj instanceof Double)
- {
- return ((Double) obj).toString();
- }
- else if (obj instanceof Float)
- {
- return ((Float) obj).toString();
- }
- else if (obj instanceof URL)
- {
- return ((URL)obj).toExternalForm();
- }
- else if (obj instanceof URL[])
- {
- URL[] array = (URL[]) obj;
- return convertTypedArrayToString(array, new
StringConverter<URL>() {
- public String convertObjectToString(URL toConvert) {
- return toConvert.toExternalForm();
- }
- });
- }
- else if (obj instanceof URI)
- {
- try {
- return ((URI)obj).toURL().toExternalForm();
- } catch (MalformedURLException e) {
- LOGGER.error("URI could not be transformed to URL",e);
- return obj.toString();
+ Object[] array = (Object[]) obj;
+ StringBuilder sb = new StringBuilder();
+ sb.append("[");
+ for (int i = 0; i < array.length; i++)
+ {
+ if (i != 0)
+ {
+ sb.append(", ");
}
+ sb.append(getValueString(array[i]));
}
- else if (obj instanceof URI[])
- {
- URI[] array = (URI[]) obj;
- return convertTypedArrayToString(array, new
StringConverter<URI>() {
- public String convertObjectToString(URI toConvert) {
- try {
- return toConvert.toURL().toExternalForm();
- } catch (MalformedURLException e) {
- LOGGER.error("URI could not be transformed to
URL",e);
- return toConvert.toString();
- }
- }
- });
- }
- else if (obj == null)
- {
- return "null";
- }
- else
- {
+ sb.append("]");
+ return sb.toString();
+ }
+ else if (obj instanceof String)
+ {
+ return (String) obj;
+ }
+ else if (obj instanceof Boolean)
+ {
+ return ((Boolean) obj).toString();
+ }
+ else if (obj instanceof Long)
+ {
+ return ((Long) obj).toString();
+ }
+ else if (obj instanceof Integer)
+ {
+ return ((Integer) obj).toString();
+ }
+ else if (obj instanceof Short)
+ {
+ return ((Short) obj).toString();
+ }
+ else if (obj instanceof Double)
+ {
+ return ((Double) obj).toString();
+ }
+ else if (obj instanceof Float)
+ {
+ return ((Float) obj).toString();
+ }
+ else if (obj instanceof URL)
+ {
+ return ((URL)obj).toExternalForm();
+ }
+ else if (obj instanceof URI)
+ {
+ try {
+ return ((URI)obj).toURL().toExternalForm();
+ } catch (MalformedURLException e) {
+ LOGGER.error("URI could not be transformed to URL",e);
return obj.toString();
}
}
- }
-
- private static <Type> String convertTypedArrayToString(Type[] array,
StringConverter<Type> converter) {
- m_sb.delete(0, m_sb.length());
- for (int i = 0; i < array.length; i++)
+ else if (obj == null)
{
- if (i != 0)
- {
- m_sb.append(", ");
- }
- m_sb.append(converter.convertObjectToString(array[i]));
+ return "null";
+ }
+ else
+ {
+ return obj.toString();
}
- return m_sb.toString();
- }
-
- private static interface StringConverter<Type> {
- String convertObjectToString(Type toConvert);
}
/**