update with the carbon configuration path 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/68ab6e8a Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/68ab6e8a Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/68ab6e8a Branch: refs/heads/master Commit: 68ab6e8a033b4cd843ee7bc900a1f55c480a7953 Parents: 54b85c6 Author: gayan <[email protected]> Authored: Thu Dec 4 14:08:47 2014 +0530 Committer: Manula Thantriwatte <[email protected]> Committed: Thu Dec 4 13:48:39 2014 +0000 ---------------------------------------------------------------------- .../stratos/autoscaler/util/ConfUtil.java | 23 +++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/68ab6e8a/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 6ca3451..fe783ac 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 @@ -24,6 +24,7 @@ import org.apache.commons.configuration.XMLConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.stratos.autoscaler.Constants; +import org.wso2.carbon.utils.CarbonUtils; import java.io.File; import java.util.HashMap; @@ -39,12 +40,21 @@ public class ConfUtil { //To maintain the map of config files private static HashMap<String, ConfUtil> instanceMap = new HashMap<String, ConfUtil>(); + private static Object mutex = new Object(); private ConfUtil(String configFilePath) { try { - File confFile = new File(configFilePath); + File confFile; + if (configFilePath != null && !configFilePath.isEmpty()) { + confFile = new File(configFilePath); + + } else { + confFile = new File(CarbonUtils.getCarbonConfigDirPath(),Constants.AUTOSCALER_CONFIG_FILE_NAME); + } + config = new XMLConfiguration(confFile); + } catch (ConfigurationException e) { log.error("Unable to load configuration file", e); config = new XMLConfiguration(); // continue with default values @@ -59,13 +69,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); + synchronized (mutex) { + if (instance == null) { + instance = new ConfUtil(configFilePath); + instanceMap.put(configFilePath, instance); + } + } } return instance; }
