Hi,
I'd like to modify the configuration module so that it can support
adding dynamic configuration data (located in XWikiPreferences,
WebPreferences or other).
I'd like to propose:
* We remove the notion of ConfigurationManager
* We make ConfigurationSource components
* We create a XWikiPropertiesConfigurationSource (hint =
"xwikiproperties")
* (future) We create XWikiPreferencesDocumentConfigurationSource,
SpacePreferencesDocumentConfigurationSource,
UserPreferencesDocumentConfigurationSource components
* Create a DefaultConfigurationSource component (hint = "default")
which has @Requirement("xwikiproperties") (and other sources later
on). It's a composite ConfigurationSource which calls the various
internal sources in the right order.
In term of usage here's what you'd write. For example for
DefaultRenderingConfiguration:
@Component
public class DefaultRendernigConfiguration implements
RenderingConfiguration
{
@Requirement
ConfigurationSource source;
private static final String PREFIX = "rendering.";
private static final String DEFAULT_LINK_LABEL_FORMAT = "%p";
public String getLinkLabelFormat()
{
return (String) this.source.getProperty(PREFIX +
"linkLabelFormat", DEFAULT_LINK_LABEL_FORMAT);
}
}
WDYT?
Thanks
-Vincent
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs