diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2014-04-04 12:53:34 +0200 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2014-04-04 12:53:34 +0200 |
| commit | 3c951ca7b5475ccbdba2673c945a14dd72b62b14 (patch) | |
| tree | bdbce54e3403a60f5931684dd9232764d4ad01b4 | |
| parent | 2f855591dea0eb5ffbcce490dd7a7eb9c2f00a23 (diff) | |
AbstractMain with config file checking got lost from previous commit.
Refs #177
| -rw-r--r-- | src/main/java/com/c2kernel/process/AbstractMain.java | 70 |
1 files changed, 27 insertions, 43 deletions
diff --git a/src/main/java/com/c2kernel/process/AbstractMain.java b/src/main/java/com/c2kernel/process/AbstractMain.java index 03807f0..b594c1a 100644 --- a/src/main/java/com/c2kernel/process/AbstractMain.java +++ b/src/main/java/com/c2kernel/process/AbstractMain.java @@ -29,54 +29,31 @@ abstract public class AbstractMain {
public static boolean runningAsWrapper = false;
- /**************************************************************************
- *
- **************************************************************************/
- static protected void usage()
- {
- System.out.println();
- System.out.println("USAGE: com.c2kernel.process.AbstractMain \n" +
- " -config <server/client config file> \n" +
- " [-connect <LC connect file> ] (or LocalCentre in conf)\n" +
- " [-h] [-help] \n" +
- " [-logLevel 0-19] \n" +
- " [-logFile <path to log file>]");
- Logger.die("Initialisation error");
- }
/**************************************************************************
* reading and setting input paramaters
**************************************************************************/
- public static Properties readC2KArgs( String[] args ) {
+ public static Properties readC2KArgs( String[] args ) throws Exception {
Properties c2kProps;
Properties argProps = new Properties();
int logLevel = 0;
PrintStream logStream = System.out;
- if (args == null) return argProps;
-
int i = 0;
while( i < args.length ) {
if (args[i].startsWith("-") && args[i].length()>1) {
String key = args[i].substring(1);
- if (argProps.containsKey(key)) {
- System.err.println("Argument "+args[i]+" given twice");
- usage();
- }
+ if (argProps.containsKey(key))
+ throw new Exception("Argument "+args[i]+" given twice");
String value = "";
if (!args[i+1].startsWith("-"))
value = args[++i];
argProps.put(key, value);
i++;
}
- else {
- System.err.println("Bad argument: "+args[i]);
- usage();
- }
- }
-
- if( argProps.containsKey("h") || argProps.containsKey("help")) {
- usage();
+ else
+ throw new Exception("Bad argument: "+args[i]);
+
}
if (argProps.containsKey("logFile"))
@@ -84,7 +61,7 @@ abstract public class AbstractMain logStream = new PrintStream(new FileOutputStream(argProps.getProperty("logFile"), true));
} catch (FileNotFoundException e) {
e.printStackTrace();
- System.err.println("Logfile "+argProps.getProperty("logFile")+" cannot be created");
+ throw new Exception("Logfile "+argProps.getProperty("logFile")+" cannot be created");
}
// Set up log stream
@@ -100,9 +77,11 @@ abstract public class AbstractMain }
String configPath = argProps.getProperty("config");
- if (configPath == null || !new File(configPath).exists()) {
- System.err.println("Config file "+configPath+" not found");
- }
+ if (configPath == null)
+ throw new Exception("Config file not specified");
+
+ if (!new File(configPath).exists())
+ throw new Exception("Config file "+configPath+" not found");
else
Logger.msg(0, "Config file: "+configPath);
@@ -110,17 +89,22 @@ abstract public class AbstractMain c2kProps = FileStringUtility.loadConfigFile(argProps.getProperty("config") );
c2kProps.putAll(argProps); // args overlap config
- if (c2kProps.containsKey("connect")) {
- String connectFile = c2kProps.getProperty("connect");
+ String connectFile = c2kProps.getProperty("connect");
+ if (connectFile == null)
+ throw new Exception("Connect file not specified");
+
+ if (!new File(connectFile).exists())
+ throw new Exception("Connect file "+connectFile+" not found");
+ else
Logger.msg(0, "Connect file: "+connectFile);
- FileStringUtility.appendConfigFile( c2kProps, connectFile);
-
- if (!c2kProps.containsKey("LocalCentre")) {
- String connectFileName = new File(connectFile).getName();
- String centreId = connectFileName.substring(0, connectFileName.lastIndexOf(".clc"));
- c2kProps.setProperty("LocalCentre", centreId);
- }
- }
+
+ FileStringUtility.appendConfigFile( c2kProps, connectFile);
+
+ if (!c2kProps.containsKey("LocalCentre")) {
+ String connectFileName = new File(connectFile).getName();
+ String centreId = connectFileName.substring(0, connectFileName.lastIndexOf(".clc"));
+ c2kProps.setProperty("LocalCentre", centreId);
+ }
c2kProps.putAll(argProps); // args override connect file too
Logger.msg(7, "AbstractMain::standardSetUp() - readC2KArgs() DONE.");
|
