Author: fdesbois Date: 2010-03-31 15:58:38 +0200 (Wed, 31 Mar 2010) New Revision: 1808 Log: Evo #433 : add appName option for context on config.file and config.path option --> pollen.config.path Modified: trunk/src/main/java/org/nuiton/util/ApplicationConfig.java Modified: trunk/src/main/java/org/nuiton/util/ApplicationConfig.java =================================================================== --- trunk/src/main/java/org/nuiton/util/ApplicationConfig.java 2010-03-29 12:59:53 UTC (rev 1807) +++ trunk/src/main/java/org/nuiton/util/ApplicationConfig.java 2010-03-31 13:58:38 UTC (rev 1808) @@ -265,6 +265,8 @@ /** Configuration file key option. */ static final public String CONFIG_FILE_NAME = "config.file"; + static final public String APP_NAME = "app.name"; + /** * Configuration directory where config path in located. * @@ -613,7 +615,7 @@ */ public void setConfigFileName(String name) { // put in defaults, this permit user to overwrite it on commande line - setDefaultOption(CONFIG_FILE_NAME, name); + setDefaultOption(getConfigFileNameOption(), name); } /** @@ -621,11 +623,30 @@ * @return name of file */ public String getConfigFileName() { - String result = getOption(CONFIG_FILE_NAME); + String result = getOption(getConfigFileNameOption()); return result; } + protected String getConfigFileNameOption() { + String optionName = CONFIG_FILE_NAME; + if (getOption(APP_NAME) != null) { + optionName = getOption(APP_NAME) + "." + optionName; + } + return optionName; + } + /** + * Use appName to add a context in config.file and config.path options. + * Ex for an application named 'pollen' : config.file option becomes + * pollen.config.file + * + * @param appName to use as application context + */ + public void setAppName(String appName) { + setDefaultOption(APP_NAME, appName); + } + + /** * Get configuration file path to use. * * Use (in order) one of the following definition: @@ -638,8 +659,13 @@ * @return path to use with endind {@link File#separator} */ public String getConfigPath() { - String result = getOption(CONFIG_PATH); + // Concat appName to configPath option to specify context for + // application deployment + String appName = getOption(APP_NAME) != null ? + getOption(APP_NAME) + "." : ""; + String result = getOption(appName + CONFIG_PATH); + if (result == null) { result = getSystemConfigurationPath(); } @@ -1205,7 +1231,7 @@ } if (inClasspath != null) { if (log.isInfoEnabled()) { - log.info("Chargement du fichier de config: " + inClasspath); + log.info("Chargement du fichier de config (classpath) : " + inClasspath); } classpath.load(inClasspath.openStream()); } @@ -1219,7 +1245,7 @@ File etcConfig = new File(getConfigPath(), filename); if (etcConfig.exists()) { if (log.isInfoEnabled()) { - log.info("Chargement du fichier de config: " + etcConfig); + log.info("Chargement du fichier de config (etc) : " + etcConfig); } etcfile.load(etcConfig.toURI().toURL().openStream()); } @@ -1245,7 +1271,7 @@ if (homeConfig.exists()) { if (log.isInfoEnabled()) { - log.info("Chargement du fichier de config: " + homeConfig); + log.info("Chargement du fichier de config (home) : " + homeConfig); } homefile.load(homeConfig.toURI().toURL().openStream()); } @@ -1259,7 +1285,7 @@ File config = new File(filename); if (config.exists()) { if (log.isInfoEnabled()) { - log.info("Chargement du fichier de config: " + config); + log.info("Chargement du fichier de config (curr) : " + config); } curfile.load(config.toURI().toURL().openStream()); }
participants (1)
-
fdesbois@users.nuiton.org