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);