Author: tchemit Date: 2013-01-07 23:40:38 +0100 (Mon, 07 Jan 2013) New Revision: 2462 Url: http://nuiton.org/projects/nuiton-utils/repository/revisions/2462 Log: fixes #2503: [ApplicationConfig] Add a method to load all default options from all ApplicationConfigProvider found in class-path Modified: trunk/nuiton-utils/src/main/java/org/nuiton/util/ApplicationConfigHelper.java Modified: trunk/nuiton-utils/src/main/java/org/nuiton/util/ApplicationConfigHelper.java =================================================================== --- trunk/nuiton-utils/src/main/java/org/nuiton/util/ApplicationConfigHelper.java 2013-01-07 08:29:27 UTC (rev 2461) +++ trunk/nuiton-utils/src/main/java/org/nuiton/util/ApplicationConfigHelper.java 2013-01-07 22:40:38 UTC (rev 2462) @@ -114,4 +114,40 @@ } return result; } + + /** + * Load default options from all config provider found in classpath. + * + * @param config config where to add default options. + * @param classLoader optional classLoader + * @param includes config to include (if none given all is include) + * @param excludes config to exclude (if none given, no exclude) + * @param verbose verbose flga + * @since 2.7 + */ + public static void loadAllDefaultOption(ApplicationConfig config, + ClassLoader classLoader, + Set<String> includes, + Set<String> excludes, + boolean verbose) { + + Set<ApplicationConfigProvider> providers = getProviders(classLoader, + includes, + excludes, + verbose); + for (ApplicationConfigProvider provider : providers) { + if (log.isInfoEnabled()) { + log.info("Load default options from configuration: " + + provider.getName()); + } + if (verbose && log.isInfoEnabled()) { + for (ApplicationConfig.OptionDef optionDef : provider.getOptions()) { + log.info(" " + optionDef.getKey() + + " (" + optionDef.getDefaultValue() + ')'); + } + } + config.loadDefaultOptions(provider.getOptions()); + } + + } }