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;
     }
-    
+
 }

Reply via email to