You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ni...@apache.org on 2014/03/17 16:36:23 UTC

[3/3] git commit: fixing https://issues.apache.org/jira/browse/STRATOS-498

fixing https://issues.apache.org/jira/browse/STRATOS-498


Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/61ac53dc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/61ac53dc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/61ac53dc

Branch: refs/heads/master
Commit: 61ac53dc89b34228636576bb39b8c366686b5b3d
Parents: 9898dd6
Author: Nirmal Fernando <ni...@apache.org>
Authored: Mon Mar 17 21:02:22 2014 +0530
Committer: Nirmal Fernando <ni...@apache.org>
Committed: Mon Mar 17 21:02:22 2014 +0530

----------------------------------------------------------------------
 .../config/CartridgeAgentConfiguration.java     | 49 ++++++++++++++------
 1 file changed, 34 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/61ac53dc/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/config/CartridgeAgentConfiguration.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/config/CartridgeAgentConfiguration.java b/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/config/CartridgeAgentConfiguration.java
index 4f81802..622c016 100644
--- a/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/config/CartridgeAgentConfiguration.java
+++ b/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/config/CartridgeAgentConfiguration.java
@@ -7,7 +7,9 @@ import org.apache.stratos.cartridge.agent.util.CartridgeAgentUtils;
 
 import java.io.File;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Scanner;
 
 /**
@@ -28,10 +30,12 @@ public class CartridgeAgentConfiguration {
     private final String repoUrl;
     private final List<Integer> ports;
     private final List<String> logFilePaths;
+    private Map<String, String> parameters;
     private boolean isMultitenant;
     private String persistanceMappings;
 
     private CartridgeAgentConfiguration() {
+    	parameters = loadParametersFile();
         serviceName = readParameterValue(CartridgeAgentConstants.SERVICE_NAME);
         clusterId = readParameterValue(CartridgeAgentConstants.CLUSTER_ID);
         networkPartitionId = readParameterValue(CartridgeAgentConstants.NETWORK_PARTITION_ID);
@@ -81,38 +85,53 @@ public class CartridgeAgentConfiguration {
         }
         return instance;
     }
+    
+    private Map<String, String> loadParametersFile() {
+    	Map<String, String> parameters = new HashMap<String, String>();
+    	try {
 
-    private String readParameterValue(String parameterName) {
-        try {
-
-            if(System.getProperty(parameterName) != null){
-                return System.getProperty(parameterName);
-            }
             // read launch params
             File file = new File(System.getProperty(CartridgeAgentConstants.PARAM_FILE_PATH));
             if(!file.exists()) {
-                throw new RuntimeException(String.format("File not found: %s", CartridgeAgentConstants.PARAM_FILE_PATH));
+                log.warn(String.format("File not found: %s", CartridgeAgentConstants.PARAM_FILE_PATH));
+                return parameters;
             }
             Scanner scanner = new Scanner(file);
             while (scanner.hasNextLine()) {
                 String line = scanner.nextLine();
                 String[] params = line.split(",");
                 for (String string : params) {
-                    String[] var = string.split("=");
-                    if(parameterName.equals(var[0])){
-                        return var[1];
-                    }
+					if (string != null) {
+						String[] var = string.split("=");
+						if (var.length > 2) {
+							parameters.put(var[0], var[1]);
+						}
+					}
                 }
             }
             scanner.close();
         } catch (Exception e) {
-        	String message = "Could not read launch parameter file";
-        	log.error(message, e);
-			throw new RuntimeException(message, e);
+        	String message = "Could not read launch parameter file, hence trying to read from System properties.";
+        	log.warn(message, e);
         }
-        return null;
+    	
+    	return parameters;
     }
 
+	private String readParameterValue(String parameterName) {
+
+		if (parameters.containsKey(parameterName)) {
+			return parameters.get(parameterName);
+		}
+
+		if (System.getProperty(parameterName) != null) {
+			return System.getProperty(parameterName);
+		}
+
+		String message = "Cannot find the value of required parameter: "+parameterName;
+		throw new RuntimeException(message);
+	}
+
     private List<Integer> readPorts() {
         List<Integer> ports = new ArrayList<Integer>();
         String portsStr = readParameterValue(CartridgeAgentConstants.PORTS);