[ https://issues.apache.org/jira/browse/FELIX-5355?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15642636#comment-15642636 ]
Pierre De Rop commented on FELIX-5355: -------------------------------------- Committed in revision 1768405 a candidate fix for the support of dots in configuration proxies. added a patch in Configurable.java where the following conventions are now used: - when a configuration proxy is accessing a given configuration key, first javabean convention is used, as before, in order to lookup the property from the dictionary: getFooBar() or fooBar() method will access to "fooBar" property. - then if no property value is found from the dictionary, then camel case convention is used to lookup the property from the dictionary: getFooBar() or fooBar() will access to "foo.bar" property - else, if no property value is found, then metatype osgi spec is applied: any single underscore is replaced by ".", unless a double "__" is found, in this case the sequence of two underscores is replaced by a single underscore: foo_bar() will access to "foo.bar" foo__bar() will access to "foo_bar" foo_BaR() will access to foo.BaR" property See integration test in org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/FELIX5355_ConfigTypesWithDotsTest.java > Allow to use properties having dots with configuration proxies > -------------------------------------------------------------- > > Key: FELIX-5355 > URL: https://issues.apache.org/jira/browse/FELIX-5355 > Project: Felix > Issue Type: Improvement > 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 > > Attachments: FELIX-5355.patch > > > Recently, a new feature has been introduced in DM to allow injecting > type-safe configuration proxies when a ConfigurationDependency is used (see > FELIX-5177). > The principle is to deduce the name of a given property from a corresponding > method name of the configuration proxy interface. > However, in some cases, you have some component depending on some > configuration with properties having some dots ("."), and this character > can't be used in java methods. Of course, the properties can be renamed to > new names without dots, but in some cases, when you want to use configuration > proxies on some legacy components, you often can't modify the existing > configuration properties. > So, I would like to propose the attached patch which allows the support of > dots in properties. the patch does the same done by DS: it maps the "\_" > charater to ".". And if the property contains "\_" character, then you can > use a double "__" underscore: > For example, assuming you have the two properties in the configuration: > {code} > foo.param1=123 > foo_param2=456 > {code} > then you can use the following method names: > {code} > public interface MyConfig { > public String getFoo_param1(); // maps to "foo.param1" > public String getFoo__param2(); // maps to "foo_param2" > } > {code} > Is there any objections if I commit the attached patch ? > thanks. -- This message was sent by Atlassian JIRA (v6.3.4#6332)