From 065d2df5e1df70d21534c6cbda608dca5b7d500b Mon Sep 17 00:00:00 2001 From: tkellner Date: Mon, 1 Oct 2012 08:30:37 +0000 Subject: Configuration Changes git-svn-id: https://svn.iaik.tugraz.at/svn/egiz/prj/current/12PDF-OVER-4.0@12530 3a0b52a2-8410-0410-bc02-ff6273a87459 --- .../pdfover/gui/workflow/ConfigProviderImpl.java | 206 ++++++++++++++++++++- 1 file changed, 200 insertions(+), 6 deletions(-) (limited to 'trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/ConfigProviderImpl.java') diff --git a/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/ConfigProviderImpl.java b/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/ConfigProviderImpl.java index adedd1b0..6a128e73 100644 --- a/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/ConfigProviderImpl.java +++ b/trunk/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$ + + } + } -- cgit v1.2.3