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 2015/07/30 08:25:41 UTC
svn commit: r1693390 -
/felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/ConfigMetaTypeProvider.java
Author: cziegeler
Date: Thu Jul 30 06:25:40 2015
New Revision: 1693390
URL: http://svn.apache.org/r1693390
Log:
FELIX-4979 : [Jetty] String array properties are not parsed correctly when supplied through framework properties. Fix metatype generation
Modified:
felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/ConfigMetaTypeProvider.java
Modified: felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/ConfigMetaTypeProvider.java
URL: http://svn.apache.org/viewvc/felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/ConfigMetaTypeProvider.java?rev=1693390&r1=1693389&r2=1693390&view=diff
==============================================================================
--- felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/ConfigMetaTypeProvider.java (original)
+++ felix/trunk/http/jetty/src/main/java/org/apache/felix/http/jetty/internal/ConfigMetaTypeProvider.java Thu Jul 30 06:25:40 2015
@@ -193,7 +193,7 @@ class ConfigMetaTypeProvider implements
new String[] {"/system"},
2147483647,
null, null,
- bundle.getBundleContext().getProperty(JettyConfig.FELIX_HTTP_PATH_EXCLUSIONS)));
+ getStringArray(bundle.getBundleContext().getProperty(JettyConfig.FELIX_HTTP_PATH_EXCLUSIONS))));
adList.add(new AttributeDefinitionImpl(JettyConfig.FELIX_JETTY_EXCLUDED_SUITES,
"Excluded Cipher Suites",
@@ -202,7 +202,7 @@ class ConfigMetaTypeProvider implements
null,
2147483647,
null, null,
- bundle.getBundleContext().getProperty(JettyConfig.FELIX_JETTY_EXCLUDED_SUITES)));
+ getStringArray(bundle.getBundleContext().getProperty(JettyConfig.FELIX_JETTY_EXCLUDED_SUITES))));
adList.add(new AttributeDefinitionImpl(JettyConfig.FELIX_JETTY_INCLUDED_SUITES,
"Included Cipher Suites",
@@ -211,7 +211,7 @@ class ConfigMetaTypeProvider implements
null,
2147483647,
null, null,
- bundle.getBundleContext().getProperty(JettyConfig.FELIX_JETTY_INCLUDED_SUITES)));
+ getStringArray(bundle.getBundleContext().getProperty(JettyConfig.FELIX_JETTY_INCLUDED_SUITES))));
adList.add(new AttributeDefinitionImpl(JettyConfig.FELIX_JETTY_SEND_SERVER_HEADER,
"Send Server Header",
@@ -229,7 +229,7 @@ class ConfigMetaTypeProvider implements
null,
2147483647,
null, null,
- bundle.getBundleContext().getProperty(JettyConfig.FELIX_JETTY_INCLUDED_PROTOCOLS)));
+ getStringArray(bundle.getBundleContext().getProperty(JettyConfig.FELIX_JETTY_INCLUDED_PROTOCOLS))));
adList.add(new AttributeDefinitionImpl(JettyConfig.FELIX_JETTY_EXCLUDED_PROTOCOLS,
"Excluded Protocols",
@@ -241,7 +241,7 @@ class ConfigMetaTypeProvider implements
null,
2147483647,
null, null,
- bundle.getBundleContext().getProperty(JettyConfig.FELIX_JETTY_EXCLUDED_PROTOCOLS)));
+ getStringArray(bundle.getBundleContext().getProperty(JettyConfig.FELIX_JETTY_EXCLUDED_PROTOCOLS))));
adList.add(new AttributeDefinitionImpl(JettyConfig.FELIX_PROXY_LOAD_BALANCER_CONNECTION_ENABLE,
"Enable Proxy/Load Balancer Connection",
@@ -290,6 +290,15 @@ class ConfigMetaTypeProvider implements
};
}
+ private String [] getStringArray(final String value)
+ {
+ if ( value != null )
+ {
+ return value.trim().split(",");
+ }
+ return null;
+ }
+
private static class AttributeDefinitionImpl implements AttributeDefinition
{
@@ -305,33 +314,41 @@ class ConfigMetaTypeProvider implements
AttributeDefinitionImpl( final String id, final String name, final String description, final String defaultValue, final String overrideValue )
{
- this( id, name, description, STRING, defaultValue == null ? null : new String[] { defaultValue }, 0, null, null, overrideValue );
+ this( id, name, description, STRING, defaultValue == null ? null : new String[] { defaultValue }, 0, null, null, overrideValue == null ? null : new String[] { overrideValue } );
}
AttributeDefinitionImpl( final String id, final String name, final String description, final int defaultValue, final String overrideValue )
{
this( id, name, description, INTEGER, new String[]
- { String.valueOf(defaultValue) }, 0, null, null, overrideValue );
+ { String.valueOf(defaultValue) }, 0, null, null, overrideValue == null ? null : new String[] { overrideValue } );
}
AttributeDefinitionImpl( final String id, final String name, final String description, final boolean defaultValue, final String overrideValue )
{
this( id, name, description, BOOLEAN, new String[]
- { String.valueOf(defaultValue) }, 0, null, null, overrideValue );
+ { String.valueOf(defaultValue) }, 0, null, null, overrideValue == null ? null : new String[] { overrideValue } );
+ }
+
+ AttributeDefinitionImpl( final String id, final String name, final String description, final int type,
+ final String[] defaultValues, final int cardinality, final String[] optionLabels,
+ final String[] optionValues,
+ final String overrideValue)
+ {
+ this(id, name, description, type, defaultValues, cardinality, optionLabels, optionValues, overrideValue == null ? null : new String[] { overrideValue });
}
AttributeDefinitionImpl( final String id, final String name, final String description, final int type,
final String[] defaultValues, final int cardinality, final String[] optionLabels,
final String[] optionValues,
- final String overrideValue)
+ final String[] overrideValues)
{
this.id = id;
this.name = name;
this.description = description;
this.type = type;
- if ( overrideValue != null )
+ if ( overrideValues != null )
{
- this.defaultValues = new String[] {overrideValue};
+ this.defaultValues = overrideValues;
}
else
{