summaryrefslogtreecommitdiff
path: root/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/KeystoreConfigurationComposite.java
diff options
context:
space:
mode:
authorTobias Kellner <tobias.kellner@iaik.tugraz.at>2015-10-09 19:32:26 +0200
committerTobias Kellner <tobias.kellner@iaik.tugraz.at>2015-10-09 19:32:26 +0200
commit607d606279ce292511c91443db416d4bc99d7194 (patch)
treec5d4520a619859cf6cbd01fa929d8b9264105a9c /pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/KeystoreConfigurationComposite.java
parent76d1dd22a916ca17d18c73aca0adb5e334767189 (diff)
downloadpdf-over-607d606279ce292511c91443db416d4bc99d7194.tar.gz
pdf-over-607d606279ce292511c91443db416d4bc99d7194.tar.bz2
pdf-over-607d606279ce292511c91443db416d4bc99d7194.zip
Add keystore config tab
Diffstat (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/KeystoreConfigurationComposite.java')
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/KeystoreConfigurationComposite.java232
1 files changed, 232 insertions, 0 deletions
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$
+ }
+}