You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cz...@apache.org on 2014/05/16 09:01:46 UTC
svn commit: r1595125 -
/felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyConfig.java
Author: cziegeler
Date: Fri May 16 07:01:46 2014
New Revision: 1595125
URL: http://svn.apache.org/r1595125
Log:
FELIX-4489 : [Jetty] Ignore empty (string) entries in configuration arrays
Modified:
felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyConfig.java
Modified: felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyConfig.java
URL: http://svn.apache.org/viewvc/felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyConfig.java?rev=1595125&r1=1595124&r2=1595125&view=diff
==============================================================================
--- felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyConfig.java (original)
+++ felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/JettyConfig.java Fri May 16 07:01:46 2014
@@ -24,6 +24,7 @@ import java.util.Collection;
import java.util.Dictionary;
import java.util.Hashtable;
import java.util.Iterator;
+import java.util.List;
import java.util.Properties;
import org.apache.felix.http.base.internal.logger.SystemLogger;
@@ -518,20 +519,41 @@ public final class JettyConfig
return value;
}
+ /**
+ * Get the property value as a string array.
+ * Empty values are filtered out - if the resulting array is empty
+ * the default value is returned.
+ */
private String[] getStringArrayProperty(String name, String[] defValue)
{
Object value = getProperty(name);
if (value instanceof String)
{
- return new String[] { (String) value };
+ final String stringVal = ((String) value).trim();
+ if ( stringVal.length() > 0 )
+ {
+ return new String[] { stringVal };
+ }
}
else if (value instanceof String[])
{
- return (String[]) value;
+ final String[] stringArr = (String[]) value;
+ final List<String> list = new ArrayList<String>();
+ for(final String stringVal : stringArr)
+ {
+ if ( stringVal.trim().length() > 0 )
+ {
+ list.add(stringVal.trim());
+ }
+ }
+ if ( list.size() > 0 )
+ {
+ return list.toArray(new String[list.size()]);
+ }
}
else if (value instanceof Collection)
{
- ArrayList<String> conv = new ArrayList<String>();
+ final ArrayList<String> conv = new ArrayList<String>();
for (Iterator<?> vi = ((Collection<?>) value).iterator(); vi.hasNext();)
{
Object object = vi.next();
@@ -540,12 +562,12 @@ public final class JettyConfig
conv.add(String.valueOf(object));
}
}
- return conv.toArray(new String[conv.size()]);
- }
- else
- {
- return defValue;
+ if ( conv.size() > 0 )
+ {
+ return conv.toArray(new String[conv.size()]);
+ }
}
+ return defValue;
}
private int parseInt(String value, int dflt)