You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Pierre De Rop (JIRA)" <ji...@apache.org> on 2016/11/06 22:45:58 UTC
[jira] [Created] (FELIX-5400) Can't override default configuration
type list value using an empty list
Pierre De Rop created FELIX-5400:
------------------------------------
Summary: Can't override default configuration type list value using an empty list
Key: FELIX-5400
URL: https://issues.apache.org/jira/browse/FELIX-5400
Project: Felix
Issue Type: Bug
Components: Dependency Manager
Affects Versions: org.apache.felix.dependencymanager-r8
Reporter: Pierre De Rop
Assignee: Pierre De Rop
Priority: Minor
Fix For: org.apache.felix.dependencymanager-r9
Assume you are using the following configuration type:
{code}
public interface MyConfig {
public default List<String> getList() {
return Arrays.asList("a", "b");
}
}
{code}
So, you can then declare the following values in the actual configuration dictionary for the "list" key:
{code}
list=[a,b]
or
list.0=a
list.1=b
{code}
But assuming that you now want to register in config admin a configuration dictionary with an empty list (you really want an empty list []): then it is not currently possible, because if you don't declare any values for the "list" key, then the default value of the configuration type will be returned (see FELIX5399).
And if you declare the following value for the "list" key:
list=[]
then it does not work too (an empty list won't be returned) because the "toCollection" method in the Configurable.java class calls:
{code}
Arrays.asList(str.split("\\s*,\\s*"))
{code}
which then returns an array of size=1, instead of returning an array of zero size.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)