Update the conf util to support multiple configuration files Signed-off-by: Manula Thantriwatte <[email protected]>
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/a896d2c6 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/a896d2c6 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/a896d2c6 Branch: refs/heads/master Commit: a896d2c694f383848770a7e24ab65d9b2895ce47 Parents: 0b554d3 Author: gayan <[email protected]> Authored: Wed Dec 3 19:35:09 2014 +0530 Committer: Manula Thantriwatte <[email protected]> Committed: Thu Dec 4 13:48:38 2014 +0000 ---------------------------------------------------------------------- .../stratos/autoscaler/util/ConfUtil.java | 22 ++++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/a896d2c6/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/ConfUtil.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/ConfUtil.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/ConfUtil.java index 95ad30a..a393563 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/ConfUtil.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/ConfUtil.java @@ -27,6 +27,7 @@ import org.apache.stratos.autoscaler.Constants; import org.wso2.carbon.utils.CarbonUtils; import java.io.File; +import java.util.HashMap; /** * This class contains utility methods for read Autoscaler configuration file. @@ -37,20 +38,13 @@ public class ConfUtil { private XMLConfiguration config; - private static ConfUtil instance = null; + private static HashMap<String,ConfUtil> instanceMap=new HashMap<String, ConfUtil>(); private ConfUtil(String configFilePath) { - log.info("Loading configuration....."); + // log.info("Loading configuration....."); try { - File confFile; - if (configFilePath != null && !configFilePath.isEmpty()) { - confFile = new File(configFilePath); - - } else { - confFile = new File(CarbonUtils.getCarbonConfigDirPath(),Constants.AUTOSCALER_CONFIG_FILE_NAME); - } - + File confFile=new File(configFilePath); config = new XMLConfiguration(confFile); } catch (ConfigurationException e) { log.error("Unable to load autoscaler configuration file",e); @@ -59,8 +53,14 @@ public class ConfUtil { } public static ConfUtil getInstance(String configFilePath) { + + if (configFilePath == null || configFilePath.isEmpty()) { + configFilePath = Constants.AUTOSCALER_CONFIG_FILE_NAME; + } + ConfUtil instance= instanceMap.get(configFilePath); if (instance == null) { instance = new ConfUtil (configFilePath); + instanceMap.put(configFilePath,instance); } return instance; } @@ -68,5 +68,5 @@ public class ConfUtil { public XMLConfiguration getConfiguration(){ return config; } - + }
