From c2602f46edd68e81cf66fffca3d0dccfdfab4ddc Mon Sep 17 00:00:00 2001 From: tkellner Date: Wed, 10 Apr 2013 19:28:04 +0000 Subject: 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 --- .../pdfover/gui/cliarguments/ArgumentHandler.java | 35 ++++++++++++---------- 1 file changed, 19 insertions(+), 16 deletions(-) (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ArgumentHandler.java') 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 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$ } } } -- cgit v1.2.3