summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2014-04-04 12:53:34 +0200
committerAndrew Branson <andrew.branson@cern.ch>2014-04-04 13:36:16 +0200
commitb870cda6389d3efcdb8018eb13aaa77186e9fdfe (patch)
treea6d51a7658881d8ab9228cee3da73774a7e6a258
parentee8c659987eadf1eec2d6c1a1c6258940e64b869 (diff)
AbstractMain with config file checking got lost from previous commit.
Refs #177
-rw-r--r--src/main/java/com/c2kernel/process/AbstractMain.java70
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.");