From b8b015d3fa3b58cb5e70b4cd2ad1b8fe2a424af9 Mon Sep 17 00:00:00 2001 From: tkellner Date: Wed, 10 Apr 2013 18:58:07 +0000 Subject: Added missing CLI Parameter Using proxy parameters if set Added localization string file git-svn-id: https://joinup.ec.europa.eu/svn/pdf-over/trunk@60 174cde9d-5d70-4d2a-aa98-46368bc2aaf7 --- .../gui/cliarguments/OutputFolderArgument.java | 86 ++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/OutputFolderArgument.java (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/OutputFolderArgument.java') 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 new file mode 100644 index 00000000..5aea45bf --- /dev/null +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/OutputFolderArgument.java @@ -0,0 +1,86 @@ +/* + * 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.cliarguments; + +// Imports +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import at.asit.pdfover.gui.exceptions.InitializationException; +import at.asit.pdfover.gui.exceptions.InvalidPortException; +import at.asit.pdfover.gui.workflow.ConfigManipulator; +import at.asit.pdfover.gui.workflow.StateMachine; + +/** + * + */ +public class OutputFolderArgument extends CLIArgument { + /** + * Constructor + */ + public OutputFolderArgument() { + super(new String[] {"-o"}, "Sets the output folder to use. Example: -o "); //$NON-NLS-1$ + } + + /** + * SLF4J Logger instance + **/ + private static final Logger log = LoggerFactory + .getLogger(OutputFolderArgument.class); + + /* (non-Javadoc) + * @see at.asit.pdfover.gui.cliarguments.CLIArgument#handleArgument(java.lang.String[], int, at.asit.pdfover.gui.workflow.StateMachine, at.asit.pdfover.gui.cliarguments.ArgumentHandler) + */ + @Override + public int handleArgument(String[] args, int argOffset, + StateMachine stateMachine, ArgumentHandler handler) + throws InitializationException { + try { + if (args.length > argOffset + 1) { + + String outputFolder = args[argOffset + 1]; + + File outputFolderDir = new File(outputFolder); + + if(!outputFolderDir.exists()) { + throw new FileNotFoundException(outputFolder); + } + + if(!outputFolderDir.isDirectory()) { + throw new IOException(outputFolderDir + " is not a directory"); + } + + ConfigManipulator configManipulator = stateMachine.getConfigManipulator(); + + configManipulator.setDefaultOutputFolder(outputFolder); + + return argOffset + 1; + } + } catch (Exception ex) { + log.error("Output folder argument invalid!", ex); //$NON-NLS-1$ + throw new InitializationException( + "Output folder argument invalid! Use: " + this.getHelpText(), ex); + } + + throw new InitializationException( + "Output folder argument invalid! Use: " + this.getHelpText(), null); + } + +} -- cgit v1.2.3