summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ArgumentHandler.java6
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareConfigurationState.java245
2 files changed, 128 insertions, 123 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 6ba19809..dbc61e24 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
@@ -106,7 +106,7 @@ public class ArgumentHandler {
}
/**
- * Set by an cli argument if it wants the program to exit
+ * Set by a cli argument if it wants the program to exit
*
* @param requireExit
*/
@@ -115,11 +115,11 @@ public class ArgumentHandler {
}
/**
- * Checks if one argument required the program to exit again
+ * Checks if one argument required the program to exit immediately
*
* @return true or false
*/
- public boolean IsRequireExit() {
+ public boolean doesRequireExit() {
return this.requiredExit;
}
}
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 e9f75539..e726d7b4 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
@@ -63,7 +63,7 @@ public class PrepareConfigurationState extends State {
private ArgumentHandler handler;
- private ArgumentHandler configFilehandler;
+ private ArgumentHandler configFileHandler;
/**
* @param stateMachine
@@ -83,8 +83,8 @@ public class PrepareConfigurationState extends State {
// adding config file argument to this handler so it appears in help
this.handler.addCLIArgument(new ConfigFileArgument());
- this.configFilehandler = new ArgumentHandler(this.stateMachine);
- this.configFilehandler.addCLIArgument(new ConfigFileArgument());
+ this.configFileHandler = new ArgumentHandler(this.stateMachine);
+ this.configFileHandler.addCLIArgument(new ConfigFileArgument());
}
private void initializeFromConfigurationFile(String filename)
@@ -127,150 +127,155 @@ public class PrepareConfigurationState extends State {
throws InitializationException {
handler.handleArguments(args);
- if (handler.IsRequireExit()) {
+ if (handler.doesRequireExit()) {
this.stateMachine.exit();
}
}
- @Override
- public void run() {
- // Read config file
- try {
+ private void createConfiguration(File configDir) throws InitializationException {
+ boolean allOK = false;
- File configDir = new File(this.stateMachine.getConfigProvider().getConfigurationDirectory());
- File configFile = new File(this.stateMachine.getConfigProvider().getConfigurationDirectory()
- + FILE_SEPARATOR + Constants.DEFAULT_CONFIG_FILENAME);
- if (!configDir.exists() || !configFile.exists()) {
- boolean allOK = false;
+ log.info("Creating configuration directory"); //$NON-NLS-1$
- log.info("Creating configuration directory"); //$NON-NLS-1$
+ try {
+ if (!configDir.exists()) {
+ configDir.mkdir();
+ }
+ // Copy PDFOver config to config Dir
- try {
- if (!configDir.exists()) {
- configDir.mkdir();
- }
- // Copy PDFOver config to config Dir
+ // 1Kb buffer
+ byte[] buffer = new byte[1024];
+ int byteCount = 0;
- // 1Kb buffer
- byte[] buffer = new byte[1024];
- int byteCount = 0;
+ InputStream inputStream = null;
+ FileOutputStream pdfOverConfig = null;
+ try {
+ inputStream = this.getClass().getResourceAsStream(
+ RES_SEPARATOR + Constants.DEFAULT_CONFIG_FILENAME);
+ pdfOverConfig = new FileOutputStream(this.stateMachine.getConfigProvider().getConfigurationDirectory()
+ + FILE_SEPARATOR + Constants.DEFAULT_CONFIG_FILENAME);
- InputStream inputStream = null;
- FileOutputStream pdfOverConfig = null;
+ while ((byteCount = inputStream.read(buffer)) >= 0) {
+ pdfOverConfig.write(buffer, 0, byteCount);
+ }
+ } catch (Exception e) {
+ log.error(
+ "Failed to write PDF Over config file to config directory", e); //$NON-NLS-1$
+ throw new InitializationException(
+ "Failed to write PDF Over config file to config directory", //$NON-NLS-1$
+ e);
+ } finally {
+ if (pdfOverConfig != null) {
try {
- inputStream = this.getClass().getResourceAsStream(
- RES_SEPARATOR + Constants.DEFAULT_CONFIG_FILENAME);
- pdfOverConfig = new FileOutputStream(this.stateMachine.getConfigProvider().getConfigurationDirectory()
- + FILE_SEPARATOR + Constants.DEFAULT_CONFIG_FILENAME);
-
- while ((byteCount = inputStream.read(buffer)) >= 0) {
- pdfOverConfig.write(buffer, 0, byteCount);
- }
- } catch (Exception e) {
- log.error(
- "Failed to write PDF Over config file to config directory", e); //$NON-NLS-1$
- throw new InitializationException(
- "Failed to write PDF Over config file to config directory", //$NON-NLS-1$
- e);
- } finally {
- if (pdfOverConfig != null) {
- try {
- pdfOverConfig.close();
- } catch (IOException e) {
- log.warn(
- "Failed to close File stream for PDFOver config", e); //$NON-NLS-1$
- }
- }
-
- if (inputStream != null) {
- try {
- inputStream.close();
- } catch (IOException e) {
- log.warn(
- "Failed to close Resource stream for PDFOver config", e); //$NON-NLS-1$
- }
- }
+ pdfOverConfig.close();
+ } catch (IOException e) {
+ log.warn(
+ "Failed to close File stream for PDFOver config", e); //$NON-NLS-1$
}
+ }
- inputStream = null;
- pdfOverConfig = null;
+ if (inputStream != null) {
try {
- inputStream = this.getClass().getResourceAsStream(
- RES_SEPARATOR + Constants.DEFAULT_LOG4J_FILENAME);
- pdfOverConfig = new FileOutputStream(this.stateMachine.getConfigProvider().getConfigurationDirectory()
- + FILE_SEPARATOR + Constants.DEFAULT_LOG4J_FILENAME);
-
- while ((byteCount = inputStream.read(buffer)) >= 0) {
- pdfOverConfig.write(buffer, 0, byteCount);
- }
- } catch (Exception e) {
- log.error(
- "Failed to write log4j config file to config directory", e); //$NON-NLS-1$
- throw new InitializationException(
- "Failed to write log4j config file to config directory", //$NON-NLS-1$
- e);
- } finally {
- if (pdfOverConfig != null) {
- try {
- pdfOverConfig.close();
- } catch (IOException e) {
- log.warn(
- "Failed to close File stream for log4j config", e); //$NON-NLS-1$
- }
- }
-
- if (inputStream != null) {
- try {
- inputStream.close();
- } catch (IOException e) {
- log.warn(
- "Failed to close Resource stream for log4j config", e); //$NON-NLS-1$
- }
- }
+ inputStream.close();
+ } catch (IOException e) {
+ log.warn(
+ "Failed to close Resource stream for PDFOver config", e); //$NON-NLS-1$
}
-
- InputStream is = this.getClass().getResourceAsStream(
- "/cfg/PDFASConfig.zip"); //$NON-NLS-1$
+ }
+ }
+ inputStream = null;
+ pdfOverConfig = null;
+ try {
+ inputStream = this.getClass().getResourceAsStream(
+ RES_SEPARATOR + Constants.DEFAULT_LOG4J_FILENAME);
+ pdfOverConfig = new FileOutputStream(this.stateMachine.getConfigProvider().getConfigurationDirectory()
+ + FILE_SEPARATOR + Constants.DEFAULT_LOG4J_FILENAME);
+
+ while ((byteCount = inputStream.read(buffer)) >= 0) {
+ pdfOverConfig.write(buffer, 0, byteCount);
+ }
+ } catch (Exception e) {
+ log.error(
+ "Failed to write log4j config file to config directory", e); //$NON-NLS-1$
+ throw new InitializationException(
+ "Failed to write log4j config file to config directory", //$NON-NLS-1$
+ e);
+ } finally {
+ if (pdfOverConfig != null) {
try {
- Unzipper.unzip(is, configDir.getAbsolutePath());
+ pdfOverConfig.close();
} catch (IOException e) {
- log.error(
- "Failed to create local configuration directory!", e); //$NON-NLS-1$
- throw new InitializationException(
- "Failed to create local configuration directory!", //$NON-NLS-1$
- e);
+ log.warn(
+ "Failed to close File stream for log4j config", e); //$NON-NLS-1$
}
-
- // initialize from config file
- this.initializeFromConfigurationFile(this.stateMachine
- .getConfigProvider().getConfigurationFile());
-
- this.stateMachine.getConfigManipulator().setSignatureNote(Messages.getString("simple_config.Note_Default")); //$NON-NLS-1$
-
+ }
+
+ if (inputStream != null) {
try {
- this.stateMachine.getConfigManipulator().saveCurrentConfiguration();
+ inputStream.close();
} catch (IOException e) {
- log.error(
- "Failed to set local configuration signature note!", e); //$NON-NLS-1$
- throw new InitializationException(
- "Failed to set local configuration signature note!", //$NON-NLS-1$
- e);
- }
-
- allOK = true;
- } finally {
- if (!allOK) {
- configDir.delete();
+ log.warn(
+ "Failed to close Resource stream for log4j config", e); //$NON-NLS-1$
}
}
+ }
+
+ InputStream is = this.getClass().getResourceAsStream(
+ "/cfg/PDFASConfig.zip"); //$NON-NLS-1$
+
+ try {
+ Unzipper.unzip(is, configDir.getAbsolutePath());
+ } catch (IOException e) {
+ log.error(
+ "Failed to create local configuration directory!", e); //$NON-NLS-1$
+ throw new InitializationException(
+ "Failed to create local configuration directory!", //$NON-NLS-1$
+ e);
+ }
+
+ // initialize from config file
+ this.initializeFromConfigurationFile(this.stateMachine
+ .getConfigProvider().getConfigurationFile());
+
+ this.stateMachine.getConfigManipulator().setSignatureNote(Messages.getString("simple_config.Note_Default")); //$NON-NLS-1$
+
+ try {
+ this.stateMachine.getConfigManipulator().saveCurrentConfiguration();
+ } catch (IOException e) {
+ log.error(
+ "Failed to set local configuration signature note!", e); //$NON-NLS-1$
+ throw new InitializationException(
+ "Failed to set local configuration signature note!", //$NON-NLS-1$
+ e);
+ }
+
+ allOK = true;
+ } finally {
+ if (!allOK) {
+ configDir.delete();
+ }
+ }
+ }
+
+ @Override
+ public void run() {
+ // Read config file
+ try {
+
+ File configDir = new File(this.stateMachine.getConfigProvider().getConfigurationDirectory());
+ File configFile = new File(this.stateMachine.getConfigProvider().getConfigurationDirectory()
+ + FILE_SEPARATOR + Constants.DEFAULT_CONFIG_FILENAME);
+ if (!configDir.exists() || !configFile.exists()) {
+ log.debug("Creating configuration file"); //$NON-NLS-1$
+ createConfiguration(configDir);
} else {
log.debug("Configuration directory exists!"); //$NON-NLS-1$
}
- // Read cli arguments with for config file!
+ // Read cli arguments for config file first
this.initializeFromArguments(this.stateMachine.getCmdArgs(),
- this.configFilehandler);
+ this.configFileHandler);
// initialize from config file
this.initializeFromConfigurationFile(this.stateMachine