summaryrefslogtreecommitdiff
path: root/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ArgumentHandler.java
diff options
context:
space:
mode:
authortkellner <tkellner@174cde9d-5d70-4d2a-aa98-46368bc2aaf7>2013-04-10 19:28:04 +0000
committertkellner <tkellner@174cde9d-5d70-4d2a-aa98-46368bc2aaf7>2013-04-10 19:28:04 +0000
commitc2602f46edd68e81cf66fffca3d0dccfdfab4ddc (patch)
treeeaf399ea3fa1844c13f707a70f8950570ddd81f7 /pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ArgumentHandler.java
parent07c7efdfe42ccde13d777df7a6ba0a5c3e335b4f (diff)
downloadpdf-over-c2602f46edd68e81cf66fffca3d0dccfdfab4ddc.tar.gz
pdf-over-c2602f46edd68e81cf66fffca3d0dccfdfab4ddc.tar.bz2
pdf-over-c2602f46edd68e81cf66fffca3d0dccfdfab4ddc.zip
Configuration overlay added
* Commandline configuration will be stored in an overlay * This overlay won't be shown on the configuration page * This overlay won't be saved * Also slightly reworked CLI Argument creation git-svn-id: https://joinup.ec.europa.eu/svn/pdf-over/trunk@336 174cde9d-5d70-4d2a-aa98-46368bc2aaf7
Diffstat (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ArgumentHandler.java')
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ArgumentHandler.java35
1 files changed, 19 insertions, 16 deletions
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ArgumentHandler.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ArgumentHandler.java
index dbc61e24..378588eb 100644
--- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ArgumentHandler.java
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ArgumentHandler.java
@@ -34,7 +34,6 @@ public class ArgumentHandler {
/**
* SLF4J Logger instance
**/
- @SuppressWarnings("unused")
private static final Logger log = LoggerFactory
.getLogger(ArgumentHandler.class);
@@ -65,21 +64,27 @@ public class ArgumentHandler {
/**
* Adds a CLIArgument to the handler
*
- * @param arg
+ * @param cliArgument the CLIArgument subclass to add
*/
- public void addCLIArgument(CLIArgument arg) {
- if (arg == null) {
- return;
- }
+ public void addCLIArgument(Class<? extends CLIArgument> cliArgument) {
- String[] commandOptions = arg.getCommandOptions();
+ CLIArgument arg;
+ try {
+ arg = cliArgument.newInstance();
- if (commandOptions == null) {
- return;
- }
+ arg.setStateMachine(this.stateMachine);
+
+ String[] commandOptions = arg.getCommandOptions();
- for (int i = 0; i < commandOptions.length; i++) {
- this.cliArguments.put(commandOptions[i], arg);
+ if (commandOptions == null) {
+ return;
+ }
+
+ for (int i = 0; i < commandOptions.length; i++) {
+ this.cliArguments.put(commandOptions[i], arg);
+ }
+ } catch (Exception e) {
+ log.error("Error instantiating CLI argument" , e); //$NON-NLS-1$
}
}
@@ -93,13 +98,11 @@ public class ArgumentHandler {
for (int i = 0; i < args.length; i++) {
if (this.cliArguments.containsKey(args[i])) {
- i = this.cliArguments.get(args[i]).handleArgument(args, i,
- this.stateMachine, this);
+ i = this.cliArguments.get(args[i]).handleArgument(args, i, this);
} else {
// Assume we got the document we want to sign
if (this.cliArguments.containsKey("-i")) { //$NON-NLS-1$
- i = this.cliArguments.get("-i").handleArgument(args, i-1, //$NON-NLS-1$
- this.stateMachine, this);
+ i = this.cliArguments.get("-i").handleArgument(args, i-1, this); //$NON-NLS-1$
}
}
}