summaryrefslogtreecommitdiff
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
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
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ArgumentHandler.java35
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/BKUArgument.java8
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/CLIArgument.java49
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ConfigFileArgument.java8
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/EmblemArgument.java8
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/HelpArgument.java3
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/InputDocumentArgument.java7
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/OutputFolderArgument.java8
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/PasswordArgument.java8
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/PhoneNumberArgument.java8
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ProxyHostArgument.java8
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ProxyPortArgument.java8
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/ConfigurationComposite.java18
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/ConfigManipulator.java18
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/ConfigOverlayManipulator.java73
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/ConfigProviderImpl.java196
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/PersistentConfigProvider.java116
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StateMachine.java14
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StateMachineImpl.java37
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/ConfigurationUIState.java2
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareConfigurationState.java22
21 files changed, 519 insertions, 135 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$
}
}
}
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/BKUArgument.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/BKUArgument.java
index 9d1f51be..b1902cb1 100644
--- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/BKUArgument.java
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/BKUArgument.java
@@ -17,8 +17,6 @@ package at.asit.pdfover.gui.cliarguments;
import at.asit.pdfover.gui.exceptions.InitializationException;
import at.asit.pdfover.gui.utils.Messages;
-import at.asit.pdfover.gui.workflow.ConfigManipulator;
-import at.asit.pdfover.gui.workflow.StateMachine;
import at.asit.pdfover.signator.BKUs;
/**
@@ -43,16 +41,14 @@ public class BKUArgument extends CLIArgument {
*/
@Override
public int handleArgument(String[] args, int argOffset,
- StateMachine stateMachine, ArgumentHandler handler)
+ ArgumentHandler handler)
throws InitializationException {
try {
if (args.length > argOffset + 1) {
BKUs argumentValue = BKUs.valueOf(args[argOffset + 1]);
- ConfigManipulator configManipulator = stateMachine.getConfigManipulator();
-
- configManipulator.setDefaultBKU(argumentValue);
+ getConfiguration().setDefaultBKUOverlay(argumentValue);
return argOffset + 1;
}
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/CLIArgument.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/CLIArgument.java
index 26c3d12f..4c471118 100644
--- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/CLIArgument.java
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/CLIArgument.java
@@ -16,17 +16,21 @@
package at.asit.pdfover.gui.cliarguments;
import at.asit.pdfover.gui.exceptions.InitializationException;
+import at.asit.pdfover.gui.workflow.ConfigOverlayManipulator;
import at.asit.pdfover.gui.workflow.StateMachine;
+import at.asit.pdfover.gui.workflow.Status;
/**
* CLI Argument base class
*/
public abstract class CLIArgument {
-
+
private String helpText = null;
-
+
private String[] commandOptions = null;
-
+
+ private StateMachine stateMachine;
+
/**
* @param commandOptions
* @param helpText
@@ -35,7 +39,33 @@ public abstract class CLIArgument {
this.helpText = helpText;
this.commandOptions = commandOptions;
}
-
+
+ /**
+ * Set the state machine
+ * Used for configuration overlay manipulator and status
+ * @param stateMachine the state machine
+ */
+ protected void setStateMachine(StateMachine stateMachine) {
+ this.stateMachine = stateMachine;
+ }
+
+ /**
+ * Get the configuration overlay manipulator
+ * @return the configuration overlay manipulator
+ */
+ protected ConfigOverlayManipulator getConfiguration() {
+ return this.stateMachine.getConfigOverlayManipulator();
+ }
+
+ /**
+ * Get the status
+ * @return the status
+ */
+ protected Status getStatus() {
+ return this.stateMachine.getStatus();
+ }
+
+
/**
* Set help text
*
@@ -44,7 +74,7 @@ public abstract class CLIArgument {
protected void setHelpText(String value) {
this.helpText = value;
}
-
+
/**
* Gets help text
*
@@ -53,7 +83,7 @@ public abstract class CLIArgument {
public String getHelpText() {
return this.helpText;
}
-
+
/**
* Set the command option in format: -...
*
@@ -64,7 +94,7 @@ public abstract class CLIArgument {
protected void setCommandOptions(String[] value) {
this.commandOptions = value;
}
-
+
/**
* Get the command option
*
@@ -74,7 +104,7 @@ public abstract class CLIArgument {
public String[] getCommandOptions() {
return this.commandOptions;
}
-
+
/**
* Invokes the argument to set stuff within the stateMachine
*
@@ -91,12 +121,11 @@ public abstract class CLIArgument {
* offset = 1
* returns 2
*
- * @param stateMachine
* @param args
* @param argOffset
* @param handler
* @return returns the argumentOffset ending the section of this Argument
* @throws InitializationException
*/
- public abstract int handleArgument(String[] args, int argOffset, StateMachine stateMachine, ArgumentHandler handler) throws InitializationException;
+ public abstract int handleArgument(String[] args, int argOffset, ArgumentHandler handler) throws InitializationException;
}
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ConfigFileArgument.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ConfigFileArgument.java
index 72d6e629..7fd3acef 100644
--- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ConfigFileArgument.java
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ConfigFileArgument.java
@@ -21,8 +21,6 @@ import org.slf4j.LoggerFactory;
import at.asit.pdfover.gui.exceptions.InitializationException;
import at.asit.pdfover.gui.utils.Messages;
-import at.asit.pdfover.gui.workflow.ConfigManipulator;
-import at.asit.pdfover.gui.workflow.StateMachine;
/**
* CLI Argument to set the configuration file
@@ -46,16 +44,14 @@ public class ConfigFileArgument extends CLIArgument {
*/
@Override
public int handleArgument(String[] args, int argOffset,
- StateMachine stateMachine, ArgumentHandler handler)
+ ArgumentHandler handler)
throws InitializationException {
try {
if (args.length > argOffset + 1) {
String configFile = args[argOffset + 1];
- ConfigManipulator configManipulator = stateMachine.getConfigManipulator();
-
- configManipulator.setConfigurationFile(configFile);
+ getConfiguration().setConfigurationFile(configFile);
return argOffset + 1;
}
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/EmblemArgument.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/EmblemArgument.java
index 106f62dc..98401b16 100644
--- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/EmblemArgument.java
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/EmblemArgument.java
@@ -24,8 +24,6 @@ import org.slf4j.LoggerFactory;
import at.asit.pdfover.gui.exceptions.InitializationException;
import at.asit.pdfover.gui.utils.Messages;
-import at.asit.pdfover.gui.workflow.ConfigManipulator;
-import at.asit.pdfover.gui.workflow.StateMachine;
/**
* CLI Argument to set the emblem file to use for signature
@@ -49,7 +47,7 @@ public class EmblemArgument extends CLIArgument {
*/
@Override
public int handleArgument(String[] args, int argOffset,
- StateMachine stateMachine, ArgumentHandler handler)
+ ArgumentHandler handler)
throws InitializationException {
try {
if (args.length > argOffset + 1) {
@@ -62,9 +60,7 @@ public class EmblemArgument extends CLIArgument {
throw new FileNotFoundException(emblem);
}
- ConfigManipulator configManipulator = stateMachine.getConfigManipulator();
-
- configManipulator.setDefaultEmblem(emblem);
+ getConfiguration().setDefaultEmblemOverlay(emblem);
return argOffset + 1;
}
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/HelpArgument.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/HelpArgument.java
index 21b1124f..1dd0110e 100644
--- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/HelpArgument.java
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/HelpArgument.java
@@ -21,7 +21,6 @@ import java.util.Set;
import at.asit.pdfover.gui.exceptions.InitializationException;
import at.asit.pdfover.gui.utils.Messages;
-import at.asit.pdfover.gui.workflow.StateMachine;
/**
* CLI Argument to show the useage message
@@ -40,7 +39,7 @@ public class HelpArgument extends CLIArgument {
*/
@Override
public int handleArgument(String[] args, int argOffset,
- StateMachine stateMachine, ArgumentHandler handler)
+ ArgumentHandler handler)
throws InitializationException {
Set<CLIArgument> arguments = handler.getArguments();
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/InputDocumentArgument.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/InputDocumentArgument.java
index cc37c9b5..efb2c3aa 100644
--- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/InputDocumentArgument.java
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/InputDocumentArgument.java
@@ -24,8 +24,6 @@ import org.slf4j.LoggerFactory;
import at.asit.pdfover.gui.exceptions.InitializationException;
import at.asit.pdfover.gui.utils.Messages;
-import at.asit.pdfover.gui.workflow.StateMachine;
-import at.asit.pdfover.gui.workflow.Status;
/**
* CLI Argument to set the input document to sign
@@ -49,7 +47,7 @@ public class InputDocumentArgument extends CLIArgument {
*/
@Override
public int handleArgument(String[] args, int argOffset,
- StateMachine stateMachine, ArgumentHandler handler)
+ ArgumentHandler handler)
throws InitializationException {
try {
if (args.length > argOffset + 1) {
@@ -62,8 +60,7 @@ public class InputDocumentArgument extends CLIArgument {
throw new FileNotFoundException(signatureDocument);
}
- Status status = stateMachine.getStatus();
- status.setDocument(signatureDocumentFile);
+ getStatus().setDocument(signatureDocumentFile);
return argOffset + 1;
}
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/OutputFolderArgument.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/OutputFolderArgument.java
index 0c1c7fc4..9e06be17 100644
--- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/OutputFolderArgument.java
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/OutputFolderArgument.java
@@ -25,8 +25,6 @@ import org.slf4j.LoggerFactory;
import at.asit.pdfover.gui.exceptions.InitializationException;
import at.asit.pdfover.gui.utils.Messages;
-import at.asit.pdfover.gui.workflow.ConfigManipulator;
-import at.asit.pdfover.gui.workflow.StateMachine;
/**
* CLI Argument to show the usage message
@@ -50,7 +48,7 @@ public class OutputFolderArgument extends CLIArgument {
*/
@Override
public int handleArgument(String[] args, int argOffset,
- StateMachine stateMachine, ArgumentHandler handler)
+ ArgumentHandler handler)
throws InitializationException {
try {
if (args.length > argOffset + 1) {
@@ -67,9 +65,7 @@ public class OutputFolderArgument extends CLIArgument {
throw new IOException(outputFolderDir + Messages.getString("argument.error.output")); //$NON-NLS-1$
}
- ConfigManipulator configManipulator = stateMachine.getConfigManipulator();
-
- configManipulator.setDefaultOutputFolder(outputFolder);
+ getConfiguration().setDefaultOutputFolderOverlay(outputFolder);
return argOffset + 1;
}
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/PasswordArgument.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/PasswordArgument.java
index b522df45..b32a4edd 100644
--- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/PasswordArgument.java
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/PasswordArgument.java
@@ -21,8 +21,6 @@ import org.slf4j.LoggerFactory;
import at.asit.pdfover.gui.exceptions.InitializationException;
import at.asit.pdfover.gui.utils.Messages;
-import at.asit.pdfover.gui.workflow.ConfigManipulator;
-import at.asit.pdfover.gui.workflow.StateMachine;
import at.asit.pdfover.gui.workflow.states.mobilebku.ATrustHelper;
/**
@@ -47,7 +45,7 @@ public class PasswordArgument extends CLIArgument {
*/
@Override
public int handleArgument(String[] args, int argOffset,
- StateMachine stateMachine, ArgumentHandler handler)
+ ArgumentHandler handler)
throws InitializationException {
try {
if (args.length > argOffset + 1) {
@@ -56,9 +54,7 @@ public class PasswordArgument extends CLIArgument {
ATrustHelper.validatePassword(password);
- ConfigManipulator configManipulator = stateMachine.getConfigManipulator();
-
- configManipulator.setDefaultMobilePassword(password);
+ getConfiguration().setDefaultMobilePasswordOverlay(password);
return argOffset + 1;
}
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/PhoneNumberArgument.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/PhoneNumberArgument.java
index 6e24c1b7..eccebb21 100644
--- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/PhoneNumberArgument.java
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/PhoneNumberArgument.java
@@ -21,8 +21,6 @@ import org.slf4j.LoggerFactory;
import at.asit.pdfover.gui.exceptions.InitializationException;
import at.asit.pdfover.gui.utils.Messages;
-import at.asit.pdfover.gui.workflow.ConfigManipulator;
-import at.asit.pdfover.gui.workflow.StateMachine;
import at.asit.pdfover.gui.workflow.states.mobilebku.ATrustHelper;
/**
@@ -49,7 +47,7 @@ public class PhoneNumberArgument extends CLIArgument {
*/
@Override
public int handleArgument(String[] args, int argOffset,
- StateMachine stateMachine, ArgumentHandler handler)
+ ArgumentHandler handler)
throws InitializationException {
try {
@@ -59,9 +57,7 @@ public class PhoneNumberArgument extends CLIArgument {
number = ATrustHelper.normalizeMobileNumber(number);
- ConfigManipulator configManipulator = stateMachine.getConfigManipulator();
-
- configManipulator.setDefaultMobileNumber(number);
+ getConfiguration().setDefaultMobileNumberOverlay(number);
return argOffset + 1;
}
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ProxyHostArgument.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ProxyHostArgument.java
index 58ece2c6..cc50705e 100644
--- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ProxyHostArgument.java
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ProxyHostArgument.java
@@ -21,8 +21,6 @@ import org.slf4j.LoggerFactory;
import at.asit.pdfover.gui.exceptions.InitializationException;
import at.asit.pdfover.gui.utils.Messages;
-import at.asit.pdfover.gui.workflow.ConfigManipulator;
-import at.asit.pdfover.gui.workflow.StateMachine;
/**
* CLI Argument to provide the proxy host
@@ -46,16 +44,14 @@ public class ProxyHostArgument extends CLIArgument {
*/
@Override
public int handleArgument(String[] args, int argOffset,
- StateMachine stateMachine, ArgumentHandler handler)
+ ArgumentHandler handler)
throws InitializationException {
try {
if (args.length > argOffset + 1) {
String proxyHost = args[argOffset + 1];
- ConfigManipulator configManipulator = stateMachine.getConfigManipulator();
-
- configManipulator.setProxyHost(proxyHost);
+ getConfiguration().setProxyHostOverlay(proxyHost);
return argOffset + 1;
}
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ProxyPortArgument.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ProxyPortArgument.java
index 34ba0f48..a9bceead 100644
--- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ProxyPortArgument.java
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ProxyPortArgument.java
@@ -22,8 +22,6 @@ import org.slf4j.LoggerFactory;
import at.asit.pdfover.gui.exceptions.InitializationException;
import at.asit.pdfover.gui.exceptions.InvalidPortException;
import at.asit.pdfover.gui.utils.Messages;
-import at.asit.pdfover.gui.workflow.ConfigManipulator;
-import at.asit.pdfover.gui.workflow.StateMachine;
/**
* CLI Argument to provide the proxy port
@@ -47,7 +45,7 @@ public class ProxyPortArgument extends CLIArgument {
*/
@Override
public int handleArgument(String[] args, int argOffset,
- StateMachine stateMachine, ArgumentHandler handler)
+ ArgumentHandler handler)
throws InitializationException {
try {
if (args.length > argOffset + 1) {
@@ -60,9 +58,7 @@ public class ProxyPortArgument extends CLIArgument {
throw new InvalidPortException(port);
}
- ConfigManipulator configManipulator = stateMachine.getConfigManipulator();
-
- configManipulator.setProxyPort(port);
+ getConfiguration().setProxyPortOverlay(port);
return argOffset + 1;
}
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/ConfigurationComposite.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/ConfigurationComposite.java
index 706ac1f6..88fcfc0d 100644
--- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/ConfigurationComposite.java
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/ConfigurationComposite.java
@@ -35,10 +35,10 @@ import at.asit.pdfover.gui.exceptions.InvalidPortException;
import at.asit.pdfover.gui.exceptions.ResumableException;
import at.asit.pdfover.gui.utils.Messages;
import at.asit.pdfover.gui.workflow.ConfigManipulator;
-import at.asit.pdfover.gui.workflow.ConfigProvider;
import at.asit.pdfover.gui.workflow.ConfigurationContainer;
import at.asit.pdfover.gui.workflow.ConfigurationContainerImpl;
import at.asit.pdfover.gui.workflow.PDFSigner;
+import at.asit.pdfover.gui.workflow.PersistentConfigProvider;
import at.asit.pdfover.gui.workflow.states.State;
import at.asit.pdfover.signator.SignaturePosition;
@@ -212,7 +212,7 @@ public class ConfigurationComposite extends StateComposite {
/**
* configuration provider
*/
- ConfigProvider configProvider = null;
+ PersistentConfigProvider configProvider = null;
/**
* simple configuration composite
@@ -271,7 +271,7 @@ public class ConfigurationComposite extends StateComposite {
*
* @param provider
*/
- public void setConfigProvider(ConfigProvider provider) {
+ public void setConfigProvider(PersistentConfigProvider provider) {
this.configProvider = provider;
if (this.configProvider != null) {
@@ -295,28 +295,28 @@ public class ConfigurationComposite extends StateComposite {
this.configurationContainer.setSignLocale(this.configProvider.getSignLocale());
this.configurationContainer.setDefaultBKU(this.configProvider
- .getDefaultBKU());
+ .getDefaultBKUPersistent());
try {
this.configurationContainer.setEmblem(this.configProvider
- .getDefaultEmblem());
+ .getDefaultEmblemPersistent());
} catch (InvalidEmblemFile e) {
log.error("Failed to set emblem!", e); //$NON-NLS-1$
}
try {
this.configurationContainer.setMobileNumber(this.configProvider
- .getDefaultMobileNumber());
+ .getDefaultMobileNumberPersistent());
} catch (InvalidNumberException e) {
log.error("Failed to set mobile phone number!", e); //$NON-NLS-1$
}
this.configurationContainer.setOutputFolder(this.configProvider
- .getDefaultOutputFolder());
+ .getDefaultOutputFolderPersistent());
this.configurationContainer.setProxyHost(this.configProvider
- .getProxyHost());
+ .getProxyHostPersistent());
try {
this.configurationContainer.setProxyPort(this.configProvider
- .getProxyPort());
+ .getProxyPortPersistent());
} catch (InvalidPortException e) {
log.error("Failed to set proxy port!", e); //$NON-NLS-1$
}
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/ConfigManipulator.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/ConfigManipulator.java
index b5cda279..80754f4b 100644
--- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/ConfigManipulator.java
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/ConfigManipulator.java
@@ -76,12 +76,6 @@ public interface ConfigManipulator {
public void setProxyPort(int port);
/**
- * Sets the configuration file
- * @param configurationFile
- */
- public void setConfigurationFile(String configurationFile);
-
- /**
* Sets the default output folder
* @param outputFolder the default output folder
*/
@@ -94,12 +88,6 @@ public interface ConfigManipulator {
public void setSignatureNote(String note);
/**
- * Saves the current configuration to the current configuration file
- * @throws IOException
- */
- public void saveCurrentConfiguration() throws IOException;
-
- /**
* Sets the locale to be used
* @param locale the locale
*/
@@ -116,4 +104,10 @@ public interface ConfigManipulator {
* @param size a Point describing the size
*/
public void setMainWindowSize(Point size);
+
+ /**
+ * Saves the current configuration to the current configuration file
+ * @throws IOException
+ */
+ public void saveCurrentConfiguration() throws IOException;
}
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/ConfigOverlayManipulator.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/ConfigOverlayManipulator.java
new file mode 100644
index 00000000..a31309f3
--- /dev/null
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/ConfigOverlayManipulator.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright 2012 by A-SIT, Secure Information Technology Center Austria
+ *
+ * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
+ * the European Commission - subsequent versions of the EUPL (the "Licence");
+ * You may not use this work except in compliance with the Licence.
+ * You may obtain a copy of the Licence at:
+ * http://joinup.ec.europa.eu/software/page/eupl
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the Licence is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the Licence for the specific language governing permissions and
+ * limitations under the Licence.
+ */
+package at.asit.pdfover.gui.workflow;
+
+import at.asit.pdfover.signator.BKUs;
+
+/**
+ * An interface for setting the configuration overlay
+ *
+ * This overlay overrides the actual configuration but will not be saved
+ */
+public interface ConfigOverlayManipulator {
+ /**
+ * Sets the default bku type
+ * @param bku the bku type
+ */
+ public void setDefaultBKUOverlay(BKUs bku);
+
+ /**
+ * Sets the default mobile number
+ * @param number the default mobile number
+ */
+ public void setDefaultMobileNumberOverlay(String number);
+
+ /**
+ * Sets the default password
+ * @param password the default password
+ */
+ public void setDefaultMobilePasswordOverlay(String password);
+
+ /**
+ * Sets the default emblem
+ * @param emblem the default emblem
+ */
+ public void setDefaultEmblemOverlay(String emblem);
+
+ /**
+ * Sets the proxy host
+ * @param host the proxy host
+ */
+ public void setProxyHostOverlay(String host);
+
+ /**
+ * Sets the proxy port
+ * @param port the proxy port
+ */
+ public void setProxyPortOverlay(int port);
+
+ /**
+ * Sets the default output folder
+ * @param outputFolder the default output folder
+ */
+ public void setDefaultOutputFolderOverlay(String outputFolder);
+
+ /**
+ * Sets the configuration file
+ * @param configurationFile
+ */
+ public void setConfigurationFile(String configurationFile);
+}
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/ConfigProviderImpl.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/ConfigProviderImpl.java
index 81749886..ea5e2629 100644
--- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/ConfigProviderImpl.java
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/ConfigProviderImpl.java
@@ -41,7 +41,8 @@ import at.asit.pdfover.signator.SignaturePosition;
/**
* Implementation of the configuration provider and manipulator
*/
-public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator {
+public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator,
+ ConfigOverlayManipulator, PersistentConfigProvider {
/**
* SLF4J Logger instance
**/
@@ -57,11 +58,14 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator {
private ConfigurationContainer configuration;
+ private ConfigurationContainer configurationOverlay;
+
/**
* Constructor
*/
public ConfigProviderImpl() {
this.configuration = new ConfigurationContainerImpl();
+ this.configurationOverlay = new ConfigurationContainerImpl();
}
/*
@@ -257,14 +261,14 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator {
Properties props = new Properties();
props.clear();
- props.setProperty(Constants.CFG_BKU, this.getDefaultBKU().toString());
- props.setProperty(Constants.CFG_PROXY_HOST, this.getProxyHost());
+ props.setProperty(Constants.CFG_BKU, this.getDefaultBKUPersistent().toString());
+ props.setProperty(Constants.CFG_PROXY_HOST, this.getProxyHostPersistent());
props.setProperty(Constants.CFG_PROXY_PORT,
- Integer.toString(this.getProxyPort()));
- props.setProperty(Constants.CFG_EMBLEM, this.getDefaultEmblem());
+ Integer.toString(this.getProxyPortPersistent()));
+ props.setProperty(Constants.CFG_EMBLEM, this.getDefaultEmblemPersistent());
props.setProperty(Constants.CFG_SIGNATURE_NOTE, this.getSignatureNote());
- props.setProperty(Constants.CFG_MOBILE_NUMBER, this.getDefaultMobileNumber());
- props.setProperty(Constants.CFG_OUTPUT_FOLDER, this.getDefaultOutputFolder());
+ props.setProperty(Constants.CFG_MOBILE_NUMBER, this.getDefaultMobileNumberPersistent());
+ props.setProperty(Constants.CFG_OUTPUT_FOLDER, this.getDefaultOutputFolderPersistent());
props.setProperty(Constants.CFG_SIGNATURE_PLACEHOLDER_TRANSPARENCY,
Integer.toString(this.getPlaceholderTransparency()));
@@ -345,6 +349,15 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator {
this.configuration.setDefaultBKU(bku);
}
+ /* (non-Javadoc)
+ * @see at.asit.pdfover.gui.workflow.ConfigOverlayManipulator#setDefaultBKUOverlay(at.asit.pdfover.signator.BKUs)
+ */
+ @Override
+ public void setDefaultBKUOverlay(BKUs bku) {
+ this.configurationOverlay.setDefaultBKU(bku);
+
+ }
+
/*
* (non-Javadoc)
*
@@ -352,6 +365,17 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator {
*/
@Override
public BKUs getDefaultBKU() {
+ BKUs bku = this.configurationOverlay.getDefaultBKU();
+ if (bku == BKUs.NONE)
+ bku = this.configuration.getDefaultBKU();
+ return bku;
+ }
+
+ /* (non-Javadoc)
+ * @see at.asit.pdfover.gui.workflow.PersistentConfigProvider#getDefaultBKUPersistent()
+ */
+ @Override
+ public BKUs getDefaultBKUPersistent() {
return this.configuration.getDefaultBKU();
}
@@ -423,6 +447,27 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator {
}
}
+ /* (non-Javadoc)
+ * @see at.asit.pdfover.gui.workflow.ConfigOverlayManipulator#setDefaultMobileNumberOverlay(java.lang.String)
+ */
+ @Override
+ public void setDefaultMobileNumberOverlay(String number) {
+ try {
+ if (number == null || number.trim().isEmpty()) {
+ this.configurationOverlay.setMobileNumber(STRING_EMPTY);
+ } else {
+ this.configurationOverlay.setMobileNumber(number);
+ }
+ } catch (InvalidNumberException e) {
+ log.error("Error setting mobile number", e); //$NON-NLS-1$
+ try {
+ this.configurationOverlay.setMobileNumber(STRING_EMPTY);
+ } catch (InvalidNumberException e1) {
+ // Ignore
+ }
+ }
+ }
+
/*
* (non-Javadoc)
*
@@ -430,6 +475,17 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator {
*/
@Override
public String getDefaultMobileNumber() {
+ String number = this.configurationOverlay.getMobileNumber();
+ if (number == null)
+ number = this.configuration.getMobileNumber();
+ return number;
+ }
+
+ /* (non-Javadoc)
+ * @see at.asit.pdfover.gui.workflow.PersistentConfigProvider#getDefaultMobileNumberPersistent()
+ */
+ @Override
+ public String getDefaultMobileNumberPersistent() {
return this.configuration.getMobileNumber();
}
@@ -448,6 +504,18 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator {
}
}
+ /* (non-Javadoc)
+ * @see at.asit.pdfover.gui.workflow.ConfigOverlayManipulator#setDefaultMobilePasswordOverlay(java.lang.String)
+ */
+ @Override
+ public void setDefaultMobilePasswordOverlay(String password) {
+ if (password == null || password.trim().isEmpty()) {
+ this.configurationOverlay.setMobilePassword(STRING_EMPTY);
+ } else {
+ this.configurationOverlay.setMobilePassword(password);
+ }
+ }
+
/*
* (non-Javadoc)
*
@@ -455,6 +523,17 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator {
*/
@Override
public String getDefaultMobilePassword() {
+ String password = this.configurationOverlay.getMobilePassword();
+ if (password == null)
+ password = this.configuration.getMobilePassword();
+ return password;
+ }
+
+ /* (non-Javadoc)
+ * @see at.asit.pdfover.gui.workflow.PersistentConfigProvider#getDefaultMobilePasswordPersistent()
+ */
+ @Override
+ public String getDefaultMobilePasswordPersistent() {
return this.configuration.getMobilePassword();
}
@@ -482,6 +561,27 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator {
}
}
+ /* (non-Javadoc)
+ * @see at.asit.pdfover.gui.workflow.ConfigOverlayManipulator#setDefaultEmblemOverlay(java.lang.String)
+ */
+ @Override
+ public void setDefaultEmblemOverlay(String emblem) {
+ try {
+ if (emblem == null || emblem.trim().isEmpty()) {
+ this.configurationOverlay.setEmblem(STRING_EMPTY);
+ } else {
+ this.configurationOverlay.setEmblem(emblem);
+ }
+ } catch (InvalidEmblemFile e) {
+ log.error("Error setting emblem file", e); //$NON-NLS-1$
+ try {
+ this.configurationOverlay.setEmblem(STRING_EMPTY);
+ } catch (InvalidEmblemFile e1) {
+ // Ignore
+ }
+ }
+ }
+
/*
* (non-Javadoc)
*
@@ -489,6 +589,17 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator {
*/
@Override
public String getDefaultEmblem() {
+ String emblem = this.configurationOverlay.getEmblem();
+ if (emblem == null)
+ emblem = this.configuration.getEmblem();
+ return emblem;
+ }
+
+ /* (non-Javadoc)
+ * @see at.asit.pdfover.gui.workflow.PersistentConfigProvider#getDefaultEmblemPersistent()
+ */
+ @Override
+ public String getDefaultEmblemPersistent() {
return this.configuration.getEmblem();
}
@@ -507,6 +618,18 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator {
}
}
+ /* (non-Javadoc)
+ * @see at.asit.pdfover.gui.workflow.ConfigOverlayManipulator#setProxyHostOverlay(java.lang.String)
+ */
+ @Override
+ public void setProxyHostOverlay(String host) {
+ if (host == null || host.trim().isEmpty()) {
+ this.configurationOverlay.setProxyHost(STRING_EMPTY);
+ } else {
+ this.configurationOverlay.setProxyHost(host);
+ }
+ }
+
/*
* (non-Javadoc)
*
@@ -514,6 +637,17 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator {
*/
@Override
public String getProxyHost() {
+ String host = this.configurationOverlay.getProxyHost();
+ if (host == null)
+ host = this.configuration.getProxyHost();
+ return host;
+ }
+
+ /* (non-Javadoc)
+ * @see at.asit.pdfover.gui.workflow.PersistentConfigProvider#getProxyHostPersistent()
+ */
+ @Override
+ public String getProxyHostPersistent() {
return this.configuration.getProxyHost();
}
@@ -533,6 +667,19 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator {
}
}
+ /* (non-Javadoc)
+ * @see at.asit.pdfover.gui.workflow.ConfigOverlayManipulator#setProxyPortOverlay(int)
+ */
+ @Override
+ public void setProxyPortOverlay(int port) {
+ try {
+ this.configurationOverlay.setProxyPort(port);
+ } catch (InvalidPortException e) {
+ log.error("Error setting proxy port" , e); //$NON-NLS-1$
+ // ignore
+ }
+ }
+
/*
* (non-Javadoc)
*
@@ -540,6 +687,17 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator {
*/
@Override
public int getProxyPort() {
+ int port = this.configurationOverlay.getProxyPort();
+ if (port == -1)
+ port = this.configuration.getProxyPort();
+ return this.configuration.getProxyPort();
+ }
+
+ /* (non-Javadoc)
+ * @see at.asit.pdfover.gui.workflow.PersistentConfigProvider#getProxyPortPersistent()
+ */
+ @Override
+ public int getProxyPortPersistent() {
return this.configuration.getProxyPort();
}
@@ -559,6 +717,18 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator {
}
}
+ /* (non-Javadoc)
+ * @see at.asit.pdfover.gui.workflow.ConfigOverlayManipulator#setDefaultOutputFolderOverlay(java.lang.String)
+ */
+ @Override
+ public void setDefaultOutputFolderOverlay(String outputFolder) {
+ if (outputFolder == null || outputFolder.trim().isEmpty()) {
+ this.configurationOverlay.setOutputFolder(STRING_EMPTY);
+ } else {
+ this.configurationOverlay.setOutputFolder(outputFolder);
+ }
+ }
+
/*
* (non-Javadoc)
*
@@ -566,6 +736,17 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator {
*/
@Override
public String getDefaultOutputFolder() {
+ String outputFolder = this.configurationOverlay.getOutputFolder();
+ if (outputFolder == null)
+ outputFolder = this.configuration.getOutputFolder();
+ return outputFolder;
+ }
+
+ /* (non-Javadoc)
+ * @see at.asit.pdfover.gui.workflow.PersistentConfigProvider#getDefaultOutputFolderPersistent()
+ */
+ @Override
+ public String getDefaultOutputFolderPersistent() {
return this.configuration.getOutputFolder();
}
@@ -662,5 +843,4 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator {
public Point getMainWindowSize() {
return this.configuration.getMainWindowSize();
}
-
}
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/PersistentConfigProvider.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/PersistentConfigProvider.java
new file mode 100644
index 00000000..c9c02b63
--- /dev/null
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/PersistentConfigProvider.java
@@ -0,0 +1,116 @@
+/*
+ * Copyright 2012 by A-SIT, Secure Information Technology Center Austria
+ *
+ * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
+ * the European Commission - subsequent versions of the EUPL (the "Licence");
+ * You may not use this work except in compliance with the Licence.
+ * You may obtain a copy of the Licence at:
+ * http://joinup.ec.europa.eu/software/page/eupl
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the Licence is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the Licence for the specific language governing permissions and
+ * limitations under the Licence.
+ */
+package at.asit.pdfover.gui.workflow;
+
+import java.util.Locale;
+
+import org.eclipse.swt.graphics.Point;
+
+import at.asit.pdfover.signator.BKUs;
+import at.asit.pdfover.signator.SignaturePosition;
+
+/**
+ * An interface for reading the persistent configuration
+ *
+ * This reads the configuration that will be saved
+ */
+public interface PersistentConfigProvider {
+ /**
+ * Get the default configured BKU
+ * @return the default configured BKU
+ */
+ public BKUs getDefaultBKUPersistent();
+
+ /**
+ * Gets the default Mobile number
+ * @return the default mobile number
+ */
+ public String getDefaultMobileNumberPersistent();
+
+ /**
+ * Gets the password to use for Mobile BKU
+ * @return the password
+ */
+ public String getDefaultMobilePasswordPersistent();
+
+ /**
+ * Gets the filename of the default emblem
+ * @return the emblem
+ */
+ public String getDefaultEmblemPersistent();
+
+ /**
+ * Gets the proxy host
+ * @return the proxy hostname or ip address
+ */
+ public String getProxyHostPersistent();
+
+ /**
+ * Gets the proxy port
+ * @return the proxy port
+ */
+ public int getProxyPortPersistent();
+
+ /**
+ * Gets the default output folder for signed documents
+ * @return the default output folder
+ */
+ public String getDefaultOutputFolderPersistent();
+
+ // Declare the other configuration getters for convenience
+
+ /**
+ * Get the default configured SignaturePosition
+ * @return the default configured SignaturePosition or null if not configured
+ */
+ public SignaturePosition getDefaultSignaturePosition();
+
+ /**
+ * Get the transparency of the signature placeholder
+ * @return the transparency of the signature placeholder
+ */
+ public int getPlaceholderTransparency();
+
+ /**
+ * Gets the mobile BKU URL
+ * @return the mobile BKU URL
+ */
+ public String getMobileBKUURL();
+
+ /**
+ * Get the signature note text to use
+ * @return the signature note text
+ */
+ public String getSignatureNote();
+
+ /**
+ * Gets the configured locale
+ * @return the configured locale
+ */
+ public Locale getConfigLocale();
+
+ /**
+ * Gets the configured locale
+ * @return the configured locale
+ */
+ public Locale getSignLocale();
+
+ /**
+ * Gets the configured MainWindow size
+ * @return the configured MainWindow size
+ */
+ public Point getMainWindowSize();
+}
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StateMachine.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StateMachine.java
index 9bcc757e..a054daaf 100644
--- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StateMachine.java
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StateMachine.java
@@ -28,11 +28,23 @@ public interface StateMachine {
public ConfigProvider getConfigProvider();
/**
+ * Get the PersistentConfigProvider
+ * @return the PersistentConfigProvider
+ */
+ public PersistentConfigProvider getPersistentConfigProvider();
+
+ /**
* Gets the Config Manipulator
* @return the config manipulator
*/
public ConfigManipulator getConfigManipulator();
-
+
+ /**
+ * Gets the Config Overlay Manipulator
+ * @return the config overlay manipulator
+ */
+ public ConfigOverlayManipulator getConfigOverlayManipulator();
+
/**
* Get the PDF Signer
* @return the PDF Signer
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StateMachineImpl.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StateMachineImpl.java
index 18943cbe..1da947f9 100644
--- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StateMachineImpl.java
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StateMachineImpl.java
@@ -268,7 +268,6 @@ public class StateMachineImpl implements StateMachine, GUIProvider {
/*
* (non-Javadoc)
- *
* @see at.asit.pdfover.gui.workflow.StateMachine#getConfigProvider()
*/
@Override
@@ -278,7 +277,31 @@ public class StateMachineImpl implements StateMachine, GUIProvider {
/*
* (non-Javadoc)
- *
+ * @see at.asit.pdfover.gui.workflow.StateMachine#getConfigProvider()
+ */
+ @Override
+ public PersistentConfigProvider getPersistentConfigProvider() {
+ return this.configProvider;
+ }
+
+ /* (non-Javadoc)
+ * @see at.asit.pdfover.gui.workflow.StateMachine#getConfigManipulator()
+ */
+ @Override
+ public ConfigManipulator getConfigManipulator() {
+ return this.configProvider;
+ }
+
+ /* (non-Javadoc)
+ * @see at.asit.pdfover.gui.workflow.StateMachine#getConfigOverlayManipulator()
+ */
+ @Override
+ public ConfigOverlayManipulator getConfigOverlayManipulator() {
+ return this.configProvider;
+ }
+
+ /*
+ * (non-Javadoc)
* @see at.asit.pdfover.gui.workflow.StateMachine#getStatus()
*/
@Override
@@ -288,7 +311,6 @@ public class StateMachineImpl implements StateMachine, GUIProvider {
/*
* (non-Javadoc)
- *
* @see at.asit.pdfover.gui.workflow.StateMachine#getPDFSigner()
*/
@Override
@@ -298,7 +320,6 @@ public class StateMachineImpl implements StateMachine, GUIProvider {
/*
* (non-Javadoc)
- *
* @see at.asit.pdfover.gui.workflow.StateMachine#getGUIProvider()
*/
@Override
@@ -333,14 +354,6 @@ public class StateMachineImpl implements StateMachine, GUIProvider {
}
/* (non-Javadoc)
- * @see at.asit.pdfover.gui.workflow.StateMachine#getConfigManipulator()
- */
- @Override
- public ConfigManipulator getConfigManipulator() {
- return this.configProvider;
- }
-
- /* (non-Javadoc)
* @see at.asit.pdfover.gui.workflow.GUIProvider#getMainShell()
*/
@Override
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/ConfigurationUIState.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/ConfigurationUIState.java
index 57a7aa9b..47c21063 100644
--- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/ConfigurationUIState.java
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/ConfigurationUIState.java
@@ -45,7 +45,7 @@ public class ConfigurationUIState extends State {
this.configurationComposite =
this.stateMachine.getGUIProvider().createComposite(ConfigurationComposite.class, SWT.RESIZE, this);
this.configurationComposite.setConfigManipulator(this.stateMachine.getConfigManipulator());
- this.configurationComposite.setConfigProvider(this.stateMachine.getConfigProvider());
+ this.configurationComposite.setConfigProvider(this.stateMachine.getPersistentConfigProvider());
this.configurationComposite.setSigner(this.stateMachine.getPDFSigner());
}
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareConfigurationState.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareConfigurationState.java
index e726d7b4..955d125a 100644
--- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareConfigurationState.java
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareConfigurationState.java
@@ -71,20 +71,20 @@ public class PrepareConfigurationState extends State {
public PrepareConfigurationState(StateMachine stateMachine) {
super(stateMachine);
this.handler = new ArgumentHandler(this.stateMachine);
- this.handler.addCLIArgument(new HelpArgument());
- this.handler.addCLIArgument(new BKUArgument());
- this.handler.addCLIArgument(new PhoneNumberArgument());
- this.handler.addCLIArgument(new EmblemArgument());
- this.handler.addCLIArgument(new PasswordArgument());
- this.handler.addCLIArgument(new ProxyHostArgument());
- this.handler.addCLIArgument(new ProxyPortArgument());
- this.handler.addCLIArgument(new OutputFolderArgument());
- this.handler.addCLIArgument(new InputDocumentArgument());
+ this.handler.addCLIArgument(HelpArgument.class);
+ this.handler.addCLIArgument(BKUArgument.class);
+ this.handler.addCLIArgument(PhoneNumberArgument.class);
+ this.handler.addCLIArgument(EmblemArgument.class);
+ this.handler.addCLIArgument(PasswordArgument.class);
+ this.handler.addCLIArgument(ProxyHostArgument.class);
+ this.handler.addCLIArgument(ProxyPortArgument.class);
+ this.handler.addCLIArgument(OutputFolderArgument.class);
+ this.handler.addCLIArgument(InputDocumentArgument.class);
// adding config file argument to this handler so it appears in help
- this.handler.addCLIArgument(new ConfigFileArgument());
+ this.handler.addCLIArgument(ConfigFileArgument.class);
this.configFileHandler = new ArgumentHandler(this.stateMachine);
- this.configFileHandler.addCLIArgument(new ConfigFileArgument());
+ this.configFileHandler.addCLIArgument(ConfigFileArgument.class);
}
private void initializeFromConfigurationFile(String filename)