summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2014-04-09 11:48:45 +0200
committerAndrew Branson <andrew.branson@cern.ch>2014-04-09 11:48:45 +0200
commita399f7cb69c94f02a7942147a9c4766a0d5152e3 (patch)
treefc8a2154f9042a262303583e8f714f1734f6474a
parent11e7a9aaed7c22ec93a791ea752e159b4b120e4e (diff)
BadArgumentsException - more specific exception thrown by readC2KArgs
when the arguments are wrong.
-rw-r--r--src/main/java/com/c2kernel/process/AbstractMain.java17
-rw-r--r--src/main/java/com/c2kernel/process/resource/BadArgumentsException.java17
-rw-r--r--src/test/java/LauncherTest.java9
3 files changed, 31 insertions, 12 deletions
diff --git a/src/main/java/com/c2kernel/process/AbstractMain.java b/src/main/java/com/c2kernel/process/AbstractMain.java
index b594c1a..e241ee2 100644
--- a/src/main/java/com/c2kernel/process/AbstractMain.java
+++ b/src/main/java/com/c2kernel/process/AbstractMain.java
@@ -17,6 +17,7 @@ import java.io.PrintStream;
import java.util.Enumeration;
import java.util.Properties;
+import com.c2kernel.process.resource.BadArgumentsException;
import com.c2kernel.utils.FileStringUtility;
import com.c2kernel.utils.Logger;
@@ -33,7 +34,7 @@ abstract public class AbstractMain
/**************************************************************************
* reading and setting input paramaters
**************************************************************************/
- public static Properties readC2KArgs( String[] args ) throws Exception {
+ public static Properties readC2KArgs( String[] args ) throws BadArgumentsException {
Properties c2kProps;
Properties argProps = new Properties();
int logLevel = 0;
@@ -44,7 +45,7 @@ abstract public class AbstractMain
if (args[i].startsWith("-") && args[i].length()>1) {
String key = args[i].substring(1);
if (argProps.containsKey(key))
- throw new Exception("Argument "+args[i]+" given twice");
+ throw new BadArgumentsException("Argument "+args[i]+" given twice");
String value = "";
if (!args[i+1].startsWith("-"))
value = args[++i];
@@ -52,7 +53,7 @@ abstract public class AbstractMain
i++;
}
else
- throw new Exception("Bad argument: "+args[i]);
+ throw new BadArgumentsException("Bad argument: "+args[i]);
}
@@ -61,7 +62,7 @@ abstract public class AbstractMain
logStream = new PrintStream(new FileOutputStream(argProps.getProperty("logFile"), true));
} catch (FileNotFoundException e) {
e.printStackTrace();
- throw new Exception("Logfile "+argProps.getProperty("logFile")+" cannot be created");
+ throw new BadArgumentsException("Logfile "+argProps.getProperty("logFile")+" cannot be created");
}
// Set up log stream
@@ -78,10 +79,10 @@ abstract public class AbstractMain
String configPath = argProps.getProperty("config");
if (configPath == null)
- throw new Exception("Config file not specified");
+ throw new BadArgumentsException("Config file not specified");
if (!new File(configPath).exists())
- throw new Exception("Config file "+configPath+" not found");
+ throw new BadArgumentsException("Config file "+configPath+" not found");
else
Logger.msg(0, "Config file: "+configPath);
@@ -91,10 +92,10 @@ abstract public class AbstractMain
String connectFile = c2kProps.getProperty("connect");
if (connectFile == null)
- throw new Exception("Connect file not specified");
+ throw new BadArgumentsException("Connect file not specified");
if (!new File(connectFile).exists())
- throw new Exception("Connect file "+connectFile+" not found");
+ throw new BadArgumentsException("Connect file "+connectFile+" not found");
else
Logger.msg(0, "Connect file: "+connectFile);
diff --git a/src/main/java/com/c2kernel/process/resource/BadArgumentsException.java b/src/main/java/com/c2kernel/process/resource/BadArgumentsException.java
new file mode 100644
index 0000000..c7fe7cf
--- /dev/null
+++ b/src/main/java/com/c2kernel/process/resource/BadArgumentsException.java
@@ -0,0 +1,17 @@
+package com.c2kernel.process.resource;
+
+public class BadArgumentsException extends Exception {
+
+ public BadArgumentsException() {
+ super();
+ }
+
+ public BadArgumentsException(String message) {
+ super(message);
+ }
+
+ public BadArgumentsException(Throwable cause) {
+ super(cause);
+ }
+
+}
diff --git a/src/test/java/LauncherTest.java b/src/test/java/LauncherTest.java
index 39c2b6e..8abba93 100644
--- a/src/test/java/LauncherTest.java
+++ b/src/test/java/LauncherTest.java
@@ -1,6 +1,7 @@
import java.util.Properties;
import com.c2kernel.process.AbstractMain;
+import com.c2kernel.process.resource.BadArgumentsException;
import com.c2kernel.utils.Logger;
@@ -40,7 +41,7 @@ public class LauncherTest {
try {
props = AbstractMain.readC2KArgs(args);
throw new Exception("Invalid connect file not detected");
- } catch (Exception ex) { }
+ } catch (BadArgumentsException ex) { }
}
public void testWrongConnectFileName() throws Exception {
@@ -49,7 +50,7 @@ public class LauncherTest {
try {
props = AbstractMain.readC2KArgs(args);
throw new Exception("Invalid connect file not detected");
- } catch (Exception ex) { }
+ } catch (BadArgumentsException ex) { }
}
public void testMissingConnectArg() throws Exception {
@@ -59,7 +60,7 @@ public class LauncherTest {
try {
props = AbstractMain.readC2KArgs(args);
throw new Exception("Missing connect file not detected");
- } catch (Exception ex) { }
+ } catch (BadArgumentsException ex) { }
}
public void testMissingConfigArg() throws Exception {
@@ -69,6 +70,6 @@ public class LauncherTest {
try {
props = AbstractMain.readC2KArgs(args);
throw new Exception("Missing config file not detected");
- } catch (Exception ex) { }
+ } catch (BadArgumentsException ex) { }
}
}