diff options
6 files changed, 447 insertions, 117 deletions
| diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/AdvancedConfigurationComposite.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/AdvancedConfigurationComposite.java index a68542d6..49b760be 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/AdvancedConfigurationComposite.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/AdvancedConfigurationComposite.java @@ -17,6 +17,8 @@ package at.asit.pdfover.gui.composites;  // Imports  import java.io.File; +import java.util.ArrayList; +import java.util.List;  import java.util.Locale;  import org.eclipse.swt.SWT; @@ -73,6 +75,9 @@ public class AdvancedConfigurationComposite extends BaseConfigurationComposite {  	private static final Logger log = LoggerFactory  			.getLogger(AdvancedConfigurationComposite.class); + +	private ConfigurationComposite configurationComposite; +  	private Group grpSignatur;  	Button btnAutomatischePositionierung;  	Button btnPdfACompat; @@ -83,7 +88,7 @@ public class AdvancedConfigurationComposite extends BaseConfigurationComposite {  	private Group grpBkuAuswahl;  	Combo cmbBKUAuswahl; -	String[] bkuStrings; +	List<String> bkuStrings;  	Button btnKeystoreEnabled;  	private Group grpSpeicherort; @@ -119,10 +124,13 @@ public class AdvancedConfigurationComposite extends BaseConfigurationComposite {  	 * @param style  	 * @param state  	 * @param container +	 * @param config  	 */  	public AdvancedConfigurationComposite(Composite parent, int style, -			State state, ConfigurationContainer container) { +			State state, ConfigurationContainer container, +			ConfigurationComposite config) {  		super(parent, style, state, container); +		this.configurationComposite = config;  		setLayout(new FormLayout());  		this.grpSignatur = new Group(this, SWT.NONE); @@ -276,23 +284,25 @@ public class AdvancedConfigurationComposite extends BaseConfigurationComposite {  				fD_cmbBKUAuswahl[0]));  		int blen = BKUs.values().length; -		this.bkuStrings = new String[blen]; +		this.bkuStrings = new ArrayList<String>(blen);  		for (int i = 0; i < blen; i++) {  			String lookup = "BKU." + BKUs.values()[i].toString(); //$NON-NLS-1$ -			this.bkuStrings[i] = Messages.getString(lookup); +			String text = Messages.getString(lookup); +			this.bkuStrings.add(text); +			this.cmbBKUAuswahl.add(text);  		} -		this.cmbBKUAuswahl.setItems(this.bkuStrings);  		this.cmbBKUAuswahl.addSelectionListener(new SelectionAdapter() { -  			@Override  			public void widgetSelected(SelectionEvent e) { -				int selectionIndex = getBKUElementIndex(AdvancedConfigurationComposite.this.configurationContainer +				int selectionIndex = getBKUElementIndex( +						AdvancedConfigurationComposite.this.configurationContainer  						.getDefaultBKU());  				if (AdvancedConfigurationComposite.this.cmbBKUAuswahl  						.getSelectionIndex() != selectionIndex) {  					selectionIndex = AdvancedConfigurationComposite.this.cmbBKUAuswahl  							.getSelectionIndex(); -					performBKUSelectionChanged(AdvancedConfigurationComposite.this.cmbBKUAuswahl +					performBKUSelectionChanged( +							AdvancedConfigurationComposite.this.cmbBKUAuswahl  							.getItem(selectionIndex));  				}  			} @@ -314,14 +324,13 @@ public class AdvancedConfigurationComposite extends BaseConfigurationComposite {  		this.btnKeystoreEnabled.setFont(new Font(Display  				.getCurrent(), fD_btnKeystoreEnabled[0])); -		this.btnKeystoreEnabled -				.addSelectionListener(new SelectionAdapter() { -					@Override -					public void widgetSelected(SelectionEvent e) { -						AdvancedConfigurationComposite.this.performKeystoreEnabledSelection( -								AdvancedConfigurationComposite.this.btnKeystoreEnabled.getSelection()); -					} -				}); +		this.btnKeystoreEnabled.addSelectionListener(new SelectionAdapter() { +			@Override +			public void widgetSelected(SelectionEvent e) { +				AdvancedConfigurationComposite.this.performKeystoreEnabledSelection( +						AdvancedConfigurationComposite.this.btnKeystoreEnabled.getSelection()); +			} +		});  		this.grpSpeicherort = new Group(this, SWT.NONE);  		layout = new FormLayout(); @@ -763,15 +772,12 @@ public class AdvancedConfigurationComposite extends BaseConfigurationComposite {  		String lookup = "BKU." + bku.toString(); //$NON-NLS-1$  		String bkuName = Messages.getString(lookup); -		for (int i = 0; i < this.bkuStrings.length; i++) { -			if (this.bkuStrings[i].equals(bkuName)) { -				log.debug("BKU: " + bkuName + " IDX: " + i); //$NON-NLS-1$ //$NON-NLS-2$ -				return i; -			} +		int i = this.bkuStrings.indexOf(bkuName); +		if (i == -1) { +			log.warn("NO BKU match for " + bkuName); //$NON-NLS-1$ +			return 0;  		} - -		log.warn("NO BKU match for " + bkuName); //$NON-NLS-1$ -		return 0; +		return i;  	}  	void performBKUSelectionChanged(BKUs selected) { @@ -838,6 +844,21 @@ public class AdvancedConfigurationComposite extends BaseConfigurationComposite {  	void performKeystoreEnabledSelection(boolean enabled) {  		this.configurationContainer.setKeyStoreEnabled(enabled);  		this.btnKeystoreEnabled.setSelection(enabled); +		this.configurationComposite.keystoreEnabled(enabled); + +		int ksIndex = getBKUElementIndex(BKUs.KS); +		String ksText = this.bkuStrings.get(ksIndex); +		if (enabled) { +			if (!this.cmbBKUAuswahl.getItem(ksIndex).equals(ksText)) +				this.cmbBKUAuswahl.add(ksText, ksIndex); +		} else { +			int i = this.cmbBKUAuswahl.indexOf(ksText); +			if (i != -1) { +				if (this.cmbBKUAuswahl.getSelectionIndex() == i) +					performBKUSelectionChanged(BKUs.NONE); +				this.cmbBKUAuswahl.remove(i); +			} +		}  	}  	void performPlaceholderTransparency(int transparency) { diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/ConfigurationComposite.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/ConfigurationComposite.java index 9d894526..77b1bd98 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/ConfigurationComposite.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/ConfigurationComposite.java @@ -65,6 +65,79 @@ public class ConfigurationComposite extends StateComposite {  	protected PDFSigner signer;  	/** +	 * SLF4J Logger instance +	 **/ +	static final Logger log = LoggerFactory +			.getLogger(ConfigurationComposite.class); + +	/** +	 * configuration manipulator +	 */ +	ConfigManipulator configManipulator = null; + +	/** +	 * configuration provider +	 */ +	PersistentConfigProvider configProvider = null; + +	/** +	 * simple configuration composite +	 */ +	BaseConfigurationComposite simpleConfigComposite; + +	/** +	 * advanced configuration composite +	 */ +	BaseConfigurationComposite advancedConfigComposite; + +	/** +	 * advanced configuration composite +	 */ +	BaseConfigurationComposite keystoreConfigComposite = null; + +	/** +	 * The TabFolder +	 */ +	TabFolder tabFolder; + +	/** +	 * configuration container Keeps state for current configuration changes +	 */ +	ConfigurationContainer configurationContainer = new ConfigurationContainerImpl(); + +	/** +	 * The stack layout +	 */ +	StackLayout compositeStack = new StackLayout(); + +	/** +	 * SWT style +	 */ +	int style; + +	/** +	 * base configuration container +	 */ +	Composite containerComposite; + +	/** +	 * checks whether the user is done +	 */ +	boolean userDone = false; + +	private TabItem simpleTabItem; + +	private TabItem advancedTabItem; + +	private TabItem keystoreTabItem; + +	private TabItem aboutTabItem; + +	private Button btnSpeichern; + +	private Button btnAbbrechen; + +	/**  	 * @return the signer  	 */  	public PDFSigner getSigner() { @@ -86,22 +159,22 @@ public class ConfigurationComposite extends StateComposite {  		this.containerComposite = new Composite(this, SWT.FILL | SWT.RESIZE); -		TabFolder tabFolder = new TabFolder(this.containerComposite, SWT.NONE); +		this.tabFolder = new TabFolder(this.containerComposite, SWT.NONE);  		FormData fd_tabFolder = new FormData();  		fd_tabFolder.bottom = new FormAttachment(100, -5);  		fd_tabFolder.right = new FormAttachment(100, -5);  		fd_tabFolder.top = new FormAttachment(0, 5);  		fd_tabFolder.left = new FormAttachment(0, 5); -		tabFolder.setLayoutData(fd_tabFolder); +		this.tabFolder.setLayoutData(fd_tabFolder); -		FontData[] fD_tabFolder = tabFolder.getFont().getFontData(); +		FontData[] fD_tabFolder = this.tabFolder.getFont().getFontData();  		fD_tabFolder[0].setHeight(Constants.TEXT_SIZE_NORMAL); -		tabFolder.setFont(new Font(Display.getCurrent(), fD_tabFolder[0])); +		this.tabFolder.setFont(new Font(Display.getCurrent(), fD_tabFolder[0])); -		this.simpleTabItem = new TabItem(tabFolder, SWT.NONE); +		this.simpleTabItem = new TabItem(this.tabFolder, SWT.NONE);  		this.simpleTabItem.setText(Messages.getString("config.Simple")); //$NON-NLS-1$ -		ScrolledComposite simpleCompositeScr = new ScrolledComposite(tabFolder, +		ScrolledComposite simpleCompositeScr = new ScrolledComposite(this.tabFolder,  				SWT.H_SCROLL | SWT.V_SCROLL);  		this.simpleTabItem.setControl(simpleCompositeScr);  		this.simpleConfigComposite = new SimpleConfigurationComposite( @@ -113,26 +186,26 @@ public class ConfigurationComposite extends StateComposite {  		simpleCompositeScr.setMinSize(this.simpleConfigComposite.computeSize(  				SWT.DEFAULT, SWT.DEFAULT)); -		this.advancedTabItem = new TabItem(tabFolder, SWT.NONE); +		this.advancedTabItem = new TabItem(this.tabFolder, SWT.NONE);  		this.advancedTabItem.setText(Messages.getString("config.Advanced")); //$NON-NLS-1$  		ScrolledComposite advancedCompositeScr = new ScrolledComposite( -				tabFolder, SWT.H_SCROLL | SWT.V_SCROLL); +				this.tabFolder, SWT.H_SCROLL | SWT.V_SCROLL);  		this.advancedTabItem.setControl(advancedCompositeScr);  		this.advancedConfigComposite = new AdvancedConfigurationComposite(  				advancedCompositeScr, SWT.NONE, state, -				this.configurationContainer); +				this.configurationContainer, this);  		advancedCompositeScr.setContent(this.advancedConfigComposite);  		advancedCompositeScr.setExpandHorizontal(true);  		advancedCompositeScr.setExpandVertical(true);  		advancedCompositeScr.setMinSize(this.advancedConfigComposite  				.computeSize(SWT.DEFAULT, SWT.DEFAULT)); -		this.aboutTabItem = new TabItem(tabFolder, SWT.NONE); +		this.aboutTabItem = new TabItem(this.tabFolder, SWT.NONE);  		this.aboutTabItem.setText(String.format(Messages.getString("config.About"), Constants.APP_NAME)); //$NON-NLS-1$  		ScrolledComposite aboutCompositeScr = new ScrolledComposite( -				tabFolder, SWT.H_SCROLL | SWT.V_SCROLL); +				this.tabFolder, SWT.H_SCROLL | SWT.V_SCROLL);  		this.aboutTabItem.setControl(aboutCompositeScr);  		AboutComposite aboutConfigComposite = new AboutComposite(  				aboutCompositeScr, SWT.NONE); @@ -142,7 +215,7 @@ public class ConfigurationComposite extends StateComposite {  		aboutCompositeScr.setMinSize(aboutConfigComposite  				.computeSize(SWT.DEFAULT, SWT.DEFAULT)); -		tabFolder.setSelection(this.simpleTabItem); +		this.tabFolder.setSelection(this.simpleTabItem);  		this.btnSpeichern = new Button(this, SWT.NONE);  		FormData fd_btnSpeichern = new FormData(); @@ -194,7 +267,7 @@ public class ConfigurationComposite extends StateComposite {  		fd_composite.right = new FormAttachment(100, -5);  		this.containerComposite.setLayoutData(fd_composite);  		this.containerComposite.setLayout(this.compositeStack); -		this.compositeStack.topControl = tabFolder; +		this.compositeStack.topControl = this.tabFolder;  		getShell().setText(Constants.APP_NAME_VERSION); @@ -216,67 +289,6 @@ public class ConfigurationComposite extends StateComposite {  		}  	} -	/** -	 * SLF4J Logger instance -	 **/ -	static final Logger log = LoggerFactory -			.getLogger(ConfigurationComposite.class); - -	/** -	 * configuration manipulator -	 */ -	ConfigManipulator configManipulator = null; - -	/** -	 * configuration provider -	 */ -	PersistentConfigProvider configProvider = null; - -	/** -	 * simple configuration composite -	 */ -	BaseConfigurationComposite simpleConfigComposite; - -	/** -	 * advanced configuration composite -	 */ -	BaseConfigurationComposite advancedConfigComposite; - -	/** -	 * configuration container Keeps state for current configuration changes -	 */ -	ConfigurationContainer configurationContainer = new ConfigurationContainerImpl(); - -	/** -	 * The stack layout -	 */ -	StackLayout compositeStack = new StackLayout(); - -	/** -	 * SWT style -	 */ -	int style; - -	/** -	 * base configuration container -	 */ -	Composite containerComposite; - -	/** -	 * checks whether the user is done -	 */ -	boolean userDone = false; - -	private TabItem simpleTabItem; - -	private TabItem advancedTabItem; - -	private TabItem aboutTabItem; - -	private Button btnSpeichern; - -	private Button btnAbbrechen; -  	private class AboutComposite extends StateComposite {  		private Link lnkAbout;  		/** @@ -357,6 +369,39 @@ public class ConfigurationComposite extends StateComposite {  		}  	} +	private boolean keystoreInitialized = false; + +	/** +	 * Set whether keystore tab is enabled +	 * @param enabled whether keystore tab is enabled +	 */ +	public void keystoreEnabled(boolean enabled) { +		if (enabled && this.keystoreConfigComposite == null) { +			this.keystoreTabItem = new TabItem(this.tabFolder, SWT.NONE, 2); +			this.keystoreTabItem.setText(Messages.getString("config.Keystore")); //$NON-NLS-1$ +	 +			ScrolledComposite keystoreCompositeScr = new ScrolledComposite( +					this.tabFolder, SWT.H_SCROLL | SWT.V_SCROLL); +			this.keystoreTabItem.setControl(keystoreCompositeScr); +			this.keystoreConfigComposite = new KeystoreConfigurationComposite( +					keystoreCompositeScr, SWT.NONE, this.state, +					this.configurationContainer); +			keystoreCompositeScr.setContent(this.keystoreConfigComposite); +			keystoreCompositeScr.setExpandHorizontal(true); +			keystoreCompositeScr.setExpandVertical(true); +			keystoreCompositeScr.setMinSize(this.keystoreConfigComposite +					.computeSize(SWT.DEFAULT, SWT.DEFAULT)); +			if (!this.keystoreInitialized) { +				this.keystoreConfigComposite.initConfiguration(this.configProvider); +				this.keystoreInitialized = true; +			} +			this.keystoreConfigComposite.loadConfiguration(); +		} else if (!enabled && this.keystoreConfigComposite != null){ +			this.keystoreTabItem.dispose(); +			this.keystoreConfigComposite = null; +		} +	} +  	/**  	 * Sets the configuration manipulator  	 *  @@ -380,6 +425,8 @@ public class ConfigurationComposite extends StateComposite {  			this.simpleConfigComposite.loadConfiguration();  			this.advancedConfigComposite.loadConfiguration(); +			if (this.keystoreConfigComposite != null) +				this.keystoreConfigComposite.loadConfiguration();  		}  	} @@ -437,6 +484,41 @@ public class ConfigurationComposite extends StateComposite {  					}  				}  			} while (redo); + +			if (!status) { +				return false; +			} + +			if (this.keystoreConfigComposite != null) { +				status = false; +				redo = false; +				resumeIndex = 0; +	 +				do { +					try { +						this.keystoreConfigComposite.validateSettings(resumeIndex); +	 +						redo = false; +						status = true; +					} catch (ResumableException e) { +						log.error("Settings validation failed!", e); //$NON-NLS-1$ +						ErrorDialog dialog = new ErrorDialog(getShell(), +								e.getMessage(), BUTTONS.ABORT_RETRY_IGNORE); +						int rc = dialog.open(); +	 +						redo = (rc == SWT.RETRY); +						if (rc == SWT.IGNORE) +						{ +							resumeIndex = e.getResumeIndex(); +							redo = true; +						} +					} +				} while (redo); +	 +				if (!status) { +					return false; +				} +			}  		} catch (Exception e) {  			log.error("Settings validation failed!", e); //$NON-NLS-1$  			String message = e.getMessage(); @@ -457,6 +539,9 @@ public class ConfigurationComposite extends StateComposite {  				this.configManipulator, this.configProvider);  		this.advancedConfigComposite.storeConfiguration(  				this.configManipulator, this.configProvider); +		if (this.keystoreConfigComposite != null) +			this.keystoreConfigComposite.storeConfiguration( +					this.configManipulator, this.configProvider);  		status = false;  		redo = false; diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/KeystoreConfigurationComposite.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/KeystoreConfigurationComposite.java new file mode 100644 index 00000000..9113d3bb --- /dev/null +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/KeystoreConfigurationComposite.java @@ -0,0 +1,232 @@ +/* + * 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.composites; + +// Imports +import java.io.File; +import java.util.Locale; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.dnd.DND; +import org.eclipse.swt.dnd.DropTarget; +import org.eclipse.swt.dnd.DropTargetAdapter; +import org.eclipse.swt.dnd.DropTargetEvent; +import org.eclipse.swt.dnd.FileTransfer; +import org.eclipse.swt.dnd.Transfer; +import org.eclipse.swt.events.FocusAdapter; +import org.eclipse.swt.events.FocusEvent; +import org.eclipse.swt.events.PaintEvent; +import org.eclipse.swt.events.PaintListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.TraverseEvent; +import org.eclipse.swt.events.TraverseListener; +import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.graphics.FontData; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.graphics.ImageData; +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.graphics.Rectangle; +import org.eclipse.swt.layout.FormAttachment; +import org.eclipse.swt.layout.FormData; +import org.eclipse.swt.layout.FormLayout; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Canvas; +import org.eclipse.swt.widgets.Combo; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.FileDialog; +import org.eclipse.swt.widgets.Group; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Text; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import at.asit.pdfover.gui.Constants; +import at.asit.pdfover.gui.controls.Dialog.BUTTONS; +import at.asit.pdfover.gui.controls.ErrorDialog; +import at.asit.pdfover.gui.controls.ErrorMarker; +import at.asit.pdfover.gui.exceptions.InvalidEmblemFile; +import at.asit.pdfover.gui.exceptions.InvalidNumberException; +import at.asit.pdfover.gui.exceptions.PDFOverGUIException; +import at.asit.pdfover.gui.utils.Messages; +import at.asit.pdfover.gui.utils.SignaturePlaceholderCache; +import at.asit.pdfover.gui.workflow.config.ConfigManipulator; +import at.asit.pdfover.gui.workflow.config.ConfigurationContainer; +import at.asit.pdfover.gui.workflow.config.PersistentConfigProvider; +import at.asit.pdfover.gui.workflow.states.State; +import at.asit.pdfover.signator.FileNameEmblem; +import at.asit.pdfover.signator.SignatureParameter; + +/** + *  + */ +public class KeystoreConfigurationComposite extends BaseConfigurationComposite { + +	/** +	 * SLF4J Logger instance +	 **/ +	static final Logger log = LoggerFactory +			.getLogger(KeystoreConfigurationComposite.class); + +	private Group grpKeystore; + +	/** +	 * @param parent +	 * @param style +	 * @param state +	 * @param container +	 */ +	public KeystoreConfigurationComposite( +			org.eclipse.swt.widgets.Composite parent, int style, State state, +			ConfigurationContainer container) { +		super(parent, style, state, container); +		setLayout(new FormLayout()); + +		this.grpKeystore = new Group(this, SWT.NONE | SWT.RESIZE); +		FormData fd_grpKeystore = new FormData(); +		fd_grpKeystore.right = new FormAttachment(100, -5); +		fd_grpKeystore.left = new FormAttachment(0, 5); +		fd_grpKeystore.top = new FormAttachment(0, 5); +		this.grpKeystore.setLayoutData(fd_grpKeystore); +		this.grpKeystore.setLayout(new GridLayout(2, false)); + +		FontData[] fD_grpKeystore = this.grpKeystore.getFont() +				.getFontData(); +		fD_grpKeystore[0].setHeight(Constants.TEXT_SIZE_NORMAL); +		this.grpKeystore.setFont(new Font(Display.getCurrent(), +				fD_grpKeystore[0])); + +		// Load localized strings +		reloadResources(); +	} + +	/** +	 *  +	 */ +	private final class KeystoreFileBrowser extends SelectionAdapter { +		/** +		 *  +		 */ +		public KeystoreFileBrowser() { +			// Nothing to do +		} + +		@Override +		public void widgetSelected(SelectionEvent e) { +			FileDialog dialog = new FileDialog( +					KeystoreConfigurationComposite.this.getShell(), SWT.OPEN); +			dialog.setFilterExtensions(new String[] { +					"*.p12;*.pkcs12;*.ks;*.jks", "*.p12;*.pkcs12", "*.ks;*.jks*.", "*" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ +			dialog.setFilterNames(new String[] { +					Messages.getString("common.KeystoreExtension_Description"), //$NON-NLS-1$ +					Messages.getString("common.PKCS12Extension_Description"), //$NON-NLS-1$ +					Messages.getString("common.KSExtension_Description"), //$NON-NLS-1$ +					Messages.getString("common.AllExtension_Description") }); //$NON-NLS-1$ +			String fileName = dialog.open(); +			File file = null; +			if (fileName != null) { +				file = new File(fileName); +				if (file.exists()) { +					//processEmblemChanged(fileName); +				} +			} +		} +	} + +	/* +	 * (non-Javadoc) +	 *  +	 * @see +	 * at.asit.pdfover.gui.composites.BaseConfigurationComposite#signerChanged() +	 */ +	@Override +	protected void signerChanged() { +	} + +	/* +	 * (non-Javadoc) +	 *  +	 * @see at.asit.pdfover.gui.composites.StateComposite#doLayout() +	 */ +	@Override +	public void doLayout() { +		layout(true, true); +	} + + +	/* (non-Javadoc) +	 * @see at.asit.pdfover.gui.composites.BaseConfigurationComposite#initConfiguration(at.asit.pdfover.gui.workflow.config.PersistentConfigProvider) +	 */ +	@Override +	public void initConfiguration(PersistentConfigProvider provider) { +		this.configurationContainer.setKeyStoreFile( +				provider.getKeyStoreFilePersistent()); +		this.configurationContainer.setKeyStoreType( +				provider.getKeyStoreTypePersistent()); +		this.configurationContainer.setKeyStoreStorePass( +				provider.getKeyStoreStorePassPersistent()); +		this.configurationContainer.setKeyStoreKeyPass( +				provider.getKeyStoreKeyPassPersistent()); +	} + +	/* +	 * (non-Javadoc) +	 * @see at.asit.pdfover.gui.composites.BaseConfigurationComposite#loadConfiguration +	 * () +	 */ +	@Override +	public void loadConfiguration() { +		// Initialize form fields from configuration Container +	} + +	/* (non-Javadoc) +	 * @see at.asit.pdfover.gui.composites.BaseConfigurationComposite#storeConfiguration(at.asit.pdfover.gui.workflow.config.ConfigManipulator, at.asit.pdfover.gui.workflow.config.PersistentConfigProvider) +	 */ +	@Override +	public void storeConfiguration(ConfigManipulator store, +			PersistentConfigProvider provider) { +		store.setKeyStoreFile(this.configurationContainer.getKeyStoreFile()); +		store.setKeyStoreType(this.configurationContainer.getKeyStoreType()); +		store.setKeyStoreStorePass(this.configurationContainer.getKeyStoreStorePass()); +		store.setKeyStoreKeyPass(this.configurationContainer.getKeyStoreKeyPass()); +	} + +	/* +	 * (non-Javadoc) +	 *  +	 * @see +	 * at.asit.pdfover.gui.composites.BaseConfigurationComposite#validateSettings +	 * () +	 */ +	@Override +	public void validateSettings(int resumeFrom) throws Exception { +	} + +	/* +	 * (non-Javadoc) +	 *  +	 * @see at.asit.pdfover.gui.composites.StateComposite#reloadResources() +	 */ +	@Override +	public void reloadResources() { +		this.grpKeystore.setText(Messages +				.getString("keystore_config.Keystore_Title")); //$NON-NLS-1$ +	} +} diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/SimpleConfigurationComposite.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/SimpleConfigurationComposite.java index 37f37739..d02d9258 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/SimpleConfigurationComposite.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/SimpleConfigurationComposite.java @@ -84,8 +84,6 @@ public class SimpleConfigurationComposite extends BaseConfigurationComposite {  	static final Logger log = LoggerFactory  			.getLogger(SimpleConfigurationComposite.class); -	ConfigurationComposite configurationComposite; -  	private Group grpHandySignatur;  	private Label lblMobileNumber;  	Text txtMobileNumber; @@ -720,22 +718,6 @@ public class SimpleConfigurationComposite extends BaseConfigurationComposite {  		this.configurationContainer.setSignatureNote(note);  	} -	/** -	 * @return the configurationComposite -	 */ -	public ConfigurationComposite getConfigurationComposite() { -		return this.configurationComposite; -	} - -	/** -	 * @param configurationComposite -	 *            the configurationComposite to set -	 */ -	public void setConfigurationComposite( -			ConfigurationComposite configurationComposite) { -		this.configurationComposite = configurationComposite; -	} -  	/*  	 * (non-Javadoc)  	 *  diff --git a/pdf-over-gui/src/main/resources/at/asit/pdfover/gui/messages.properties b/pdf-over-gui/src/main/resources/at/asit/pdfover/gui/messages.properties index d13f0e9c..b987b77a 100644 --- a/pdf-over-gui/src/main/resources/at/asit/pdfover/gui/messages.properties +++ b/pdf-over-gui/src/main/resources/at/asit/pdfover/gui/messages.properties @@ -77,8 +77,11 @@ common.Cancel=C&ancel  common.GIFExtension_Description=GIF files  common.ImageExtension_Description=All supported image files  common.JPGExtension_Description=JPG files +common.KeystoreExtension_Description=Keystore files +common.KSExtension_Description=Java keystore files  common.Ok=O&K  common.PDFExtension_Description=PDF documents +common.PKCS12Extension_Description=PKCS12 keystore files  common.PNGExtension_Description=PNG files  common.Save=&Save  common.browse=&Browse @@ -88,6 +91,7 @@ common.warning=Warning  config.About=A&bout %s  config.AboutText=This software is freely provided by A-SIT under the conditions of the EUPL.\nTerms and details at <a>http://demo.a-sit.at/lizenzbedingungen/</a>.\n\nNotice that components can have different licenses, partly restricting their free use to EUPL-licensed software.  config.Advanced=Ad&vanced +config.Keystore=&Keystore  config.Simple=Basi&c  dataSourceSelection.DropLabel=Drag document here  dataSourceSelection.DropLabel2=or... @@ -130,6 +134,7 @@ exception.PasswordTooLong=Given password is too long\!  exception.PasswordTooShort=Given password is too short\!  exception.PathNotDirectory=Path %s does not denote a directory\!  exception.PathNotExist=Path %s does not exist\! +keystore_config.Keystore_Title=Keystore  main.about=About %s  main.configuration=Configuration  main.done=Finish diff --git a/pdf-over-gui/src/main/resources/at/asit/pdfover/gui/messages_de.properties b/pdf-over-gui/src/main/resources/at/asit/pdfover/gui/messages_de.properties index 9359a184..613f1ee5 100644 --- a/pdf-over-gui/src/main/resources/at/asit/pdfover/gui/messages_de.properties +++ b/pdf-over-gui/src/main/resources/at/asit/pdfover/gui/messages_de.properties @@ -1,6 +1,6 @@  #Eclipse messages class  #Fri Jun 26 18:01:09 CEST 2015 -BKU.KS=KeyStore +BKU.KS=Keystore  BKU.LOCAL=Lokale BKU  BKU.MOBILE=Handy-BKU  BKU.NONE=Keine Voreinstellung @@ -77,8 +77,11 @@ common.Cancel=&Abbrechen  common.GIFExtension_Description=GIF-Bilder  common.ImageExtension_Description=Alle unterst\u00FCtzen Bilder  common.JPGExtension_Description=JPG-Bilder +common.KeystoreExtension_Description=Keystores +common.KSExtension_Description=Java Keystores  common.Ok=O&K  common.PDFExtension_Description=PDF-Dokumente +common.PKCS12Extension_Description=PKCS12 Keystores  common.PNGExtension_Description=PNG-Bilder  common.Save=&Speichern  common.browse=&Durchsuchen @@ -88,6 +91,7 @@ common.warning=Warnung  config.About=\u00DC&ber %s  config.AboutText=Diese Software wird von A-SIT unter den Bedingungen der EUPL frei zur Verfügung gestellt.\nLizenbedingungen unter <a>http://demo.a-sit.at/lizenzbedingungen/</a>.\n\nBeachten Sie, dass Komponenten unter eigenen Lizenzen zur Verfügung gestellt werden, die teilweise nur für EUPL-lizensierte Software zur freien Verwendung vorgesehen sind.  config.Advanced=Er&weitert +config.Keystore=&Keystore  config.Simple=&Einfach  dataSourceSelection.DropLabel=Dokument hierher ziehen  dataSourceSelection.DropLabel2=oder... @@ -130,6 +134,7 @@ exception.PasswordTooLong=Eingegebenes Passwort ist zu lange\!  exception.PasswordTooShort=Eingegebenes Passwort ist zu kurz\!  exception.PathNotDirectory=Pfad %s ist kein g\u00FCltiger Ordner\!  exception.PathNotExist=Pfad %s existiert nicht\! +keystore_config.Keystore_Title=Keystore  main.about=\u00DCber %s  main.configuration=Konfiguration  main.done=Fertig | 
