diff options
Diffstat (limited to 'pdf-over-gui')
15 files changed, 521 insertions, 26 deletions
| diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/DeveloperMain.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/DeveloperMain.java index 1fdb550d..23b14d4c 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/DeveloperMain.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/DeveloperMain.java @@ -19,7 +19,6 @@ package at.asit.pdfover.gui;  import org.slf4j.Logger;  import org.slf4j.LoggerFactory; -import at.asit.pdfover.gui.cliarguments.ArgumentHandler;  import at.asit.pdfover.gui.workflow.StateMachineImpl;  /** @@ -44,11 +43,11 @@ public class DeveloperMain {  		//System.setProperty("log4j.configuration", "log4j.properties");  		StateMachineImpl stateMachine = new StateMachineImpl(args); -		log.debug("Starting stateMachine ..."); +		log.debug("Starting stateMachine ..."); //$NON-NLS-1$  		stateMachine.start(); -		log.debug("Ended stateMachine ..."); +		log.debug("Ended stateMachine ..."); //$NON-NLS-1$  	}  } diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/MainWindow.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/MainWindow.java index dd735bbf..8a9c217d 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/MainWindow.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/MainWindow.java @@ -25,9 +25,6 @@ import org.eclipse.swt.custom.CLabel;  import org.eclipse.swt.custom.StackLayout;  import org.eclipse.swt.events.MouseEvent;  import org.eclipse.swt.events.MouseListener; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener;  import org.eclipse.swt.graphics.Image;  import org.eclipse.swt.graphics.ImageData;  import org.eclipse.swt.layout.FormAttachment; @@ -75,7 +72,30 @@ public class MainWindow {  	 * Main bar Buttons  	 */  	public enum Buttons { -		CONFIG, OPEN, POSITION, SIGN, FINAL +		/** +		 * the configuration button +		 */ +		CONFIG,  +		 +		/** +		 * the open button +		 */ +		OPEN,  +		 +		/** +		 * the position button +		 */ +		POSITION,  +		 +		/** +		 * the signature button +		 */ +		SIGN,  +		 +		/** +		 * the final button +		 */ +		FINAL  	}  	private Map<Buttons, MainBarButton> buttonMap; @@ -179,7 +199,7 @@ public class MainWindow {  	protected void createContents() {  		this.shell = new Shell();  		getShell().setSize(500, 800); -		getShell().setText("PDF-Over"); +		getShell().setText(Messages.getString("main.title")); //$NON-NLS-1$  		getShell().setLayout(new FormLayout()); @@ -199,7 +219,8 @@ public class MainWindow {  		fd_btn_config.top = new FormAttachment(0);  		fd_btn_config.left = new FormAttachment(0, 2);  		this.btn_config.setLayoutData(fd_btn_config); -		this.btn_config.setText("Config"); +		this.btn_config.setText(Messages.getString("main.configuration")); //$NON-NLS-1$ +		this.btn_config.setToolTipText(Messages.getString("main.configuration")); //$NON-NLS-1$  		this.btn_config.addMouseListener(new MouseListener() {  			@Override @@ -220,7 +241,7 @@ public class MainWindow {  		});  		this.buttonMap.put(Buttons.CONFIG, this.btn_config); -		InputStream is = this.getClass().getResourceAsStream("/img/config.png"); +		InputStream is = this.getClass().getResourceAsStream("/img/config.png"); //$NON-NLS-1$  		this.btn_config.setImage(new Image(Display.getDefault(), new ImageData(is))); @@ -231,7 +252,8 @@ public class MainWindow {  		fd_btn_open.top = new FormAttachment(0);  		fd_btn_open.left = new FormAttachment(0, 45);  		this.btn_open.setLayoutData(fd_btn_open); -		this.btn_open.setText("Open"); +		this.btn_open.setText(Messages.getString("main.open")); //$NON-NLS-1$ +		this.btn_open.setToolTipText(Messages.getString("main.open")); //$NON-NLS-1$  		this.btn_open.addMouseListener(new MouseListener() {  			@Override @@ -259,7 +281,8 @@ public class MainWindow {  		fd_btn_position.top = new FormAttachment(0);  		fd_btn_position.left = new FormAttachment(35, -5);  		this.btn_position.setLayoutData(fd_btn_position); -		this.btn_position.setText("Positon ..."); +		this.btn_position.setText(Messages.getString("main.position")); //$NON-NLS-1$ +		this.btn_position.setToolTipText(Messages.getString("main.position")); //$NON-NLS-1$  		this.btn_position.addMouseListener(new MouseListener() {  			@Override @@ -287,7 +310,8 @@ public class MainWindow {  		fd_btn_sign.top = new FormAttachment(0);  		fd_btn_sign.left = new FormAttachment(60, -5);  		this.btn_sign.setLayoutData(fd_btn_sign); -		this.btn_sign.setText("Sign ..."); +		this.btn_sign.setText(Messages.getString("main.signature")); //$NON-NLS-1$ +		this.btn_sign.setToolTipText(Messages.getString("main.signature")); //$NON-NLS-1$  		this.buttonMap.put(Buttons.SIGN, this.btn_sign);  		MainBarEndButton end = new MainBarEndButton(composite, SWT.NONE); @@ -297,7 +321,8 @@ public class MainWindow {  		fd_btn_end.top = new FormAttachment(0);  		fd_btn_end.left = new FormAttachment(85, -5);  		end.setLayoutData(fd_btn_end); -		end.setText("Done"); +		end.setText(Messages.getString("main.done")); //$NON-NLS-1$ +		end.setToolTipText(Messages.getString("main.done")); //$NON-NLS-1$  		this.buttonMap.put(Buttons.FINAL, end);  		this.container = new Composite(getShell(), SWT.RESIZE); @@ -317,7 +342,7 @@ public class MainWindow {  		fd_lblNewLabel.top = new FormAttachment(100, -20);  		fd_lblNewLabel.left = new FormAttachment(0, 5);  		this.lbl_status.setLayoutData(fd_lblNewLabel); -		this.lbl_status.setText("New Label"); +		this.lbl_status.setText("DEBUG LABEL!!"); //$NON-NLS-1$  	}  	/** diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Messages.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Messages.java new file mode 100644 index 00000000..3f700f14 --- /dev/null +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Messages.java @@ -0,0 +1,46 @@ +/* + * 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; + +// Imports +import java.util.MissingResourceException; +import java.util.ResourceBundle; + +/** + *  + */ +public class Messages { +	private static final String BUNDLE_NAME = "at.asit.pdfover.gui.messages"; //$NON-NLS-1$ + +	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle +			.getBundle(BUNDLE_NAME); + +	private Messages() { +	} + +	/** +	 * Gets the localized message +	 * @param key +	 * @return the localized message +	 */ +	public static String getString(String key) { +		try { +			return RESOURCE_BUNDLE.getString(key); +		} catch (MissingResourceException e) { +			return '!' + key + '!'; +		} +	} +} 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 e8d721ca..5c039c83 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 @@ -57,11 +57,11 @@ public class BKUArgument extends CLIArgument {  			}  		} catch (Exception ex) {  			throw new InitializationException( -					"BKU Argument invalid! Use: " + this.getHelpText(), ex); //$NON-NLS-1$ +					"BKU Argument invalid! Use: " + this.getHelpText(), ex);   		}  		throw new InitializationException( -				"BKU Argument invalid! Use: " + this.getHelpText(), null); //$NON-NLS-1$ +				"BKU Argument invalid! Use: " + this.getHelpText(), null);   	}  } 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 9ddeaf6c..d08ce7c6 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 @@ -62,11 +62,11 @@ public class ConfigFileArgument extends CLIArgument {  		} catch (Exception ex) {  			log.error("Configuration File Argument invalid!", ex); //$NON-NLS-1$  			throw new InitializationException( -					"Configuration File Argument invalid! Use: " + this.getHelpText(), ex); //$NON-NLS-1$ +					"Configuration File Argument invalid! Use: " + this.getHelpText(), ex);  		}  		throw new InitializationException( -				"Configuration File invalid! Use: " + this.getHelpText(), null); //$NON-NLS-1$ +				"Configuration File invalid! Use: " + this.getHelpText(), null);  	}  } 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 new file mode 100644 index 00000000..1b7260c1 --- /dev/null +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/EmblemArgument.java @@ -0,0 +1,80 @@ +/* + * 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 org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import at.asit.pdfover.gui.exceptions.InitializationException; +import at.asit.pdfover.gui.workflow.ConfigManipulator; +import at.asit.pdfover.gui.workflow.StateMachine; + +/** + *  + */ +public class EmblemArgument extends CLIArgument { +	/** +	 * Constructor +	 */ +	public EmblemArgument() { +		super(new String[] {"-e"}, "Sets the emblem file to use for the signature. Example: -e <emblem file>"); //$NON-NLS-1$ +	} + +	/** +	 * SLF4J Logger instance +	 **/ +	private static final Logger log = LoggerFactory +			.getLogger(EmblemArgument.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 emblem = args[argOffset + 1]; + +				File emblemFile = new File(emblem); +				 +				if(!emblemFile.exists()) { +					throw new FileNotFoundException(emblem); +				} +				 +				ConfigManipulator configManipulator = stateMachine.getConfigManipulator(); +				 +				configManipulator.setDefaultEmblem(emblem); +				 +				return argOffset + 1; +			} +		} catch (Exception ex) { +			log.error("Emblem argument invalid!", ex); //$NON-NLS-1$ +			throw new InitializationException( +					"Emblem invalid! Use: " + this.getHelpText(), ex); +		} + +		throw new InitializationException( +				"Emblem argument invalid! Use: " + this.getHelpText(), null); +	} + +} 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 <folder>"); //$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); +	} + +} 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 new file mode 100644 index 00000000..ab239c88 --- /dev/null +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/PasswordArgument.java @@ -0,0 +1,74 @@ +/* + * 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 org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import at.asit.pdfover.gui.exceptions.InitializationException; +import at.asit.pdfover.gui.workflow.ConfigManipulator; +import at.asit.pdfover.gui.workflow.StateMachine; +import at.asit.pdfover.gui.workflow.states.mobilebku.ATrustHelper; + +/** + *  + */ +public class PasswordArgument extends CLIArgument { +	/** +	 * Constructor +	 */ +	public PasswordArgument() { +		super(new String[] {"-p"}, "Sets the password to use for mobile bku. Example: -p <password>"); //$NON-NLS-1$ +	} + +	/** +	 * SLF4J Logger instance +	 **/ +	private static final Logger log = LoggerFactory +			.getLogger(PasswordArgument.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 password = args[argOffset + 1]; + +				ATrustHelper.validatePassword(password); +				 +				ConfigManipulator configManipulator = stateMachine.getConfigManipulator(); +				 +				configManipulator.setDefaultPassword(password); +				 +				return argOffset + 1; +			} +		} catch (Exception ex) { +			log.error("Mobile BKU password argument invalid!", ex); //$NON-NLS-1$ +			throw new InitializationException( +					"Mobile BKU password invalid! Use: " + this.getHelpText(), ex); +		} + +		throw new InitializationException( +				"Mobile BKU password argument invalid! Use: " + this.getHelpText(), null); +	} + +} 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 255b4f91..6d344c42 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 @@ -67,11 +67,11 @@ public class PhoneNumberArgument extends CLIArgument {  		} catch (Exception ex) {  			log.error("Phone Number Argument invalid!", ex); //$NON-NLS-1$  			throw new InitializationException( -					"Phone Number Argument invalid! Use: " + this.getHelpText(), ex); //$NON-NLS-1$ +					"Phone Number Argument invalid! Use: " + this.getHelpText(), ex);  		}  		throw new InitializationException( -				"Phone Number invalid! Use: " + this.getHelpText(), null); //$NON-NLS-1$ +				"Phone Number invalid! Use: " + this.getHelpText(), null);  	}  } 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 new file mode 100644 index 00000000..cb6ce596 --- /dev/null +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ProxyHostArgument.java @@ -0,0 +1,74 @@ +/* + * 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 org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import at.asit.pdfover.gui.exceptions.InitializationException; +import at.asit.pdfover.gui.workflow.ConfigManipulator; +import at.asit.pdfover.gui.workflow.StateMachine; + +/** + *  + */ +public class ProxyHostArgument extends CLIArgument { +	/** +	 * Constructor +	 */ +	public ProxyHostArgument() { +		super(new String[] {"-proxy"}, "Sets the proxy host to use. Example: -proxy <hostname/IP>"); //$NON-NLS-1$ +	} + +	/** +	 * SLF4J Logger instance +	 **/ +	private static final Logger log = LoggerFactory +			.getLogger(ProxyHostArgument.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 proxyHost = args[argOffset + 1]; +				 +				ConfigManipulator configManipulator = stateMachine.getConfigManipulator(); +				 +				configManipulator.setProxyHost(proxyHost); +				 +				return argOffset + 1; +			} +		} catch (Exception ex) { +			log.error("Proxy host argument invalid!", ex); //$NON-NLS-1$ +			throw new InitializationException( +					"Proxy host invalid! Use: " + this.getHelpText(), ex); +		} + +		throw new InitializationException( +				"Proxy host argument invalid! Use: " + this.getHelpText(), null); +	} + +} 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 new file mode 100644 index 00000000..aa0d5d81 --- /dev/null +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ProxyPortArgument.java @@ -0,0 +1,78 @@ +/* + * 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 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 ProxyPortArgument extends CLIArgument { +	/** +	 * Constructor +	 */ +	public ProxyPortArgument() { +		super(new String[] {"-proxyport"}, "Sets the proxy port to use. Example: -proxyport <port>"); //$NON-NLS-1$ +	} + +	/** +	 * SLF4J Logger instance +	 **/ +	private static final Logger log = LoggerFactory +			.getLogger(ProxyPortArgument.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 proxyPortString = args[argOffset + 1]; +				 +				int port = Integer.parseInt(proxyPortString); +				 +				if(port <= 0 || port > 0xFFFF) { +					throw new InvalidPortException(port); +				} +				 +				ConfigManipulator configManipulator = stateMachine.getConfigManipulator(); +				 +				configManipulator.setProxyPort(port); +				 +				return argOffset + 1; +			} +		} catch (Exception ex) { +			log.error("Proxy port argument invalid!", ex); //$NON-NLS-1$ +			throw new InitializationException( +					"Proxy port argument invalid! Use: " + this.getHelpText(), ex); +		} + +		throw new InitializationException( +				"Proxy port argument invalid! Use: " + this.getHelpText(), null); +	} + +} diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/messages.properties b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/messages.properties new file mode 100644 index 00000000..3726b7c9 --- /dev/null +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/messages.properties @@ -0,0 +1,8 @@ +TrustedSocketFactory.FailedToCreateSecureConnection=Failed to create secure network connection + +main.title=PDF-Over +main.configuration=Configuration +main.open=Open +main.position=Positioning +main.signature=Signing +main.done=Finish
\ No newline at end of file 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 3cf0861f..f720cb57 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 @@ -28,8 +28,13 @@ import org.slf4j.LoggerFactory;  import at.asit.pdfover.gui.cliarguments.ArgumentHandler;  import at.asit.pdfover.gui.cliarguments.BKUArgument;  import at.asit.pdfover.gui.cliarguments.ConfigFileArgument; +import at.asit.pdfover.gui.cliarguments.EmblemArgument;  import at.asit.pdfover.gui.cliarguments.HelpArgument; +import at.asit.pdfover.gui.cliarguments.OutputFolderArgument; +import at.asit.pdfover.gui.cliarguments.PasswordArgument;  import at.asit.pdfover.gui.cliarguments.PhoneNumberArgument; +import at.asit.pdfover.gui.cliarguments.ProxyHostArgument; +import at.asit.pdfover.gui.cliarguments.ProxyPortArgument;  import at.asit.pdfover.gui.controls.ErrorDialog;  import at.asit.pdfover.gui.exceptions.InitializationException;  import at.asit.pdfover.gui.workflow.ConfigManipulator; @@ -53,7 +58,11 @@ public class PrepareConfigurationState extends State {  		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());  		// adding config file argument to this handler so it appears in help  		this.handler.addCLIArgument(new ConfigFileArgument()); diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareSigningState.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareSigningState.java index 4ed59e5a..38215593 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareSigningState.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareSigningState.java @@ -65,6 +65,20 @@ public class PrepareSigningState extends State {  				ConfigProvider configuration = this.state.stateMachine.getConfigProvider(); +				// SET PROXY HOST and PORT settings +				String proxyHost = configuration.getProxyHost(); +				int proxyPort = configuration.getProxyPort(); +				 +				if(proxyPort > 0 && proxyPort <= 0xFFFF) { +					System.setProperty("http.proxyPort", Integer.toString(proxyPort)); //$NON-NLS-1$ +					System.setProperty("https.proxyPort", Integer.toString(proxyPort)); //$NON-NLS-1$ +				}  +				 +				if(proxyHost != null && !proxyHost.equals("")) { //$NON-NLS-1$ +					System.setProperty("http.proxyHost", proxyHost); //$NON-NLS-1$ +					System.setProperty("https.proxyHost", proxyHost); //$NON-NLS-1$ +				}  +				  				if(this.state.signer == null) {  					this.state.signer = this.state.stateMachine.getPDFSigner().getPDFSigner();  				} diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/mobilebku/TrustedSocketFactory.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/mobilebku/TrustedSocketFactory.java index 91aa6caa..c7430bab 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/mobilebku/TrustedSocketFactory.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/mobilebku/TrustedSocketFactory.java @@ -36,6 +36,8 @@ import org.apache.commons.httpclient.protocol.ProtocolSocketFactory;  import org.slf4j.Logger;  import org.slf4j.LoggerFactory; +import at.asit.pdfover.gui.Messages; +  /**   *    */ @@ -78,7 +80,7 @@ public class TrustedSocketFactory implements ProtocolSocketFactory {  				throw (UnknownHostException) ex;  			} else {  				throw new IOException( -						"Not really an IOException! See inner exception", ex); +						Messages.getString("TrustedSocketFactory.FailedToCreateSecureConnection"), ex); //$NON-NLS-1$  			}  		}  	} @@ -106,7 +108,7 @@ public class TrustedSocketFactory implements ProtocolSocketFactory {  				throw (UnknownHostException) ex;  			} else {  				throw new IOException( -						"Not really an IOException! See inner exception", ex); +						Messages.getString("TrustedSocketFactory.FailedToCreateSecureConnection"), ex); //$NON-NLS-1$  			}  		}  	} @@ -125,7 +127,7 @@ public class TrustedSocketFactory implements ProtocolSocketFactory {  			UnknownHostException, ConnectTimeoutException {  		try {  			if (params == null) { -				throw new IllegalArgumentException("Parameters may not be null"); +				throw new IllegalArgumentException("Parameters may not be null"); //$NON-NLS-1$  			}  			int timeout = params.getConnectionTimeout();  			Socket socket = null; @@ -151,7 +153,7 @@ public class TrustedSocketFactory implements ProtocolSocketFactory {  				throw (UnknownHostException) ex;  			} else {  				throw new IOException( -						"Not really an IOException! See inner exception", ex); +						Messages.getString("TrustedSocketFactory.FailedToCreateSecureConnection"), ex); //$NON-NLS-1$  			}  		}  	} | 
