summaryrefslogtreecommitdiff
path: root/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/ConfigProviderImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/ConfigProviderImpl.java')
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/ConfigProviderImpl.java206
1 files changed, 200 insertions, 6 deletions
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 adedd1b0..6a128e73 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
@@ -16,6 +16,11 @@
package at.asit.pdfover.gui.workflow;
// Imports
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Properties;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -25,30 +30,219 @@ import at.asit.pdfover.signator.SignaturePosition;
/**
*
*/
-public class ConfigProviderImpl implements ConfigProvider {
+public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator {
/**
* SLF4J Logger instance
**/
@SuppressWarnings("unused")
private static final Logger log = LoggerFactory
.getLogger(ConfigProviderImpl.class);
-
+
+ private BKUs defaultBKU = BKUs.NONE;
+
+ private SignaturePosition defaultSignaturePosition = null;
+
+ private String defaultMobileNumber = null;
+
+ private String defaultPassword = null;
+
+ private String emblem = null;
+
+ private String proxyHost = null;
+
+ private String configurationFile = ConfigManipulator.DEFAULT_CONFIG_FILE;
+
+ private int proxyPort = -1;
+
+ /**
+ * Sets the default bku type
+ * @param bku the bku type
+ */
+ @Override
+ public void setDefaultBKU(BKUs bku) {
+ this.defaultBKU = bku;
+ }
+
/* (non-Javadoc)
* @see at.asit.pdfover.gui.workflow.ConfigProvider#getDefaultBKU()
*/
@Override
public BKUs getDefaultBKU() {
- // TODO Read Config
- return BKUs.NONE;
+ return this.defaultBKU;
}
+ /**
+ * Sets the default signature position
+ *
+ * @param signaturePosition the default signature position
+ */
+ @Override
+ public void setDefaultSignaturePosition(SignaturePosition signaturePosition) {
+ this.defaultSignaturePosition = signaturePosition;
+ }
+
/* (non-Javadoc)
* @see at.asit.pdfover.gui.workflow.ConfigProvider#getDefaultSignaturePosition()
*/
@Override
public SignaturePosition getDefaultSignaturePosition() {
- // TODO Read Config
- return null;
+ return this.defaultSignaturePosition;
}
+ /**
+ * Sets the default mobile number
+ * @param number the default mobile number
+ */
+ @Override
+ public void setDefaultMobileNumber(String number) {
+ if(number == null || number.trim().equals("")) { //$NON-NLS-1$
+ this.defaultMobileNumber = null;
+ } else {
+ this.defaultMobileNumber = number;
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see at.asit.pdfover.gui.workflow.ConfigProvider#getDefaultMobileNumber()
+ */
+ @Override
+ public String getDefaultMobileNumber() {
+ return this.defaultMobileNumber;
+ }
+
+ /**
+ * Sets the default password
+ * @param password the default password
+ */
+ @Override
+ public void setDefaultPassword(String password) {
+ if(password == null || password.trim().equals("")) { //$NON-NLS-1$
+ this.defaultPassword = null;
+ } else {
+ this.defaultPassword = password;
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see at.asit.pdfover.gui.workflow.ConfigProvider#getDefaultPassword()
+ */
+ @Override
+ public String getDefaultPassword() {
+ return this.defaultPassword;
+ }
+
+ /**
+ * Sets the default emblem
+ *
+ * @param emblem the default emblem
+ */
+ @Override
+ public void setDefaultEmblem(String emblem) {
+ if(emblem == null || emblem.trim().equals("")) { //$NON-NLS-1$
+ this.emblem = null;
+ } else {
+ this.emblem = emblem;
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see at.asit.pdfover.gui.workflow.ConfigProvider#getDefaultEmblem()
+ */
+ @Override
+ public String getDefaultEmblem() {
+ return this.emblem;
+ }
+
+ /**
+ * Sets the proxy host
+ * @param host the proxy host
+ */
+ @Override
+ public void setProxyHost(String host) {
+ if(host == null || host.trim().equals("")) { //$NON-NLS-1$
+ this.emblem = null;
+ } else {
+ this.emblem = host;
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see at.asit.pdfover.gui.workflow.ConfigProvider#getProxyHost()
+ */
+ @Override
+ public String getProxyHost() {
+ return this.proxyHost;
+ }
+
+ /**
+ * Sets the proxy port
+ *
+ * @param port the proxy port
+ */
+ @Override
+ public void setProxyPort(int port) {
+ this.proxyPort = port;
+ }
+
+ /* (non-Javadoc)
+ * @see at.asit.pdfover.gui.workflow.ConfigProvider#getProxyPort()
+ */
+ @Override
+ public int getProxyPort() {
+ return this.proxyPort;
+ }
+
+ /* (non-Javadoc)
+ * @see at.asit.pdfover.gui.workflow.ConfigManipulator#setConfigurationFile(java.lang.String)
+ */
+ @Override
+ public void setConfigurationFile(String configurationFile) {
+ this.configurationFile = configurationFile;
+ }
+
+ /* (non-Javadoc)
+ * @see at.asit.pdfover.gui.workflow.ConfigProvider#getConfigurationFile()
+ */
+ @Override
+ public String getConfigurationFile() {
+ return this.configurationFile;
+ }
+
+ /* (non-Javadoc)
+ * @see at.asit.pdfover.gui.workflow.ConfigManipulator#saveCurrentConfiguration()
+ */
+ @Override
+ public void saveCurrentConfiguration() throws IOException{
+ String filename = this.getConfigurationFile();
+
+ File configFile = new File(filename);
+
+ Properties props = new Properties();
+
+ props.setProperty(BKU_CONFIG, this.getDefaultBKU().toString());
+ props.setProperty(PROXY_HOST_CONFIG, this.getProxyHost());
+ props.setProperty(PROXY_PORT_CONFIG, Integer.toString(this.getProxyPort()));
+ props.setProperty(EMBLEM_CONFIG, this.getDefaultEmblem());
+ props.setProperty(MOBILE_NUMBER_CONFIG, this.getDefaultMobileNumber());
+
+ SignaturePosition pos = this.getDefaultSignaturePosition();
+
+ if(pos == null) {
+ props.setProperty(SIGNATURE_POSITION_CONFIG, ""); //$NON-NLS-1$
+ } else if(pos.useAutoPositioning()) {
+ props.setProperty(SIGNATURE_POSITION_CONFIG, "auto"); //$NON-NLS-1$
+ } else {
+ props.setProperty(SIGNATURE_POSITION_CONFIG,
+ String.format("x=%f;y=%f;p=%d", //$NON-NLS-1$
+ pos.getX(),
+ pos.getY(),
+ pos.getPage()));
+ }
+
+ FileOutputStream outputstream = new FileOutputStream(configFile, false);
+
+ props.store(outputstream, "Configuration file was generated!"); //$NON-NLS-1$
+
+ }
+
}