From ad8cccc8a24e8238dba18f636a138d72f5d77057 Mon Sep 17 00:00:00 2001 From: Andreas Abraham Date: Mon, 9 Nov 2020 13:19:42 +0100 Subject: added new group for signature profile selection --- .../asit/pdfover/gui/workflow/config/ConfigurationContainer.java | 6 ++++++ .../pdfover/gui/workflow/config/ConfigurationContainerImpl.java | 8 ++++++++ 2 files changed, 14 insertions(+) (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow') diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainer.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainer.java index d5976b3c..668c8cb7 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainer.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainer.java @@ -412,4 +412,10 @@ public interface ConfigurationContainer { * @return boolean */ public boolean getEnablePlaceholderUsage(); + + + /** + * @return selected signature profile as string + */ + public String getSignatureProfile(); } diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java index 8269cb0b..e6b168dc 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java @@ -144,6 +144,9 @@ public class ConfigurationContainerImpl implements ConfigurationContainer { /** Either QR-Code or signature fields as marker */ protected boolean useSignatureFields = false; + + /** The Signature Profile */ + protected String signatureProfile = "Normal"; //$NON-NLS-1$ /* (non-Javadoc) * @see at.asit.pdfover.gui.composites.ConfigurationContainer#getEmblem() @@ -723,4 +726,9 @@ public class ConfigurationContainerImpl implements ConfigurationContainer { return this.enabledPlaceholderUsage; } + @Override + public String getSignatureProfile() { + return this.signatureProfile; + } + } -- cgit v1.2.3 From 01f5b6348cdd84ce765b2235e60f309ebe7fac0c Mon Sep 17 00:00:00 2001 From: Andreas Abraham Date: Mon, 9 Nov 2020 16:18:42 +0100 Subject: Extending GUI (profiles) + configf --- .../main/java/at/asit/pdfover/gui/Constants.java | 22 ++++- .../composites/SimpleConfigurationComposite.java | 97 ++++++++++++---------- .../config/ConfigurationContainerImpl.java | 1 + 3 files changed, 72 insertions(+), 48 deletions(-) (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow') diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Constants.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Constants.java index 5c74b78e..98fac033 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Constants.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Constants.java @@ -56,8 +56,26 @@ public class Constants { /** Supported locales */ public static final Locale[] SUPPORTED_LOCALES = { Locale.GERMAN, Locale.ENGLISH }; - public static final String[] SUPPORTED_PROFILES = {"Signaturblock Normal", "Signaturblock Klein", "Amtssignaturblock", "Nur Bildmarke"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ - + public static final String[] SUPPORTED_PROFILES_STRINGS = {"Signaturblock Normal", "Signaturblock Klein", "Amtssignaturblock", "Nur Bildmarke"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ + + public static enum PROFILE { + SIGNATUREBLOCK_NORMAL("Signaturblock Normal"), //$NON-NLS-1$ + SIGNATUREBLOCK_SMALL("Signaturblock Klein"), //$NON-NLS-1$ + AMTSSIGNATUREBLOCK("Amtssignaturblock"), //$NON-NLS-1$ + LOGO_ONLY("Nur Bildmarke"); //$NON-NLS-1$ + + public static int length = 4; + private String name; + + PROFILE(String profile){ + this.name = profile; + } + + public String getName() { + return this.name; + } + } + /** Configuration directory */ public static final String CONFIG_DIRECTORY = System.getProperty("user.home") + File.separator + ".pdf-over"; //$NON-NLS-1$ //$NON-NLS-2$ 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 c3e4a138..b3925775 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 @@ -62,6 +62,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import at.asit.pdfover.gui.Constants; +import at.asit.pdfover.gui.Constants.PROFILE; import at.asit.pdfover.gui.controls.Dialog.BUTTONS; import at.asit.pdfover.gui.controls.ErrorDialog; import at.asit.pdfover.gui.controls.ErrorMarker; @@ -114,9 +115,10 @@ public class SimpleConfigurationComposite extends BaseConfigurationComposite { Image sigPreview = null; Image logo = null; - private final Group grpSingnatureProfile; - private final Label lblSignatureProfile; + private final Group grpSignatureProfile; +// private final Label lblSignatureProfile; private final Combo cmbSingatureProfiles; + /** @@ -207,63 +209,66 @@ public class SimpleConfigurationComposite extends BaseConfigurationComposite { //----------------------------------------------------------------------- - this.grpSingnatureProfile = new Group(this, SWT.NONE); + this.grpSignatureProfile = new Group(this, SWT.NONE); FormData fd_grpSingnatureProfile = new FormData(); fd_grpSingnatureProfile.right = new FormAttachment(100, -5); fd_grpSingnatureProfile.left = new FormAttachment(0, 5); fd_grpSingnatureProfile.top = new FormAttachment(this.grpHandySignatur, 5); - this.grpSingnatureProfile.setLayoutData(fd_grpSingnatureProfile); - this.grpSingnatureProfile.setLayout(new GridLayout(2, false)); - this.grpSingnatureProfile.setText("Signature Profile"); - + this.grpSignatureProfile.setLayoutData(fd_grpSingnatureProfile); + //this.grpSignatureProfile.setLayout(new GridLayout(2, false)); + this.grpSignatureProfile.setText("Signature Profile"); //$NON-NLS-1$ - this.lblSignatureProfile = new Label(this.grpSingnatureProfile, SWT.NONE); - FontData[] fD_grpSingnatureProfile = this.grpSingnatureProfile.getFont() +// this.lblSignatureProfile = new Label(this.grpSignatureProfile, SWT.NONE); +// + FontData[] fD_grpSignatureProfile = this.grpSignatureProfile.getFont() .getFontData(); - fD_grpSingnatureProfile[0].setHeight(Constants.TEXT_SIZE_NORMAL); - this.grpSingnatureProfile.setFont(new Font(Display.getCurrent(), - fD_grpSingnatureProfile[0])); + fD_grpSignatureProfile[0].setHeight(Constants.TEXT_SIZE_NORMAL); + this.grpSignatureProfile.setFont(new Font(Display.getCurrent(), + fD_grpSignatureProfile[0])); // TODO create text for each language - this.lblSignatureProfile.setText("Profile"); //$NON-NLS-1$ +// this.lblSignatureProfile.setText("Profile"); //$NON-NLS-1$ +// +// FontData[] fD_lblSignatureProfile = this.lblSignatureProfile.getFont() +// .getFontData(); +// fD_lblSignatureProfile[0].setHeight(Constants.TEXT_SIZE_NORMAL); +// this.lblSignatureProfile.setFont(new Font(Display.getCurrent(), +// fD_lblSignatureProfile[0])); - FontData[] fD_lblSignatureProfile = this.lblSignatureProfile.getFont() - .getFontData(); - fD_lblSignatureProfile[0].setHeight(Constants.TEXT_SIZE_NORMAL); - this.lblSignatureProfile.setFont(new Font(Display.getCurrent(), - fD_lblSignatureProfile[0])); + this.cmbSingatureProfiles = new Combo(this.grpSignatureProfile, SWT.READ_ONLY); - this.cmbSingatureProfiles = new Combo(this.grpSingnatureProfile, SWT.READ_ONLY); FormData fd_cmbSingatureProfiles = new FormData(); - fd_cmbSingatureProfiles.left = new FormAttachment(this.grpSingnatureProfile, 10); + fd_cmbSingatureProfiles.left = new FormAttachment(0, 10); fd_cmbSingatureProfiles.right = new FormAttachment(100, -10); fd_cmbSingatureProfiles.top = new FormAttachment(0, 10); fd_cmbSingatureProfiles.bottom = new FormAttachment(100, -10); - this.grpSingnatureProfile.setLayoutData(fd_cmbSingatureProfiles); + this.cmbSingatureProfiles.setLayoutData(fd_cmbSingatureProfiles); - FontData[] fD_cmbSignatureLang = this.grpSingnatureProfile.getFont() - .getFontData(); - fD_cmbSignatureLang[0].setHeight(Constants.TEXT_SIZE_NORMAL); - this.grpSingnatureProfile.setFont(new Font(Display.getCurrent(), - fD_cmbSignatureLang[0])); - String[] profiles = new String[Constants.SUPPORTED_PROFILES.length]; - for (int i = 0; i < Constants.SUPPORTED_PROFILES.length; ++i) { - profiles[i] = Constants.SUPPORTED_PROFILES[i]; + FontData[] fD_cmbSignatureProfile = this.grpSignatureProfile.getFont() + .getFontData(); + fD_cmbSignatureProfile[0].setHeight(Constants.TEXT_SIZE_NORMAL); + this.grpSignatureProfile.setFont(new Font(Display.getCurrent(), + fD_cmbSignatureProfile[0])); + + String[] profiles = new String[PROFILE.length]; + int i = 0; + for (PROFILE profile : PROFILE.values()) { + profiles[i] = profile.name(); + i++; } - this.cmbSignatureLang.setItems(profiles); - this.cmbSignatureLang.addSelectionListener(new SelectionAdapter() { + + this.cmbSingatureProfiles.setItems(profiles); + this.cmbSingatureProfiles.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { - Locale currentLocale = SimpleConfigurationComposite.this.configurationContainer - .getSignatureLocale(); - String selectedLocale = Constants. - SUPPORTED_PROFILES[SimpleConfigurationComposite.this.cmbSignatureLang + String current = SimpleConfigurationComposite.this.configurationContainer.getSignatureProfile(); + String selected = profiles[SimpleConfigurationComposite.this.cmbSingatureProfiles .getSelectionIndex()]; - if (!currentLocale.equals(selectedLocale)) { - performSignatureLangSelectionChanged(selectedLocale, currentLocale); + if (!current.equals(selected)) { + preformProfileSelectionChanged(selected, current); } } }); @@ -276,7 +281,7 @@ public class SimpleConfigurationComposite extends BaseConfigurationComposite { FormData fd_grpBildmarke = new FormData(); fd_grpBildmarke.left = new FormAttachment(0, 5); fd_grpBildmarke.right = new FormAttachment(100, -5); - fd_grpBildmarke.top = new FormAttachment(this.grpSingnatureProfile, 5); + fd_grpBildmarke.top = new FormAttachment(this.grpSignatureProfile, 5); this.grpLogo.setLayoutData(fd_grpBildmarke); this.grpLogo.setLayout(new FormLayout()); @@ -484,16 +489,16 @@ public class SimpleConfigurationComposite extends BaseConfigurationComposite { fd_cmbSignatureLang.bottom = new FormAttachment(100, -10); this.cmbSignatureLang.setLayoutData(fd_cmbSignatureLang); -// FontData[] fD_cmbSignatureLang = this.cmbSignatureLang.getFont() -// .getFontData(); -// fD_cmbSignatureLang[0].setHeight(Constants.TEXT_SIZE_NORMAL); + FontData[] fD_cmbSignatureLang = this.cmbSignatureLang.getFont() + .getFontData(); + fD_cmbSignatureLang[0].setHeight(Constants.TEXT_SIZE_NORMAL); this.cmbSignatureLang.setFont(new Font(Display.getCurrent(), fD_cmbSignatureLang[0])); -// String[] localeSignStrings = new String[Constants.SUPPORTED_LOCALES.length]; -// for (int i = 0; i < Constants.SUPPORTED_LOCALES.length; ++i) { -// localeSignStrings[i] = Constants.SUPPORTED_LOCALES[i].getDisplayLanguage(); -// } + String[] localeSignStrings = new String[Constants.SUPPORTED_LOCALES.length]; + for (int idx = 0; idx < Constants.SUPPORTED_LOCALES.length; ++idx) { + localeSignStrings[idx] = Constants.SUPPORTED_LOCALES[idx].getDisplayLanguage(); + } this.cmbSignatureLang.setItems(localeSignStrings); this.cmbSignatureLang.addSelectionListener(new SelectionAdapter() { @Override @@ -778,8 +783,8 @@ public class SimpleConfigurationComposite extends BaseConfigurationComposite { } } } - private void preformProfileSelectionChanged(String selected, String previous) { + diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java index e6b168dc..be2444a0 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java @@ -726,6 +726,7 @@ public class ConfigurationContainerImpl implements ConfigurationContainer { return this.enabledPlaceholderUsage; } + @Override public String getSignatureProfile() { return this.signatureProfile; -- cgit v1.2.3 From 270ea55dd1d77f4bac549ddc2cfef00393744e7a Mon Sep 17 00:00:00 2001 From: Andreas Abraham Date: Tue, 10 Nov 2020 11:51:36 +0100 Subject: Signature Profile selection in GUI --- .../main/java/at/asit/pdfover/gui/Constants.java | 34 +++++++++++++++++++++- .../composites/SimpleConfigurationComposite.java | 34 +++++++--------------- .../workflow/config/ConfigurationContainer.java | 9 +++++- .../config/ConfigurationContainerImpl.java | 10 +++++-- 4 files changed, 59 insertions(+), 28 deletions(-) (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow') diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Constants.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Constants.java index 98fac033..7cb58f74 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Constants.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Constants.java @@ -23,6 +23,7 @@ import java.util.Properties; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.widgets.Display; +import at.asit.pdfover.gui.Constants.PROFILE; import at.asit.pdfover.gui.bku.mobile.MobileBKUHelper; import at.asit.pdfover.gui.bku.mobile.MobileBKUs; @@ -59,7 +60,7 @@ public class Constants { public static final String[] SUPPORTED_PROFILES_STRINGS = {"Signaturblock Normal", "Signaturblock Klein", "Amtssignaturblock", "Nur Bildmarke"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ public static enum PROFILE { - SIGNATUREBLOCK_NORMAL("Signaturblock Normal"), //$NON-NLS-1$ + SIGNATUREBLOCK_NORMAL("Signaturblock Normal") , //$NON-NLS-1$ SIGNATUREBLOCK_SMALL("Signaturblock Klein"), //$NON-NLS-1$ AMTSSIGNATUREBLOCK("Amtssignaturblock"), //$NON-NLS-1$ LOGO_ONLY("Nur Bildmarke"); //$NON-NLS-1$ @@ -71,9 +72,40 @@ public class Constants { this.name = profile; } + public static String[] getProfileStrings() { + String[] profiles = new String[PROFILE.length]; + int i = 0; + for (PROFILE profile : PROFILE.values()) { + profiles[i] = profile.getName(); + i++; + } + return profiles; + } + + public static PROFILE getProfileByIndex(int index) { + String[] profiles = getProfileStrings(); + if (profiles.length < index) { + return null; + } + return getProfile(profiles[index]); + } + public String getName() { return this.name; } + + public static PROFILE getProfile(String profile) { + if (SIGNATUREBLOCK_NORMAL.getName().equals(profile)) { + return SIGNATUREBLOCK_NORMAL; + } else if (SIGNATUREBLOCK_SMALL.getName().equals(profile)) { + return SIGNATUREBLOCK_SMALL; + } else if (AMTSSIGNATUREBLOCK.getName().equals(profile)) { + return AMTSSIGNATUREBLOCK; + } else if (LOGO_ONLY.getName().equals(profile)) { + return LOGO_ONLY; + } + return null; + } } /** Configuration directory */ 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 00df4a99..6737c194 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 @@ -116,7 +116,6 @@ public class SimpleConfigurationComposite extends BaseConfigurationComposite { Image logo = null; private final Group grpSignatureProfile; -// private final Label lblSignatureProfile; private final Combo cmbSingatureProfiles; @@ -216,7 +215,6 @@ public class SimpleConfigurationComposite extends BaseConfigurationComposite { fd_grpSingnatureProfile.left = new FormAttachment(0, 5); fd_grpSingnatureProfile.top = new FormAttachment(this.grpHandySignatur, 5); this.grpSignatureProfile.setLayoutData(fd_grpSingnatureProfile); -// this.grpSignatureProfile.setLayout(new GridLayout(2, false)); this.grpSignatureProfile.setText("Signature Profile"); //$NON-NLS-1$ this.grpSignatureProfile.setLayout(new FormLayout()); @@ -241,30 +239,20 @@ public class SimpleConfigurationComposite extends BaseConfigurationComposite { fD_cmbSignatureProfile[0].setHeight(Constants.TEXT_SIZE_NORMAL); this.cmbSingatureProfiles.setFont(new Font(Display.getCurrent(), fD_cmbSignatureProfile[0])); - - String[] profiles = new String[PROFILE.length]; - int i = 0; - for (PROFILE profile : PROFILE.values()) { - profiles[i] = profile.name(); - i++; - } - - this.cmbSingatureProfiles.setItems(profiles); + this.cmbSingatureProfiles.setItems(PROFILE.getProfileStrings()); + this.configurationContainer.getSignatureProfile(); + this.cmbSingatureProfiles.select(this.configurationContainer.getSignatureProfile().ordinal()); this.cmbSingatureProfiles.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { - String current = SimpleConfigurationComposite.this.configurationContainer.getSignatureProfile(); - String selected = profiles[SimpleConfigurationComposite.this.cmbSingatureProfiles - .getSelectionIndex()]; + PROFILE current = SimpleConfigurationComposite.this.configurationContainer.getSignatureProfile(); + PROFILE selected = PROFILE.getProfileByIndex(SimpleConfigurationComposite.this.cmbSingatureProfiles + .getSelectionIndex()); if (!current.equals(selected)) { - preformProfileSelectionChanged(selected, current); + preformProfileSelectionChanged(selected); } } }); - - - //------------------------------------------------------------------------ - this.grpLogo = new Group(this, SWT.NONE); FormData fd_grpBildmarke = new FormData(); @@ -772,12 +760,10 @@ public class SimpleConfigurationComposite extends BaseConfigurationComposite { } } } - private void preformProfileSelectionChanged(String selected, String previous) { - - - - + void preformProfileSelectionChanged(PROFILE selected) { + log.debug("Signature Profile {0} was selected", selected.getName()); + this.configurationContainer.setSignatureProfile(selected); } /* diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainer.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainer.java index 668c8cb7..18145d4f 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainer.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainer.java @@ -19,6 +19,7 @@ import java.util.Locale; import org.eclipse.swt.graphics.Point; +import at.asit.pdfover.gui.Constants.PROFILE; import at.asit.pdfover.gui.bku.mobile.MobileBKUs; import at.asit.pdfover.gui.exceptions.InvalidEmblemFile; import at.asit.pdfover.gui.exceptions.InvalidNumberException; @@ -414,8 +415,14 @@ public interface ConfigurationContainer { public boolean getEnablePlaceholderUsage(); + /** + * @param profile set the selected profile + */ + public void setSignatureProfile(PROFILE profile); + + /** * @return selected signature profile as string */ - public String getSignatureProfile(); + public PROFILE getSignatureProfile(); } diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java index be2444a0..b3232cfe 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java @@ -28,6 +28,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import at.asit.pdfover.gui.Constants; +import at.asit.pdfover.gui.Constants.PROFILE; import at.asit.pdfover.gui.bku.mobile.MobileBKUHelper; import at.asit.pdfover.gui.bku.mobile.MobileBKUs; import at.asit.pdfover.gui.exceptions.InvalidEmblemFile; @@ -146,7 +147,7 @@ public class ConfigurationContainerImpl implements ConfigurationContainer { protected boolean useSignatureFields = false; /** The Signature Profile */ - protected String signatureProfile = "Normal"; //$NON-NLS-1$ + protected PROFILE signatureProfile = PROFILE.SIGNATUREBLOCK_NORMAL; //$NON-NLS-1$ /* (non-Javadoc) * @see at.asit.pdfover.gui.composites.ConfigurationContainer#getEmblem() @@ -728,8 +729,13 @@ public class ConfigurationContainerImpl implements ConfigurationContainer { @Override - public String getSignatureProfile() { + public PROFILE getSignatureProfile() { return this.signatureProfile; } + @Override + public void setSignatureProfile(PROFILE profile) { + this.signatureProfile = profile; + } + } -- cgit v1.2.3 From 17a8b0011e749af61fa41afdc221169a579ac688 Mon Sep 17 00:00:00 2001 From: Andreas Abraham Date: Tue, 10 Nov 2020 13:51:09 +0100 Subject: added signature profile to the config --- .../main/java/at/asit/pdfover/gui/Constants.java | 2 ++ .../composites/AdvancedConfigurationComposite.java | 2 ++ .../composites/SimpleConfigurationComposite.java | 2 ++ .../gui/workflow/config/ConfigManipulator.java | 5 ++++ .../workflow/config/ConfigOverlayManipulator.java | 6 +++++ .../gui/workflow/config/ConfigProvider.java | 13 ++++++++++ .../gui/workflow/config/ConfigProviderImpl.java | 30 ++++++++++++---------- .../workflow/config/ConfigurationContainer.java | 4 --- .../config/ConfigurationContainerImpl.java | 2 +- .../workflow/config/PersistentConfigProvider.java | 6 +++++ 10 files changed, 54 insertions(+), 18 deletions(-) (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow') diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Constants.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Constants.java index 7cb58f74..dd53b1d3 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Constants.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Constants.java @@ -40,6 +40,8 @@ public class Constants { /** Application name + version */ public static final String APP_NAME_VERSION = (APP_VERSION == null ? APP_NAME : APP_NAME + " v" + APP_VERSION); //$NON-NLS-1$ + + public static final String SIGNATURE_PROFILE = "SIGNATURE_PROFILE"; //$NON-NLS-1$ static { // Has to be set before (implicitly) initializing Display 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 bbcf6b9c..fe4cfc28 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 @@ -1183,6 +1183,8 @@ public class AdvancedConfigurationComposite extends BaseConfigurationComposite { store.setLocale(this.configurationContainer.getLocale()); store.setUpdateCheck(this.configurationContainer.getUpdateCheck()); + + store.setSignatureProfile(this.configurationContainer.getSignatureProfile().getName()); String hostOld = provider.getProxyHostPersistent(); String hostNew = this.configurationContainer.getProxyHost(); 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 6737c194..147f17eb 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 @@ -886,6 +886,8 @@ public class SimpleConfigurationComposite extends BaseConfigurationComposite { store.setSignatureLocale(this.configurationContainer.getSignatureLocale()); store.setSignatureNote(this.configurationContainer.getSignatureNote()); + + store.setSignatureProfile(this.configurationContainer.getSignatureProfile().getName()); } /* diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigManipulator.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigManipulator.java index abed492a..3aba5075 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigManipulator.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigManipulator.java @@ -197,6 +197,11 @@ public interface ConfigManipulator { * @return */ public boolean getEnablePlaceholderUsage(); + + /** + * @param profile + */ + void setSignatureProfile(String profile); } diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigOverlayManipulator.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigOverlayManipulator.java index 44c4a9c9..9b54f4ee 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigOverlayManipulator.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigOverlayManipulator.java @@ -131,4 +131,10 @@ public interface ConfigOverlayManipulator { * @param configurationFile */ public void setConfigurationFile(String configurationFile); + + /** + * + * @param profile + */ + public void setSignatureProfile(String profile); } diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProvider.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProvider.java index 4c674d17..efe0a83b 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProvider.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProvider.java @@ -265,4 +265,17 @@ public interface ConfigProvider { * @return */ public boolean getEnablePlaceholderUsage(); + + /** + * @param profile + */ + public void setSignatureProfile(String profile); + + + /** + * @return + */ + public String getSignatureProfile(); } + + diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java index bd149cf7..b6acb392 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java @@ -30,6 +30,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import at.asit.pdfover.gui.Constants; +import at.asit.pdfover.gui.Constants.PROFILE; import at.asit.pdfover.gui.bku.mobile.MobileBKUs; import at.asit.pdfover.gui.exceptions.InvalidEmblemFile; import at.asit.pdfover.gui.exceptions.InvalidNumberException; @@ -112,11 +113,6 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator, // Set Output Folder setDefaultOutputFolder(config .getProperty(Constants.CFG_OUTPUT_FOLDER)); - - // Set Default Certificate Download URL - // .getProperty(Constants.CFG_DOWNLOAD_URL)); - - String localeString = config.getProperty(Constants.CFG_LOCALE); @@ -146,6 +142,10 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator, setEnablePlaceholderUsage(enablePlaceholder.equalsIgnoreCase(Constants.TRUE)); } + String signatureProfile = config.getProperty(Constants.SIGNATURE_PROFILE); + if (signatureProfile != null) { + this.configuration.setSignatureProfile(PROFILE.getProfile(signatureProfile)); + } String compat = config.getProperty(Constants.CFG_SIGNATURE_PDFA_COMPAT); if (compat != null) @@ -158,14 +158,6 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator, this.configuration.setMobileBKUURL(bkuUrl); } - /*String downloadURL = config - .getProperty(Constants.CFG_DOWNLOAD_URL); - - if (downloadURL != null && !downloadURL.isEmpty()) { - this.configuration.setDownloadURL(downloadURL); - }*/ - - String bkuType = config .getProperty(Constants.CFG_MOBILE_BKU_TYPE); @@ -434,6 +426,8 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator, if (!getUpdateCheck()) props.setProperty(Constants.CFG_UPDATE_CHECK, Constants.FALSE); + props.setProperty(Constants.SIGNATURE_PROFILE, getSignatureProfile()); + FileOutputStream outputstream = new FileOutputStream(configFile, false); @@ -1511,6 +1505,16 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator, if (useFields) setUseMarker(false); } + @Override + public void setSignatureProfile(String profile) { + this.configurationOverlay.setSignatureProfile(PROFILE.getProfile(profile)); + } + + @Override + public String getSignatureProfile() { + return this.configurationOverlay.getSignatureProfile().getName(); + } + @Override public void setEnablePlaceholderUsage(boolean bool) { diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainer.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainer.java index 18145d4f..8b08ba9f 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainer.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainer.java @@ -153,10 +153,6 @@ public interface ConfigurationContainer { * @return the default BKU */ public BKUs getDefaultBKU(); - - - - /** * Sets the default BKU diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java index b3232cfe..3f0021f7 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java @@ -147,7 +147,7 @@ public class ConfigurationContainerImpl implements ConfigurationContainer { protected boolean useSignatureFields = false; /** The Signature Profile */ - protected PROFILE signatureProfile = PROFILE.SIGNATUREBLOCK_NORMAL; //$NON-NLS-1$ + protected PROFILE signatureProfile = PROFILE.SIGNATUREBLOCK_NORMAL; /* (non-Javadoc) * @see at.asit.pdfover.gui.composites.ConfigurationContainer#getEmblem() diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/PersistentConfigProvider.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/PersistentConfigProvider.java index e217b3c8..3304b6ca 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/PersistentConfigProvider.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/PersistentConfigProvider.java @@ -199,4 +199,10 @@ public interface PersistentConfigProvider { * @return */ public boolean getEnablePlaceholderUsage(); + + /*** + * + * @return the signature profile + */ + public String getSignatureProfile(); } -- cgit v1.2.3 From 0b920b2d10e7844f4ba2f02e0191438808d8d4e0 Mon Sep 17 00:00:00 2001 From: Andreas Abraham Date: Wed, 11 Nov 2020 15:32:36 +0100 Subject: fixed bug in configuration --- .../composites/AdvancedConfigurationComposite.java | 180 ++------------------- .../composites/SimpleConfigurationComposite.java | 43 +++-- .../gui/workflow/config/ConfigProviderImpl.java | 1 + .../config/ConfigurationContainerImpl.java | 5 +- 4 files changed, 39 insertions(+), 190 deletions(-) (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow') 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 fe4cfc28..e9ed5316 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 @@ -48,6 +48,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import at.asit.pdfover.gui.Constants; +import at.asit.pdfover.gui.Constants.PROFILE; import at.asit.pdfover.gui.controls.ErrorDialog; import at.asit.pdfover.gui.controls.ErrorMarker; import at.asit.pdfover.gui.controls.Dialog.BUTTONS; @@ -113,12 +114,6 @@ public class AdvancedConfigurationComposite extends BaseConfigurationComposite { private Label lblProxyPort; private Text txtProxyPort; private ErrorMarker txtProxyPortErrorMarker; -// private Label lblProxyUser; -// private Text txtProxyUser; -// private ErrorMarker proxyUserErrorMarker; -// private Label lblProxyPass; -// private Text txtProxyPass; -// private ErrorMarker proxyPassErrorMarker; FormData fd_txtProxyPort; FormData fd_txtProxyPortErrorMarker; @@ -719,119 +714,6 @@ public class AdvancedConfigurationComposite extends BaseConfigurationComposite { processProxyPortChanged(); } }); - -// this.lblProxyUser = new Label(this.grpProxy, SWT.NONE); -// GridData gd_lblProxyUser = new GridData(SWT.LEFT, SWT.CENTER, false, -// false, 1, 1); -// gd_lblProxyUser.widthHint = 80; -// this.lblProxyUser.setLayoutData(gd_lblProxyUser); -// this.lblProxyUser.setBounds(0, 0, 57, 15); -// -// FontData[] fD_lblProxyUser = this.lblProxyUser.getFont().getFontData(); -// fD_lblProxyUser[0].setHeight(Constants.TEXT_SIZE_NORMAL); -// this.lblProxyUser.setFont(new Font(Display.getCurrent(), -// fD_lblProxyUser[0])); -// -// Composite compProxyUserContainer = new Composite(this.grpProxy, SWT.NONE); -// compProxyUserContainer.setLayout(new FormLayout()); -// compProxyUserContainer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, -// 1, 1)); -// this.txtProxyUser = new Text(compProxyUserContainer, SWT.BORDER); -// FormData fd_txtProxyUser = new FormData(); -// fd_txtProxyUser.right = new FormAttachment(100, -42); -// fd_txtProxyUser.top = new FormAttachment(0); -// fd_txtProxyUser.left = new FormAttachment(0, 5); -// -// FontData[] fD_txtProxyUser = this.txtProxyUser.getFont().getFontData(); -// fD_txtProxyUser[0].setHeight(Constants.TEXT_SIZE_NORMAL); -// this.txtProxyUser.setFont(new Font(Display.getCurrent(), -// fD_txtProxyUser[0])); -// -// this.proxyUserErrorMarker = new ErrorMarker(compProxyUserContainer, SWT.NONE, ""); //$NON-NLS-1$ -// -// FormData fd_proxyUserErrorMarker = new FormData(); -// fd_proxyUserErrorMarker.left = new FormAttachment(100, -32); -// fd_proxyUserErrorMarker.right = new FormAttachment(100); -// fd_proxyUserErrorMarker.top = new FormAttachment(0); -// fd_proxyUserErrorMarker.bottom = new FormAttachment(0, 32); -// -// this.proxyUserErrorMarker.setLayoutData(fd_proxyUserErrorMarker); -// this.proxyUserErrorMarker.setVisible(false); -// this.txtProxyUser.setLayoutData(fd_txtProxyUser); -// -// this.txtProxyUser.addFocusListener(new FocusAdapter() { -// -// @Override -// public void focusLost(FocusEvent e) { -// processProxyUserChanged(); -// } -// }); -// -// this.txtProxyUser.addTraverseListener(new TraverseListener() { -// -// @Override -// public void keyTraversed(TraverseEvent e) { -// if (e.detail == SWT.TRAVERSE_RETURN) { -// processProxyUserChanged(); -// } -// } -// }); -// -// this.lblProxyPass = new Label(this.grpProxy, SWT.NONE); -// this.lblProxyPass.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, -// false, false, 1, 1)); -// this.lblProxyPass.setBounds(0, 0, 57, 15); -// -// FontData[] fD_lblProxyPass = this.lblProxyPass.getFont().getFontData(); -// fD_lblProxyPass[0].setHeight(Constants.TEXT_SIZE_NORMAL); -// this.lblProxyPass.setFont(new Font(Display.getCurrent(), -// fD_lblProxyPass[0])); -// -// Composite compProxyPassContainer = new Composite(this.grpProxy, SWT.NONE); -// compProxyPassContainer.setLayout(new FormLayout()); -// compProxyPassContainer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, -// 1, 1)); -// this.txtProxyPass = new Text(compProxyPassContainer, SWT.PASSWORD | SWT.BORDER); -// FormData fd_txtProxyPass = new FormData(); -// fd_txtProxyPass.right = new FormAttachment(100, -42); -// fd_txtProxyPass.top = new FormAttachment(0); -// fd_txtProxyPass.left = new FormAttachment(0, 5); -// -// FontData[] fD_txtProxyPass = this.txtProxyPass.getFont().getFontData(); -// fD_txtProxyPass[0].setHeight(Constants.TEXT_SIZE_NORMAL); -// this.txtProxyPass.setFont(new Font(Display.getCurrent(), -// fD_txtProxyPass[0])); -// -// this.proxyPassErrorMarker = new ErrorMarker(compProxyPassContainer, SWT.NONE, ""); //$NON-NLS-1$ -// -// FormData fd_proxyPassErrorMarker = new FormData(); -// fd_proxyPassErrorMarker.left = new FormAttachment(100, -32); -// fd_proxyPassErrorMarker.right = new FormAttachment(100); -// fd_proxyPassErrorMarker.top = new FormAttachment(0); -// fd_proxyPassErrorMarker.bottom = new FormAttachment(0, 32); -// -// this.proxyPassErrorMarker.setLayoutData(fd_proxyPassErrorMarker); -// this.proxyPassErrorMarker.setVisible(false); -// this.txtProxyPass.setLayoutData(fd_txtProxyPass); -// -// this.txtProxyPass.addFocusListener(new FocusAdapter() { -// -// @Override -// public void focusLost(FocusEvent e) { -// processProxyPassChanged(); -// } -// }); -// -// this.txtProxyPass.addTraverseListener(new TraverseListener() { -// -// @Override -// public void keyTraversed(TraverseEvent e) { -// if (e.detail == SWT.TRAVERSE_RETURN) { -// processProxyPassChanged(); -// } -// } -// }); - reloadResources(); } @@ -990,44 +872,6 @@ public class AdvancedConfigurationComposite extends BaseConfigurationComposite { this.configurationContainer.setProxyHost(host); } -// void processProxyUserChanged() { -// try { -// this.proxyUserErrorMarker.setVisible(false); -// plainProxyUserSetter(); -// } catch (Exception ex) { -// this.proxyUserErrorMarker.setVisible(true); -// this.proxyUserErrorMarker.setToolTipText(ex.getMessage()); -// log.error("processProxyUser: ", ex); //$NON-NLS-1$ -// } -// } -// -// /** -// * -// */ -// private void plainProxyUserSetter() { -// String user = this.txtProxyUser.getText(); -// this.configurationContainer.setProxyUser(user); -// } -// -// void processProxyPassChanged() { -// try { -// this.proxyPassErrorMarker.setVisible(false); -// plainProxyPassSetter(); -// } catch (Exception ex) { -// this.proxyPassErrorMarker.setVisible(true); -// this.proxyPassErrorMarker.setToolTipText(ex.getMessage()); -// log.error("processProxyPass: ", ex); //$NON-NLS-1$ -// } -// } -// -// /** -// * -// */ -// private void plainProxyPassSetter() { -// String pass = this.txtProxyPass.getText(); -// this.configurationContainer.setProxyPass(pass); -// } - void processProxyPortChanged() { try { this.txtProxyPortErrorMarker.setVisible(false); @@ -1109,6 +953,7 @@ public class AdvancedConfigurationComposite extends BaseConfigurationComposite { provider.getProxyUserPersistent()); this.configurationContainer.setProxyPass( provider.getProxyPassPersistent()); + this.configurationContainer.setSignatureProfile(PROFILE.getProfile(provider.getSignatureProfile())); } /* @@ -1136,6 +981,8 @@ public class AdvancedConfigurationComposite extends BaseConfigurationComposite { performPdfACompatSelection(this.configurationContainer.getSignaturePdfACompat()); performKeystoreEnabledSelection(this.configurationContainer.getKeyStoreEnabled()); performUpdateCheckSelection(this.configurationContainer.getUpdateCheck()); + performSetSignatureProfile(this.configurationContainer.getSignatureProfile()); + int port = this.configurationContainer.getProxyPort(); if (port > 0) { @@ -1146,19 +993,18 @@ public class AdvancedConfigurationComposite extends BaseConfigurationComposite { if (host != null) { this.txtProxyHost.setText(host); } - - /*String user = this.configurationContainer.getProxyUser(); - if (user != null) { - this.txtProxyUser.setText(user); - } - - String pass = this.configurationContainer.getProxyPass(); - if (pass != null) { - this.txtProxyPass.setText(pass); - }*/ + } + /** + * @param profile + * + */ + public void performSetSignatureProfile(PROFILE profile) { + this.configurationContainer.setSignatureProfile(profile); + } + /* (non-Javadoc) * @see at.asit.pdfover.gui.composites.BaseConfigurationComposite#storeConfiguration(at.asit.pdfover.gui.workflow.config.ConfigManipulator, at.asit.pdfover.gui.workflow.config.PersistentConfigProvider) */ 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 147f17eb..4e18cd52 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 @@ -91,32 +91,32 @@ public class SimpleConfigurationComposite extends BaseConfigurationComposite { private Group grpHandySignatur; private Label lblMobileNumber; - Text txtMobileNumber; - FormData fd_txtMobileNumber; - ErrorMarker txtMobileNumberErrorMarker; - FormData fd_txtMobileNumberErrorMarker; + protected Text txtMobileNumber; + protected FormData fd_txtMobileNumber; + protected ErrorMarker txtMobileNumberErrorMarker; + protected FormData fd_txtMobileNumberErrorMarker; private Group grpLogo; private Canvas cLogo; private Label lblDropLogo; - Button btnClearImage; + protected Button btnClearImage; private Button btnBrowseLogo; - Canvas cSigPreview; + protected Canvas cSigPreview; private Group grpSignatureNote; private Label lblSignatureNote; - Text txtSignatureNote; + protected Text txtSignatureNote; private Button btnSignatureNoteDefault; - private Group grpSignatureLang; - Combo cmbSignatureLang; + protected final Group grpSignatureLang; + protected final Combo cmbSignatureLang; - String logoFile; - Image sigPreview = null; - Image logo = null; + protected String logoFile = null; + protected Image sigPreview = null; + protected Image logo = null; - private final Group grpSignatureProfile; - private final Combo cmbSingatureProfiles; + protected final Group grpSignatureProfile; + protected final Combo cmbSingatureProfiles; @@ -205,10 +205,7 @@ public class SimpleConfigurationComposite extends BaseConfigurationComposite { processNumberChanged(); } }); - - - //----------------------------------------------------------------------- - + this.grpSignatureProfile = new Group(this, SWT.NONE); FormData fd_grpSingnatureProfile = new FormData(); fd_grpSingnatureProfile.right = new FormAttachment(100, -5); @@ -240,8 +237,7 @@ public class SimpleConfigurationComposite extends BaseConfigurationComposite { this.cmbSingatureProfiles.setFont(new Font(Display.getCurrent(), fD_cmbSignatureProfile[0])); this.cmbSingatureProfiles.setItems(PROFILE.getProfileStrings()); - this.configurationContainer.getSignatureProfile(); - this.cmbSingatureProfiles.select(this.configurationContainer.getSignatureProfile().ordinal()); + //this.cmbSingatureProfiles.select(this.configurationContainer.getSignatureProfile().ordinal()); this.cmbSingatureProfiles.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { @@ -324,7 +320,6 @@ public class SimpleConfigurationComposite extends BaseConfigurationComposite { FormData fd_lbl_drop = new FormData(); fd_lbl_drop.left = new FormAttachment(0, 20); fd_lbl_drop.right = new FormAttachment(100, -20); - // fd_lbl_drop.top = new FormAttachment(50, -20); fd_lbl_drop.bottom = new FormAttachment(this.btnBrowseLogo, -20); this.lblDropLogo.setLayoutData(fd_lbl_drop); @@ -762,8 +757,9 @@ public class SimpleConfigurationComposite extends BaseConfigurationComposite { } void preformProfileSelectionChanged(PROFILE selected) { - log.debug("Signature Profile {0} was selected", selected.getName()); + log.debug("Signature Profile {} was selected", selected.getName()); //$NON-NLS-1$ this.configurationContainer.setSignatureProfile(selected); + this.cmbSingatureProfiles.select(selected.ordinal()); } /* @@ -871,6 +867,9 @@ public class SimpleConfigurationComposite extends BaseConfigurationComposite { this.setVisibleImage(); this.performSignatureLangSelectionChanged(this.configurationContainer.getSignatureLocale(), null); + + this.preformProfileSelectionChanged(this.configurationContainer.getSignatureProfile()); + } /* (non-Javadoc) diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java index b6acb392..f1461809 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java @@ -145,6 +145,7 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator, String signatureProfile = config.getProperty(Constants.SIGNATURE_PROFILE); if (signatureProfile != null) { this.configuration.setSignatureProfile(PROFILE.getProfile(signatureProfile)); + this.configurationOverlay.setSignatureProfile(PROFILE.getProfile(signatureProfile)); } String compat = config.getProperty(Constants.CFG_SIGNATURE_PDFA_COMPAT); diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java index 3f0021f7..32b5ece3 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java @@ -147,7 +147,7 @@ public class ConfigurationContainerImpl implements ConfigurationContainer { protected boolean useSignatureFields = false; /** The Signature Profile */ - protected PROFILE signatureProfile = PROFILE.SIGNATUREBLOCK_NORMAL; + protected PROFILE signatureProfile = null; /* (non-Javadoc) * @see at.asit.pdfover.gui.composites.ConfigurationContainer#getEmblem() @@ -730,6 +730,9 @@ public class ConfigurationContainerImpl implements ConfigurationContainer { @Override public PROFILE getSignatureProfile() { + if (this.signatureProfile == null) { + this.signatureProfile = PROFILE.SIGNATUREBLOCK_NORMAL; + } return this.signatureProfile; } -- cgit v1.2.3 From 1eddc2b51034df2ce3e814c297311e27dccacee1 Mon Sep 17 00:00:00 2001 From: Andreas Abraham Date: Thu, 12 Nov 2020 14:13:18 +0100 Subject: fixed problem handing over the selected profile to pdf-as4 signer --- .../gui/composites/SimpleConfigurationComposite.java | 14 ++++++++++++-- .../pdfover/gui/workflow/states/PrepareSigningState.java | 4 +++- .../at/asit/pdfover/signator/SignatureParameter.java | 5 +++++ .../pdfover/signer/pdfas/PdfAs4SignatureParameter.java | 16 +++++++++++++++- .../java/at/asit/pdfover/signer/pdfas/PdfAs4Signer.java | 2 +- 5 files changed, 36 insertions(+), 5 deletions(-) (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow') 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 4e18cd52..26f67da3 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 @@ -663,8 +663,7 @@ public class SimpleConfigurationComposite extends BaseConfigurationComposite { try { if (this.signer != null) { - SignatureParameter param = this.signer.getPDFSigner() - .newParameter(); + SignatureParameter param = this.signer.getPDFSigner().newParameter(); if(this.configurationContainer.getSignatureNote() != null && !this.configurationContainer.getSignatureNote().isEmpty()) { param.setProperty("SIG_NOTE", this.configurationContainer.getSignatureNote()); //$NON-NLS-1$ } @@ -762,6 +761,16 @@ public class SimpleConfigurationComposite extends BaseConfigurationComposite { this.cmbSingatureProfiles.select(selected.ordinal()); } + void setSignatureProfileSetting(){ + try { + SignatureParameter param = this.signer.getPDFSigner().newParameter(); + param.setSignatureProfile(this.configurationContainer.getSignatureProfile().getName()); + + } catch (Exception e){ + log.debug("Cannot save siganture profile" + e.getMessage()); + } + } + /* * (non-Javadoc) * @@ -771,6 +780,7 @@ public class SimpleConfigurationComposite extends BaseConfigurationComposite { @Override protected void signerChanged() { this.setVisibleImage(); + this.setSignatureProfileSetting(); } /** 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 f9827ba4..9d17a3e8 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 @@ -166,6 +166,8 @@ public class PrepareSigningState extends State { this.state.signatureParameter .setSignaturePdfACompat(configuration.getSignaturePdfACompat()); + this.state.signatureParameter.setSignatureProfile(configuration.getSignatureProfile()); + this.state.signingState = this.state.signer .prepare(this.state.signatureParameter); @@ -199,7 +201,7 @@ public class PrepareSigningState extends State { at.asit.pdfover.signator.SigningState signingState = null; - Signer signer; + Signer signer; Exception threadException = null; diff --git a/pdf-over-signator/src/main/java/at/asit/pdfover/signator/SignatureParameter.java b/pdf-over-signator/src/main/java/at/asit/pdfover/signator/SignatureParameter.java index c52370d4..edf50b23 100644 --- a/pdf-over-signator/src/main/java/at/asit/pdfover/signator/SignatureParameter.java +++ b/pdf-over-signator/src/main/java/at/asit/pdfover/signator/SignatureParameter.java @@ -221,4 +221,9 @@ public abstract class SignatureParameter { * @return associated value */ public abstract String getProperty(String key); + + + public abstract void setSignatureProfile(String profile); + + public abstract String getSignatureProfile(); } diff --git a/pdf-over-signer/pdf-over-sigpdfas4/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4SignatureParameter.java b/pdf-over-signer/pdf-over-sigpdfas4/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4SignatureParameter.java index 38a2bc8f..aed66b9b 100644 --- a/pdf-over-signer/pdf-over-sigpdfas4/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4SignatureParameter.java +++ b/pdf-over-signer/pdf-over-sigpdfas4/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4SignatureParameter.java @@ -68,6 +68,7 @@ public class PdfAs4SignatureParameter extends SignatureParameter { **/ static final Logger log = LoggerFactory .getLogger(PdfAs4SignatureParameter.class); + private String profile; /* (non-Javadoc) * @see at.asit.pdfover.signator.SignatureParameter#getPlaceholderDimension() @@ -164,7 +165,7 @@ public class PdfAs4SignatureParameter extends SignatureParameter { String lang = getSignatureLanguage(); boolean useNote = (getProperty("SIG_NOTE") != null); boolean usePdfACompat = (getSignaturePdfACompat()); - String profile = getProperty("SIGNATURE_PROFILE"); + //Add Signature Param here// String profileId; @@ -191,4 +192,17 @@ public class PdfAs4SignatureParameter extends SignatureParameter { log.debug("Profile ID: " + profileId); return profileId; } + + @Override + public void setSignatureProfile(String profile) { + this.profile = profile; + } + + @Override + public String getSignatureProfile() { + return this.profile; + } } + + + diff --git a/pdf-over-signer/pdf-over-sigpdfas4/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4Signer.java b/pdf-over-signer/pdf-over-sigpdfas4/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4Signer.java index a729f65b..5c4782ba 100644 --- a/pdf-over-signer/pdf-over-sigpdfas4/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4Signer.java +++ b/pdf-over-signer/pdf-over-sigpdfas4/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4Signer.java @@ -91,7 +91,7 @@ public class PdfAs4Signer implements Signer { param.getConfiguration().setValue(IConfigurationConstants.PLACEHOLDER_SEARCH_ENABLED, IConfigurationConstants.TRUE); } - + state.setSignParameter(param); state.setOutput(output); -- cgit v1.2.3 From 1ccaee68474946e2509854a62b6d7e380bca6e7c Mon Sep 17 00:00:00 2001 From: Andreas Abraham Date: Thu, 12 Nov 2020 16:19:52 +0100 Subject: Fixed Naming in Signature Profile Names --- .../src/main/java/at/asit/pdfover/gui/Constants.java | 18 +++++++++--------- .../workflow/config/ConfigurationContainerImpl.java | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow') diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Constants.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Constants.java index cbfd8e24..d6f83973 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Constants.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Constants.java @@ -60,9 +60,9 @@ public class Constants { public static final Locale[] SUPPORTED_LOCALES = { Locale.GERMAN, Locale.ENGLISH }; public static enum PROFILE { - SIGNATUREBLOCK_NORMAL("Signaturblock Normal") , //$NON-NLS-1$ - SIGNATUREBLOCK_SMALL("Signaturblock Klein"), //$NON-NLS-1$ - AMTSSIGNATUREBLOCK("Amtssignatur"), //$NON-NLS-1$ + SIGNATURBLOCK("Signaturblock Normal") , //$NON-NLS-1$ + SIGNATURBLOCK_SMALL("Signaturblock Klein"), //$NON-NLS-1$ + AMTSSIGNATURBLOCK("Amtssignatur"), //$NON-NLS-1$ LOGO_ONLY("Nur Bildmarke"), //$NON-NLS-1$ INVISIBLE("Unsichtbar"); @@ -96,12 +96,12 @@ public class Constants { } public static PROFILE getProfile(String profile) { - if (SIGNATUREBLOCK_NORMAL.getName().equals(profile)) { - return SIGNATUREBLOCK_NORMAL; - } else if (SIGNATUREBLOCK_SMALL.getName().equals(profile)) { - return SIGNATUREBLOCK_SMALL; - } else if (AMTSSIGNATUREBLOCK.getName().equals(profile)) { - return AMTSSIGNATUREBLOCK; + if (SIGNATURBLOCK.getName().equals(profile)) { + return SIGNATURBLOCK; + } else if (SIGNATURBLOCK_SMALL.getName().equals(profile)) { + return SIGNATURBLOCK_SMALL; + } else if (AMTSSIGNATURBLOCK.getName().equals(profile)) { + return AMTSSIGNATURBLOCK; } else if (LOGO_ONLY.getName().equals(profile)) { return LOGO_ONLY; } else if (INVISIBLE.getName().equals(profile)){ diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java index 32b5ece3..300e2df1 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java @@ -731,7 +731,7 @@ public class ConfigurationContainerImpl implements ConfigurationContainer { @Override public PROFILE getSignatureProfile() { if (this.signatureProfile == null) { - this.signatureProfile = PROFILE.SIGNATUREBLOCK_NORMAL; + this.signatureProfile = PROFILE.SIGNATURBLOCK; } return this.signatureProfile; } -- cgit v1.2.3 From d658f95290ea03bd0ecdc01110b48244b28e6f19 Mon Sep 17 00:00:00 2001 From: Andreas Abraham Date: Fri, 13 Nov 2020 13:49:59 +0100 Subject: refactored Profile --- pdf-over-commons/pdf-over-commons.iml | 1 - .../main/java/at/asit/pdfover/commons/Profile.java | 58 ++++++++++++++++++++++ pdf-over-gui/pom.xml | 6 +++ .../main/java/at/asit/pdfover/gui/Constants.java | 55 +------------------- .../composites/AdvancedConfigurationComposite.java | 6 +-- .../composites/SimpleConfigurationComposite.java | 10 ++-- .../gui/workflow/config/ConfigProviderImpl.java | 8 +-- .../workflow/config/ConfigurationContainer.java | 6 +-- .../config/ConfigurationContainerImpl.java | 10 ++-- pdf-over-signer/pdf-over-sigpdfas4/pom.xml | 6 +++ .../signer/pdfas/PdfAs4SignatureParameter.java | 8 ++- 11 files changed, 94 insertions(+), 80 deletions(-) create mode 100644 pdf-over-commons/src/main/java/at/asit/pdfover/commons/Profile.java (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow') diff --git a/pdf-over-commons/pdf-over-commons.iml b/pdf-over-commons/pdf-over-commons.iml index c035f0b0..597cd8e6 100644 --- a/pdf-over-commons/pdf-over-commons.iml +++ b/pdf-over-commons/pdf-over-commons.iml @@ -6,7 +6,6 @@ - diff --git a/pdf-over-commons/src/main/java/at/asit/pdfover/commons/Profile.java b/pdf-over-commons/src/main/java/at/asit/pdfover/commons/Profile.java new file mode 100644 index 00000000..84de1aaa --- /dev/null +++ b/pdf-over-commons/src/main/java/at/asit/pdfover/commons/Profile.java @@ -0,0 +1,58 @@ +package at.asit.pdfover.commons; + +public enum Profile { + + SIGNATURBLOCK("Signaturblock Normal") , //$NON-NLS-1$ + SIGNATURBLOCK_SMALL("Signaturblock Klein"), //$NON-NLS-1$ + AMTSSIGNATURBLOCK("Amtssignatur"), //$NON-NLS-1$ + LOGO_ONLY("Nur Bildmarke"), //$NON-NLS-1$ + INVISIBLE("Unsichtbar"); + + public static int length = 5; + private String name; + + Profile(String profile){ + this.name = profile; + } + + public static String[] getProfileStrings() { + String[] profiles = new String[Profile.length]; + int i = 0; + for (Profile profile : Profile.values()) { + profiles[i] = profile.getName(); + i++; + } + return profiles; + } + + public static Profile getProfileByIndex(int index) { + String[] profiles = getProfileStrings(); + if (profiles.length < index) { + return null; + } + return getProfile(profiles[index]); + } + + public String getName() { + return this.name; + } + + public static Profile getProfile(String profile) { + if (SIGNATURBLOCK.getName().equals(profile)) { + return SIGNATURBLOCK; + } else if (SIGNATURBLOCK_SMALL.getName().equals(profile)) { + return SIGNATURBLOCK_SMALL; + } else if (AMTSSIGNATURBLOCK.getName().equals(profile)) { + return AMTSSIGNATURBLOCK; + } else if (LOGO_ONLY.getName().equals(profile)) { + return LOGO_ONLY; + } else if (INVISIBLE.getName().equals(profile)){ + return INVISIBLE; + } + return null; + } + + + + +} diff --git a/pdf-over-gui/pom.xml b/pdf-over-gui/pom.xml index 3c108817..37d35469 100644 --- a/pdf-over-gui/pom.xml +++ b/pdf-over-gui/pom.xml @@ -66,6 +66,12 @@ commons-configuration 1.10 + + at.a-sit + pdf-over-commons + 4.2.4-SNAPSHOT + compile + diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Constants.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Constants.java index d6f83973..ed007cb8 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Constants.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Constants.java @@ -23,8 +23,7 @@ import java.util.Properties; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.widgets.Display; -import at.asit.pdfover.gui.Constants.PROFILE; -import at.asit.pdfover.gui.bku.mobile.MobileBKUHelper; + import at.asit.pdfover.gui.bku.mobile.MobileBKUs; /** @@ -59,58 +58,6 @@ public class Constants { /** Supported locales */ public static final Locale[] SUPPORTED_LOCALES = { Locale.GERMAN, Locale.ENGLISH }; - public static enum PROFILE { - SIGNATURBLOCK("Signaturblock Normal") , //$NON-NLS-1$ - SIGNATURBLOCK_SMALL("Signaturblock Klein"), //$NON-NLS-1$ - AMTSSIGNATURBLOCK("Amtssignatur"), //$NON-NLS-1$ - LOGO_ONLY("Nur Bildmarke"), //$NON-NLS-1$ - INVISIBLE("Unsichtbar"); - - public static int length = 5; - private String name; - - PROFILE(String profile){ - this.name = profile; - } - - public static String[] getProfileStrings() { - String[] profiles = new String[PROFILE.length]; - int i = 0; - for (PROFILE profile : PROFILE.values()) { - profiles[i] = profile.getName(); - i++; - } - return profiles; - } - - public static PROFILE getProfileByIndex(int index) { - String[] profiles = getProfileStrings(); - if (profiles.length < index) { - return null; - } - return getProfile(profiles[index]); - } - - public String getName() { - return this.name; - } - - public static PROFILE getProfile(String profile) { - if (SIGNATURBLOCK.getName().equals(profile)) { - return SIGNATURBLOCK; - } else if (SIGNATURBLOCK_SMALL.getName().equals(profile)) { - return SIGNATURBLOCK_SMALL; - } else if (AMTSSIGNATURBLOCK.getName().equals(profile)) { - return AMTSSIGNATURBLOCK; - } else if (LOGO_ONLY.getName().equals(profile)) { - return LOGO_ONLY; - } else if (INVISIBLE.getName().equals(profile)){ - return INVISIBLE; - } - return null; - } - } - /** Configuration directory */ public static final String CONFIG_DIRECTORY = System.getProperty("user.home") + File.separator + ".pdf-over"; //$NON-NLS-1$ //$NON-NLS-2$ 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 e9ed5316..f4b3ae0b 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 @@ -48,7 +48,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import at.asit.pdfover.gui.Constants; -import at.asit.pdfover.gui.Constants.PROFILE; +import at.asit.pdfover.commons.Profile; import at.asit.pdfover.gui.controls.ErrorDialog; import at.asit.pdfover.gui.controls.ErrorMarker; import at.asit.pdfover.gui.controls.Dialog.BUTTONS; @@ -953,7 +953,7 @@ public class AdvancedConfigurationComposite extends BaseConfigurationComposite { provider.getProxyUserPersistent()); this.configurationContainer.setProxyPass( provider.getProxyPassPersistent()); - this.configurationContainer.setSignatureProfile(PROFILE.getProfile(provider.getSignatureProfile())); + this.configurationContainer.setSignatureProfile(Profile.getProfile(provider.getSignatureProfile())); } /* @@ -1001,7 +1001,7 @@ public class AdvancedConfigurationComposite extends BaseConfigurationComposite { * @param profile * */ - public void performSetSignatureProfile(PROFILE profile) { + public void performSetSignatureProfile(Profile profile) { this.configurationContainer.setSignatureProfile(profile); } 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 d65c45a5..7941bc9a 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 @@ -62,7 +62,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import at.asit.pdfover.gui.Constants; -import at.asit.pdfover.gui.Constants.PROFILE; +import at.asit.pdfover.commons.Profile; import at.asit.pdfover.gui.controls.Dialog.BUTTONS; import at.asit.pdfover.gui.controls.ErrorDialog; import at.asit.pdfover.gui.controls.ErrorMarker; @@ -236,13 +236,13 @@ public class SimpleConfigurationComposite extends BaseConfigurationComposite { fD_cmbSignatureProfile[0].setHeight(Constants.TEXT_SIZE_NORMAL); this.cmbSingatureProfiles.setFont(new Font(Display.getCurrent(), fD_cmbSignatureProfile[0])); - this.cmbSingatureProfiles.setItems(PROFILE.getProfileStrings()); + this.cmbSingatureProfiles.setItems(Profile.getProfileStrings()); //this.cmbSingatureProfiles.select(this.configurationContainer.getSignatureProfile().ordinal()); this.cmbSingatureProfiles.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { - PROFILE current = SimpleConfigurationComposite.this.configurationContainer.getSignatureProfile(); - PROFILE selected = PROFILE.getProfileByIndex(SimpleConfigurationComposite.this.cmbSingatureProfiles + Profile current = SimpleConfigurationComposite.this.configurationContainer.getSignatureProfile(); + Profile selected = Profile.getProfileByIndex(SimpleConfigurationComposite.this.cmbSingatureProfiles .getSelectionIndex()); if (!current.equals(selected)) { preformProfileSelectionChanged(selected); @@ -755,7 +755,7 @@ public class SimpleConfigurationComposite extends BaseConfigurationComposite { } } - void preformProfileSelectionChanged(PROFILE selected) { + void preformProfileSelectionChanged(Profile selected) { log.debug("Signature Profile {} was selected", selected.getName()); //$NON-NLS-1$ this.configurationContainer.setSignatureProfile(selected); this.cmbSingatureProfiles.select(selected.ordinal()); diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java index f1461809..92a64103 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java @@ -25,12 +25,12 @@ import java.util.Properties; import java.util.regex.Matcher; import java.util.regex.Pattern; +import at.asit.pdfover.commons.Profile; import org.eclipse.swt.graphics.Point; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import at.asit.pdfover.gui.Constants; -import at.asit.pdfover.gui.Constants.PROFILE; import at.asit.pdfover.gui.bku.mobile.MobileBKUs; import at.asit.pdfover.gui.exceptions.InvalidEmblemFile; import at.asit.pdfover.gui.exceptions.InvalidNumberException; @@ -144,8 +144,8 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator, String signatureProfile = config.getProperty(Constants.SIGNATURE_PROFILE); if (signatureProfile != null) { - this.configuration.setSignatureProfile(PROFILE.getProfile(signatureProfile)); - this.configurationOverlay.setSignatureProfile(PROFILE.getProfile(signatureProfile)); + this.configuration.setSignatureProfile(Profile.getProfile(signatureProfile)); + this.configurationOverlay.setSignatureProfile(Profile.getProfile(signatureProfile)); } String compat = config.getProperty(Constants.CFG_SIGNATURE_PDFA_COMPAT); @@ -1508,7 +1508,7 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator, @Override public void setSignatureProfile(String profile) { - this.configurationOverlay.setSignatureProfile(PROFILE.getProfile(profile)); + this.configurationOverlay.setSignatureProfile(Profile.getProfile(profile)); } @Override diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainer.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainer.java index 8b08ba9f..bed44da1 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainer.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainer.java @@ -17,9 +17,9 @@ package at.asit.pdfover.gui.workflow.config; import java.util.Locale; +import at.asit.pdfover.commons.Profile; import org.eclipse.swt.graphics.Point; -import at.asit.pdfover.gui.Constants.PROFILE; import at.asit.pdfover.gui.bku.mobile.MobileBKUs; import at.asit.pdfover.gui.exceptions.InvalidEmblemFile; import at.asit.pdfover.gui.exceptions.InvalidNumberException; @@ -414,11 +414,11 @@ public interface ConfigurationContainer { /** * @param profile set the selected profile */ - public void setSignatureProfile(PROFILE profile); + public void setSignatureProfile(Profile profile); /** * @return selected signature profile as string */ - public PROFILE getSignatureProfile(); + public Profile getSignatureProfile(); } diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java index 300e2df1..7d2c77c4 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java @@ -20,6 +20,7 @@ import java.io.File; import java.io.FileNotFoundException; import java.util.Locale; +import at.asit.pdfover.commons.Profile; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.ImageData; import org.eclipse.swt.graphics.Point; @@ -28,7 +29,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import at.asit.pdfover.gui.Constants; -import at.asit.pdfover.gui.Constants.PROFILE; import at.asit.pdfover.gui.bku.mobile.MobileBKUHelper; import at.asit.pdfover.gui.bku.mobile.MobileBKUs; import at.asit.pdfover.gui.exceptions.InvalidEmblemFile; @@ -147,7 +147,7 @@ public class ConfigurationContainerImpl implements ConfigurationContainer { protected boolean useSignatureFields = false; /** The Signature Profile */ - protected PROFILE signatureProfile = null; + protected Profile signatureProfile = null; /* (non-Javadoc) * @see at.asit.pdfover.gui.composites.ConfigurationContainer#getEmblem() @@ -729,15 +729,15 @@ public class ConfigurationContainerImpl implements ConfigurationContainer { @Override - public PROFILE getSignatureProfile() { + public Profile getSignatureProfile() { if (this.signatureProfile == null) { - this.signatureProfile = PROFILE.SIGNATURBLOCK; + this.signatureProfile = Profile.SIGNATURBLOCK; } return this.signatureProfile; } @Override - public void setSignatureProfile(PROFILE profile) { + public void setSignatureProfile(Profile profile) { this.signatureProfile = profile; } diff --git a/pdf-over-signer/pdf-over-sigpdfas4/pom.xml b/pdf-over-signer/pdf-over-sigpdfas4/pom.xml index 41054f48..dbcb4f9f 100644 --- a/pdf-over-signer/pdf-over-sigpdfas4/pom.xml +++ b/pdf-over-signer/pdf-over-sigpdfas4/pom.xml @@ -53,6 +53,12 @@ iaik_eccelerate_cms 3.01 + + at.a-sit + pdf-over-commons + 4.2.4-SNAPSHOT + compile + diff --git a/pdf-over-signer/pdf-over-sigpdfas4/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4SignatureParameter.java b/pdf-over-signer/pdf-over-sigpdfas4/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4SignatureParameter.java index 5d286d44..62533868 100644 --- a/pdf-over-signer/pdf-over-sigpdfas4/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4SignatureParameter.java +++ b/pdf-over-signer/pdf-over-sigpdfas4/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4SignatureParameter.java @@ -34,7 +34,7 @@ import at.gv.egiz.pdfas.lib.api.Configuration; import at.gv.egiz.pdfas.lib.api.PdfAs; import at.gv.egiz.pdfas.lib.api.PdfAsFactory; import at.gv.egiz.pdfas.lib.api.sign.SignParameter; -import at.asit.pdfover.gui.Constants; +import at.asit.pdfover.commons.Profile; /** * Implementation of SignatureParameter for PDF-AS 4 Library @@ -172,13 +172,11 @@ public class PdfAs4SignatureParameter extends SignatureParameter { - if (!PROFILE_VISIBILITY || this.profile.equals("Unsichtbar")) + if (!PROFILE_VISIBILITY || this.profile.equals("Unsichtbar") || Profile.getProfile(this.profile).equals(Profile.INVISIBLE)) { - //TODO set base profile id using the this.profile - //TODO verifiy profileId = "INVISIBLE"; } else { - profileId = Constants.PROFILE.getProfile(this.profile).name();//PROFILE_ID_BASE; + profileId = Profile.getProfile(this.profile).name(); profileId += (lang != null && lang.equals("en")) ? PROFILE_ID_LANG_EN : PROFILE_ID_LANG_DE; } -- cgit v1.2.3 From af14459241ed7c653531f769216d4e97d3c9ef2f Mon Sep 17 00:00:00 2001 From: Andreas Abraham Date: Wed, 18 Nov 2020 13:54:40 +0100 Subject: changes in pom and SignatureProfle --- .../main/java/at/asit/pdfover/commons/Profile.java | 15 ++++++--------- .../config/ConfigurationContainerImpl.java | 2 +- .../src/main/resources/cfg/PDFASConfig.zip | Bin 1269980 -> 1269817 bytes pdf-over-signer/pdf-over-sigpdfas4/pom.xml | 10 ++-------- 4 files changed, 9 insertions(+), 18 deletions(-) (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow') diff --git a/pdf-over-commons/src/main/java/at/asit/pdfover/commons/Profile.java b/pdf-over-commons/src/main/java/at/asit/pdfover/commons/Profile.java index 84de1aaa..d9694f18 100644 --- a/pdf-over-commons/src/main/java/at/asit/pdfover/commons/Profile.java +++ b/pdf-over-commons/src/main/java/at/asit/pdfover/commons/Profile.java @@ -2,13 +2,12 @@ package at.asit.pdfover.commons; public enum Profile { - SIGNATURBLOCK("Signaturblock Normal") , //$NON-NLS-1$ - SIGNATURBLOCK_SMALL("Signaturblock Klein"), //$NON-NLS-1$ + SIGNATURBLOCK_SMALL("Signaturblock Normal"), //$NON-NLS-1$ AMTSSIGNATURBLOCK("Amtssignatur"), //$NON-NLS-1$ - LOGO_ONLY("Nur Bildmarke"), //$NON-NLS-1$ + BASE_LOGO("Nur Bildmarke"), //$NON-NLS-1$ INVISIBLE("Unsichtbar"); - public static int length = 5; + public static int length = 4; private String name; Profile(String profile){ @@ -38,14 +37,12 @@ public enum Profile { } public static Profile getProfile(String profile) { - if (SIGNATURBLOCK.getName().equals(profile)) { - return SIGNATURBLOCK; - } else if (SIGNATURBLOCK_SMALL.getName().equals(profile)) { + if (SIGNATURBLOCK_SMALL.getName().equals(profile)) { return SIGNATURBLOCK_SMALL; } else if (AMTSSIGNATURBLOCK.getName().equals(profile)) { return AMTSSIGNATURBLOCK; - } else if (LOGO_ONLY.getName().equals(profile)) { - return LOGO_ONLY; + } else if (BASE_LOGO.getName().equals(profile)) { + return BASE_LOGO; } else if (INVISIBLE.getName().equals(profile)){ return INVISIBLE; } diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java index 7d2c77c4..e00e04d6 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java @@ -731,7 +731,7 @@ public class ConfigurationContainerImpl implements ConfigurationContainer { @Override public Profile getSignatureProfile() { if (this.signatureProfile == null) { - this.signatureProfile = Profile.SIGNATURBLOCK; + this.signatureProfile = Profile.SIGNATURBLOCK_SMALL; } return this.signatureProfile; } diff --git a/pdf-over-gui/src/main/resources/cfg/PDFASConfig.zip b/pdf-over-gui/src/main/resources/cfg/PDFASConfig.zip index 141fe64d..37fb63da 100644 Binary files a/pdf-over-gui/src/main/resources/cfg/PDFASConfig.zip and b/pdf-over-gui/src/main/resources/cfg/PDFASConfig.zip differ diff --git a/pdf-over-signer/pdf-over-sigpdfas4/pom.xml b/pdf-over-signer/pdf-over-sigpdfas4/pom.xml index 8319c8b9..f297577b 100644 --- a/pdf-over-signer/pdf-over-sigpdfas4/pom.xml +++ b/pdf-over-signer/pdf-over-sigpdfas4/pom.xml @@ -62,16 +62,10 @@ - pdf-as-4 - PDF-AS 4 Repository + EGIZ Repo + EGIZ Internal Repository https://apps.egiz.gv.at/maven/ - - pdf-as-4-rc - PDF-AS 4 Repository RC - https://apps.egiz.gv.at/releases/pdf-as/release/4.1.6RC/mvn-repo/releases/ - - local-repo file://${project.maindir}/repo -- cgit v1.2.3 From 6bb81343ac29b50a4dd3539ec2ceb007a732954c Mon Sep 17 00:00:00 2001 From: Andreas Abraham Date: Thu, 19 Nov 2020 15:29:31 +0100 Subject: AdvancedConfig extended --- .../composites/AdvancedConfigurationComposite.java | 21 ++++++++++++++------- .../gui/workflow/config/ConfigurationContainer.java | 5 +++++ .../workflow/config/ConfigurationContainerImpl.java | 17 +++++++++++++++-- 3 files changed, 34 insertions(+), 9 deletions(-) (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow') 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 94474c66..4b32f59f 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 @@ -371,11 +371,12 @@ public class AdvancedConfigurationComposite extends BaseConfigurationComposite { GridLayout gl_grpSpeicherort = new GridLayout(3, false); grpSpeicherort.setLayout(gl_grpSpeicherort); FormData fd_grpSpeicherort = new FormData(); - fd_grpSpeicherort.left = new FormAttachment(100, -499); + fd_grpSpeicherort.left = new FormAttachment(0,5); fd_grpSpeicherort.top = new FormAttachment(this.grpBkuAuswahl, 5); fd_grpSpeicherort.right = new FormAttachment(100, -5); this.grpSpeicherort.setLayoutData(fd_grpSpeicherort); + FontData[] fD_grpSpeicherort = this.grpSpeicherort.getFont().getFontData(); fD_grpSpeicherort[0].setHeight(Constants.TEXT_SIZE_NORMAL); this.grpSpeicherort.setFont(new Font(Display.getCurrent(), fD_grpSpeicherort[0])); @@ -388,10 +389,10 @@ public class AdvancedConfigurationComposite extends BaseConfigurationComposite { this.txtOutputFolder = new Text(this.grpSpeicherort, SWT.BORDER); GridData gd_txtOutputFolder = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1); - gd_txtOutputFolder.widthHint = 291; txtOutputFolder.setLayoutData(gd_txtOutputFolder); FontData[] fD_txtOutputFolder = this.txtOutputFolder.getFont().getFontData(); + fD_txtOutputFolder[0].setHeight(Constants.TEXT_SIZE_NORMAL); this.txtOutputFolder.setFont(new Font(Display.getCurrent(), fD_txtOutputFolder[0])); this.txtOutputFolder.addFocusListener(new FocusAdapter() { @@ -402,14 +403,13 @@ public class AdvancedConfigurationComposite extends BaseConfigurationComposite { } }); fD_txtOutputFolder[0].setHeight(Constants.TEXT_SIZE_NORMAL); - // fD_btnBrowse[0].setHeight(Constants.TEXT_SIZE_BUTTON); this.btnBrowse = new Button(this.grpSpeicherort, SWT.NONE); btnBrowse.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); FontData[] fD_btnBrowse = this.btnBrowse.getFont().getFontData(); + fD_btnBrowse[0].setHeight(Constants.TEXT_SIZE_BUTTON); this.btnBrowse.setFont(new Font(Display.getCurrent(), fD_btnBrowse[0])); - this.btnBrowse.addSelectionListener(new SelectionAdapter() { @Override @@ -446,18 +446,18 @@ public class AdvancedConfigurationComposite extends BaseConfigurationComposite { this.txtSaveFilePostFix = new Text(this.grpSpeicherort, SWT.BORDER); GridData gd_txtSaveFilePostFix = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1); -// gd_txtSaveFilePostFix.widthHint = 256; + txtSaveFilePostFix.setLayoutData(gd_txtSaveFilePostFix); FontData[] fD_txtPostFix = this.txtSaveFilePostFix.getFont().getFontData(); + fD_txtPostFix[0].setHeight(Constants.TEXT_SIZE_NORMAL); this.txtSaveFilePostFix.setFont(new Font(Display.getCurrent(), fD_txtPostFix[0])); this.txtSaveFilePostFix.addFocusListener(new FocusAdapter() { @Override public void focusLost(FocusEvent e) { - // performOutputFolderChanged(AdvancedConfigurationComposite.this.txtSaveFilePostFix - // .getText()); + performPostFixChanged(AdvancedConfigurationComposite.this.txtSaveFilePostFix.getText()); } }); new Label(grpSpeicherort, SWT.NONE); @@ -649,6 +649,13 @@ public class AdvancedConfigurationComposite extends BaseConfigurationComposite { reloadResources(); } + private void performPostFixChanged(String postfix) { + + log.debug("Save file postfix changed to : {}", postfix); //$NON-NLS-1$ + this.configurationContainer.setSaveFilePostFix(postfix); + AdvancedConfigurationComposite.this.txtSaveFilePostFix.setText(postfix); + } + /* * (non-Javadoc) * diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainer.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainer.java index bed44da1..4c634fd6 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainer.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainer.java @@ -421,4 +421,9 @@ public interface ConfigurationContainer { * @return selected signature profile as string */ public Profile getSignatureProfile(); + + + public void setSaveFilePostFix(String postFix); + + public String getSaveFilePostFix(); } diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java index e00e04d6..47094aa7 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigurationContainerImpl.java @@ -149,6 +149,8 @@ public class ConfigurationContainerImpl implements ConfigurationContainer { /** The Signature Profile */ protected Profile signatureProfile = null; + protected String saveFilePostFix = "_signed"; + /* (non-Javadoc) * @see at.asit.pdfover.gui.composites.ConfigurationContainer#getEmblem() */ @@ -735,8 +737,19 @@ public class ConfigurationContainerImpl implements ConfigurationContainer { } return this.signatureProfile; } - - @Override + + @Override + public String getSaveFilePostFix() { + return this.saveFilePostFix; + } + + @Override + public void setSaveFilePostFix(String postfix){ + this.saveFilePostFix = postfix; + } + + + @Override public void setSignatureProfile(Profile profile) { this.signatureProfile = profile; } -- cgit v1.2.3 From 402805f8485a926a8efd8d01de9af98824941140 Mon Sep 17 00:00:00 2001 From: Andreas Abraham Date: Thu, 19 Nov 2020 16:30:36 +0100 Subject: Added Postfix option to the configuration --- .../main/java/at/asit/pdfover/gui/Constants.java | 5 +++- .../composites/AdvancedConfigurationComposite.java | 9 +++++++- .../gui/workflow/config/ConfigManipulator.java | 4 +++- .../gui/workflow/config/ConfigProvider.java | 2 ++ .../gui/workflow/config/ConfigProviderImpl.java | 27 ++++++++++++---------- .../workflow/config/PersistentConfigProvider.java | 4 +++- 6 files changed, 35 insertions(+), 16 deletions(-) (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow') diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Constants.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Constants.java index 17a9a8d7..1fa31abb 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Constants.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/Constants.java @@ -41,8 +41,9 @@ public class Constants { public static final String APP_NAME_VERSION = (APP_VERSION == null ? APP_NAME : APP_NAME + " v" + APP_VERSION); //$NON-NLS-1$ public static final String SIGNATURE_PROFILE = "SIGNATURE_PROFILE"; //$NON-NLS-1$ + public static final String DEFAULT_POSTFIX = "_signed"; - static { + static { // Has to be set before (implicitly) initializing Display Display.setAppName(APP_NAME); } @@ -209,6 +210,8 @@ public class Constants { /** The output folder config parameter */ public static final String CFG_OUTPUT_FOLDER = "OUTPUT_FOLDER"; //$NON-NLS-1$ + public static final String CFG_POSTFIX = "SAVE_FILE_POSTFIX"; + /** The main window size (Format: width,height) */ public static final String CFG_MAINWINDOW_SIZE = "MAINWINDOW_SIZE"; //$NON-NLS-1$ 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 0cb26983..8ed1b640 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 @@ -869,6 +869,7 @@ public class AdvancedConfigurationComposite extends BaseConfigurationComposite { this.configurationContainer.setKeyStoreEnabled(provider.getKeyStoreEnabledPersistent()); this.configurationContainer.setOutputFolder(provider.getDefaultOutputFolderPersistent()); + this.configurationContainer.setSaveFilePostFix(provider.getSaveFilePostFix()); this.configurationContainer.setLocale(provider.getLocale()); @@ -899,6 +900,12 @@ public class AdvancedConfigurationComposite extends BaseConfigurationComposite { if (outputFolder != null) { performOutputFolderChanged(outputFolder); } + String postFix = this.configurationContainer.getSaveFilePostFix(); + if (postFix != null) { + performPostFixChanged(postFix); + } else { + performPostFixChanged(Constants.DEFAULT_POSTFIX); + } SignaturePosition pos = this.configurationContainer.getDefaultSignaturePosition(); performPositionSelection(pos != null && pos.useAutoPositioning()); performUseMarkerSelection(this.configurationContainer.getUseMarker()); @@ -963,7 +970,7 @@ public class AdvancedConfigurationComposite extends BaseConfigurationComposite { store.setKeyStoreEnabled(this.configurationContainer.getKeyStoreEnabled()); store.setDefaultOutputFolder(this.configurationContainer.getOutputFolder()); - + store.setSaveFilePostFix(this.configurationContainer.getSaveFilePostFix()); store.setLocale(this.configurationContainer.getLocale()); store.setUpdateCheck(this.configurationContainer.getUpdateCheck()); diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigManipulator.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigManipulator.java index 3aba5075..befb244b 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigManipulator.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigManipulator.java @@ -201,7 +201,9 @@ public interface ConfigManipulator { /** * @param profile */ - void setSignatureProfile(String profile); + public void setSignatureProfile(String profile); + + public void setSaveFilePostFix(String postFix); } diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProvider.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProvider.java index efe0a83b..b6935206 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProvider.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProvider.java @@ -276,6 +276,8 @@ public interface ConfigProvider { * @return */ public String getSignatureProfile(); + + public String getSaveFilePostFix(); } diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java index 92a64103..9dc19be4 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java @@ -114,6 +114,8 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator, setDefaultOutputFolder(config .getProperty(Constants.CFG_OUTPUT_FOLDER)); + setSaveFilePostFix(config.getProperty(Constants.CFG_POSTFIX)); + String localeString = config.getProperty(Constants.CFG_LOCALE); Locale targetLocale = LocaleSerializer.parseFromString(localeString); @@ -351,6 +353,7 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator, props.setProperty(Constants.CFG_SIGNATURE_NOTE, getSignatureNote()); props.setProperty(Constants.CFG_MOBILE_NUMBER, getDefaultMobileNumberPersistent()); props.setProperty(Constants.CFG_OUTPUT_FOLDER, getDefaultOutputFolderPersistent()); + props.setProperty(Constants.CFG_POSTFIX, getSaveFilePostFix()); props.setProperty(Constants.CFG_SIGNATURE_PLACEHOLDER_TRANSPARENCY, Integer.toString(getPlaceholderTransparency())); @@ -985,16 +988,6 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator, } } - - /*@Override - public void setDefaultDownloadURL(String downloadURL) { - if (downloadURL == null || downloadURL.trim().isEmpty()) { - this.configuration.setDownloadURL(Constants.CERTIFICATE_DOWNLOAD_XML_URL+Constants.CERTIFICATE_XML_FILE); - } else { - this.configuration.setDownloadURL(downloadURL); - } - } - /* (non-Javadoc) * @see at.asit.pdfover.gui.workflow.ConfigOverlayManipulator#setDefaultOutputFolderOverlay(java.lang.String) */ @@ -1510,8 +1503,18 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator, public void setSignatureProfile(String profile) { this.configurationOverlay.setSignatureProfile(Profile.getProfile(profile)); } - - @Override + + @Override + public void setSaveFilePostFix(String postFix) { + this.configurationOverlay.setSaveFilePostFix(postFix); + } + + @Override + public String getSaveFilePostFix(){ + return this.configurationOverlay.getSaveFilePostFix(); + } + + @Override public String getSignatureProfile() { return this.configurationOverlay.getSignatureProfile().getName(); } diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/PersistentConfigProvider.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/PersistentConfigProvider.java index 3304b6ca..1175ca9a 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/PersistentConfigProvider.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/PersistentConfigProvider.java @@ -204,5 +204,7 @@ public interface PersistentConfigProvider { * * @return the signature profile */ - public String getSignatureProfile(); + public String getSignatureProfile(); + + public String getSaveFilePostFix(); } -- cgit v1.2.3 From 814c7e0b71985621b2d307fa52bb35de7886946b Mon Sep 17 00:00:00 2001 From: Andreas Abraham Date: Thu, 19 Nov 2020 16:33:07 +0100 Subject: Small fix when postfix is null set default value --- .../at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow') diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java index 9dc19be4..0a507b19 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java @@ -114,7 +114,13 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator, setDefaultOutputFolder(config .getProperty(Constants.CFG_OUTPUT_FOLDER)); - setSaveFilePostFix(config.getProperty(Constants.CFG_POSTFIX)); + String postFix = config.getProperty(Constants.CFG_POSTFIX); + if (postFix == null){ + setSaveFilePostFix(Constants.DEFAULT_POSTFIX); + } else { + setSaveFilePostFix(postFix); + } + String localeString = config.getProperty(Constants.CFG_LOCALE); -- cgit v1.2.3 From 7d14456b0727294921699a623526b1fe36df26d3 Mon Sep 17 00:00:00 2001 From: Andreas Abraham Date: Thu, 19 Nov 2020 16:38:40 +0100 Subject: Added German label description --- .../java/at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java | 1 - .../src/main/resources/at/asit/pdfover/gui/messages_de.properties | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow') diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java index 0a507b19..c3a15cb3 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/config/ConfigProviderImpl.java @@ -121,7 +121,6 @@ public class ConfigProviderImpl implements ConfigProvider, ConfigManipulator, setSaveFilePostFix(postFix); } - String localeString = config.getProperty(Constants.CFG_LOCALE); Locale targetLocale = LocaleSerializer.parseFromString(localeString); 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 668f3534..4067ffdb 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 @@ -6,6 +6,7 @@ BKU.MOBILE=Handy-BKU BKU.NONE=Keine Voreinstellung BKUSelectionComposite.btnMobile.text=Handy TrustedSocketFactory.FailedToCreateSecureConnection=Konnte keine sichere Verbindung erstellen +AdvancedConfigurationComposite.lblSaveFilePostFix.text=Ausgabedatei Postfix\: advanced_config.AutoPosition=Automatische Positionierung advanced_config.AutoPosition_ToolTip=Aktivieren Sie diese Option, um die Signatur automatisch zu positionieren advanced_config.BKUSelection_Title=&BKU-Auswahl -- cgit v1.2.3 From 0428f794d1d53a2b573afa260896eb59f4c3bf01 Mon Sep 17 00:00:00 2001 From: Andreas Abraham Date: Thu, 19 Nov 2020 16:52:11 +0100 Subject: Postfix is now applied to the file to save --- .../pdfover/gui/composites/OutputComposite.java | 985 +++++++++++---------- .../pdfover/gui/workflow/states/OutputState.java | 1 + 2 files changed, 500 insertions(+), 486 deletions(-) (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow') diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/OutputComposite.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/OutputComposite.java index f879f82c..31bf6f93 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/OutputComposite.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/OutputComposite.java @@ -1,486 +1,499 @@ -/* - * 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.awt.Desktop; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; - -import org.apache.commons.io.FilenameUtils; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.graphics.Font; -import org.eclipse.swt.graphics.FontData; -import org.eclipse.swt.layout.FormAttachment; -import org.eclipse.swt.layout.FormData; -import org.eclipse.swt.layout.FormLayout; -import org.eclipse.swt.program.Program; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.FileDialog; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Link; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import at.asit.pdfover.gui.Constants; -import at.asit.pdfover.gui.controls.Dialog; -import at.asit.pdfover.gui.controls.Dialog.BUTTONS; -import at.asit.pdfover.gui.controls.Dialog.ICON; -import at.asit.pdfover.gui.controls.ErrorDialog; -import at.asit.pdfover.gui.utils.Messages; -import at.asit.pdfover.gui.workflow.states.State; -import at.asit.pdfover.signator.DocumentSource; - -/** - * GUI component for Output State - */ -public class OutputComposite extends StateComposite { - - /** - * SLF4J Logger instance - **/ - static final Logger log = LoggerFactory.getLogger(OutputComposite.class); - - private Link lnk_saved_file; - - private Button btn_save; - - private Label lbl_success_message; - - private DocumentSource signedDocument; - - private File inputFile; - - String outputDir = null; - - String tempDirectory = null; - - File outputFile = null; - - private boolean saveFailed = false; - - /** - * Create the composite. - * - * @param parent - * The parent composite - * @param style - * The swt style - * @param state - * The owning state - */ - public OutputComposite(Composite parent, int style, State state) { - super(parent, style, state); - - this.setLayout(new FormLayout()); - - this.lbl_success_message = new Label(this, SWT.NATIVE | SWT.RESIZE); - FormData fd_lbl_success_message = new FormData(); - fd_lbl_success_message.top = new FormAttachment(40, 0); - fd_lbl_success_message.left = new FormAttachment(0); - fd_lbl_success_message.right = new FormAttachment(100); - this.lbl_success_message.setLayoutData(fd_lbl_success_message); - this.lbl_success_message.setAlignment(SWT.CENTER); - - FontData[] fD1 = this.lbl_success_message.getFont().getFontData(); - fD1[0].setHeight(Constants.TEXT_SIZE_BIG); - this.lbl_success_message.setFont(new Font(Display.getCurrent(), fD1[0])); - - this.lnk_saved_file = new Link(this, SWT.NATIVE | SWT.RESIZE); - FormData fd_lnk_saved_file = new FormData(); - fd_lnk_saved_file.top = new FormAttachment(this.lbl_success_message, 10); - fd_lnk_saved_file.left = new FormAttachment(this.lbl_success_message, 0, - SWT.CENTER); - // fd_lnk_saved_file.right = new FormAttachment(100); - this.lnk_saved_file.setLayoutData(fd_lnk_saved_file); - - this.lnk_saved_file.addSelectionListener(new OpenSelectionListener()); - - FontData[] fD2 = this.lnk_saved_file.getFont().getFontData(); - fD2[0].setHeight(Constants.TEXT_SIZE_NORMAL); - this.lnk_saved_file.setFont(new Font(Display.getCurrent(), fD2[0])); - - this.btn_save = new Button(this, SWT.NATIVE | SWT.RESIZE); - - FontData[] fD_btn_save = this.btn_save.getFont().getFontData(); - fD_btn_save[0].setHeight(Constants.TEXT_SIZE_BUTTON); - this.btn_save.setFont(new Font(Display.getCurrent(), fD_btn_save[0])); - - FormData fd_btn_save = new FormData(); - fd_btn_save.top = new FormAttachment(this.lnk_saved_file, 10); - fd_btn_save.left = new FormAttachment(this.lnk_saved_file, 0, - SWT.CENTER); - this.btn_save.setLayoutData(fd_btn_save); - - this.btn_save.addSelectionListener(new SaveSelectionListener()); - enableSaveButton(false); - - reloadResources(); - } - - /** - * @param outputDir - * the outputDir to set - */ - public void setOutputDir(String outputDir) { - this.outputDir = outputDir; - } - - /** - * @return the outputDir - */ - public String getOutputDir() { - return this.outputDir; - } - - /** - * Sets the input file - * - * @param inputFile - * the input file - */ - public void setInputFile(File inputFile) { - this.inputFile = inputFile; - } - - /** - * Gets the input file - * - * @return the input file - */ - public File getInputFile() { - return this.inputFile; - } - - /** - * @param tempDirectory - */ - public void setTempDir(String tempDirectory) { - this.tempDirectory = tempDirectory; - } - - /** - * Gets the signed document - * - * @return the signed document - */ - public DocumentSource getSignedDocument() { - return this.signedDocument; - } - - /** - * Sets the signed document - * - * @param signedDocument - * the signed document - */ - public void setSignedDocument(final DocumentSource signedDocument) { - this.signedDocument = signedDocument; - } - - /** - * Return whether the last save was successful - * @return whether the last save was successful - */ - public boolean getSaveSuccessful() { - return !this.saveFailed; - } - - private void enableSaveButton(boolean doEnable) - { - this.btn_save.setEnabled(doEnable); - this.btn_save.setVisible(doEnable); - } - - /** - * Saves the signed document. - * - * If user has a default output directory set, try to save there. - * If not (or if directory unavailable), ask user for location. - */ - public void saveDocument() { - File inputFolder = getInputFile().getAbsoluteFile().getParentFile(); - String fileName = getInputFile().getName(); - String proposedName = getSignedFileName(fileName); - String outputFileName; - - String outputFolder = getOutputDir(); - if (!this.saveFailed && outputFolder != null && !outputFolder.trim().isEmpty()) { - // Output folder configured, try to save there - - File f = new File(outputFolder); - if (f.isDirectory()) { - if (!outputFolder.endsWith(File.separator)) { - outputFolder += File.separator; - } - outputFileName = outputFolder + proposedName; - } else { - outputFileName = outputFolder; - } - } else { - // Ask user where to save - - FileDialog save = new FileDialog(this.getShell(), - SWT.SAVE | SWT.NATIVE); - save.setFilterExtensions(new String[] { "*.pdf", "*" }); //$NON-NLS-1$ //$NON-NLS-2$ - save.setFilterNames(new String[] { - Messages.getString("common.PDFExtension_Description"), //$NON-NLS-1$ - Messages.getString("common.AllExtension_Description")}); //$NON-NLS-1$ - save.setFilterPath(inputFolder.getAbsolutePath()); - save.setFileName(proposedName); - - outputFileName = save.open(); - inputFolder = null; - } - log.debug("Trying to save to '" + outputFileName + "'"); //$NON-NLS-1$ //$NON-NLS-2$ - - this.outputFile = saveResultAsFile(inputFolder, outputFileName); - this.saveFailed = (this.outputFile == null); - - // If saving failed, enable save button - enableSaveButton(this.saveFailed); - reloadResources(); - layout(true); - } - - /** - * Save the signed document under the given filename - * @param inputFolder the Folder the original document is located at - * @param target the filename to save the document as - * - * @return saved File (or null if unsuccessful) - * @throws FileNotFoundException - * @throws IOException - */ - private File saveResultAsFile(File inputFolder, String target) { - if (target == null) - return null; - - File targetFile = new File(target); - if (!targetFile.isAbsolute()) - targetFile = new File(inputFolder, target); - - if (targetFile.exists()) { - Dialog dialog = new Dialog(getShell(), Messages.getString("common.warning"), //$NON-NLS-1$ - String.format(Messages.getString("output.file_ask_overwrite"), targetFile.getName()), //$NON-NLS-1$ - BUTTONS.OK_CANCEL, ICON.QUESTION); - if (dialog.open() == SWT.CANCEL) - { - return null; - } - } - - DocumentSource source = this.getSignedDocument(); - boolean retry; - - do { - retry = false; - try { - FileOutputStream outstream = new FileOutputStream(targetFile); - outstream.write(source.getByteArray(), 0, - source.getByteArray().length); - outstream.close(); - } catch (FileNotFoundException e) { - log.error("File not found", e); //$NON-NLS-1$ - ErrorDialog dialog = new ErrorDialog(getShell(), - String.format(Messages.getString("output.save_failed"), //$NON-NLS-1$ - targetFile.getName(), e.getLocalizedMessage()), - BUTTONS.RETRY_CANCEL); - if (dialog.open() == SWT.CANCEL) - return null; - retry = true; - } catch (IOException e) { - log.error("IO Error", e); //$NON-NLS-1$ - ErrorDialog dialog = new ErrorDialog(getShell(), - String.format(Messages.getString("output.save_failed"), //$NON-NLS-1$ - targetFile.getName(), e.getLocalizedMessage()), - BUTTONS.RETRY_CANCEL); - if (dialog.open() == SWT.CANCEL) - return null; - retry = true; - } - } while (retry); - - if (!targetFile.exists()) - { - log.error("Tried to save file " + targetFile.getName() + //$NON-NLS-1$ - ", but it doesn't exist"); //$NON-NLS-1$ - return null; - } - return targetFile; - } - - /** - * Get the proposed filename of a signed document for a given input filename - * @param name input filename - * @return proposed output filename - */ - private static String getSignedFileName(String name) { - name = FilenameUtils.getName(name); - String extension = FilenameUtils.getExtension(name); - name = FilenameUtils.removeExtension(name); - return name + Constants.SIGNED_SUFFIX + FilenameUtils.EXTENSION_SEPARATOR + extension; - } - - /** - * SelectionListener for save button - */ - private final class SaveSelectionListener extends SelectionAdapter { - /** - * Empty constructor - */ - public SaveSelectionListener() { - } - - @Override - public void widgetSelected(SelectionEvent e) { - try { - OutputComposite.this.saveDocument(); - } catch (Exception ex) { - log.error("SaveSelectionListener: ", ex); //$NON-NLS-1$ - } - } - } - - /** - * Selection Listener for open button - */ - private final class OpenSelectionListener extends SelectionAdapter { - /** - * Empty constructor - */ - public OpenSelectionListener() { - } - - @Override - public void widgetSelected(SelectionEvent e) { - try { - if (OutputComposite.this.outputFile == null) - return; - - if (!OutputComposite.this.outputFile.exists()) - return; - - // Normalize filename - File f = new File(FilenameUtils.normalize( - OutputComposite.this.outputFile.getAbsolutePath())); - log.debug("Trying to open " + f.toString()); //$NON-NLS-1$ - // work around for the case of Linux and Java version 8 - if (isSpecialCase()) { - reReloadResources(f.toString()); - return; - } - else if (Desktop.isDesktopSupported()) { - Desktop.getDesktop().open(f); - } else { - log.info("AWT Desktop is not supported on this platform"); //$NON-NLS-1$ - Program.launch(f.getAbsolutePath()); - } - } catch (IOException ex) { - log.error("OpenSelectionListener: ", ex); //$NON-NLS-1$ - ErrorDialog error = new ErrorDialog(getShell(), - String.format(Messages.getString("error.FailedToOpenDocument"), //$NON-NLS-1$ - ex.getLocalizedMessage()), BUTTONS.RETRY_CANCEL); - if (error.open() == SWT.RETRY) - widgetSelected(e); - } - } - } - - @Override - protected void checkSubclass() { - // Disable the check that prevents subclassing of SWT components - } - - /* - * (non-Javadoc) - * - * @see at.asit.pdfover.gui.composites.StateComposite#doLayout() - */ - @Override - public void doLayout() { - // Nothing to do - this.layout(true); - } - - /** - * @return true when linux and java version <= 8 - * - */ - public boolean isSpecialCase() { - - boolean isSCase = false; - try { - String os = System.getProperty("os.name").toLowerCase(); //$NON-NLS-1$ - if (os.contains("linux")) { //$NON-NLS-1$ - String version = System.getProperty("java.version"); //$NON-NLS-1$ - if (version.contains(".")) { //$NON-NLS-1$ - String[] parts = version.split("\\."); //$NON-NLS-1$ - isSCase = Integer.valueOf(parts[0]) <= 8 ? true : false; - } else { - isSCase = Integer.valueOf(version) <= 8 ? true : false; - } - } - } catch (Exception e) { - log.debug("Error: " + e.getMessage()); //$NON-NLS-1$ - isSCase = false; - } - return isSCase; - } - - - /* (non-Javadoc) - * @see at.asit.pdfover.gui.composites.StateComposite#reloadResources() - */ - @Override - public void reloadResources() { - this.lbl_success_message.setText(Messages - .getString("output.success_message")); //$NON-NLS-1$ - if (this.outputFile == null) { - this.lnk_saved_file.setText(Messages - .getString("output.link_save_message")); //$NON-NLS-1$ - } else { - this.lnk_saved_file.setText(Messages - .getString("output.link_open_message")); //$NON-NLS-1$ - } - this.btn_save.setText(Messages.getString("common.Save")); //$NON-NLS-1$ - } - - /** - * @param str - */ - public void reReloadResources(String str) { - this.lbl_success_message.setText(Messages.getString("output.success_message")); //$NON-NLS-1$ - if (this.outputFile == null) { - this.lnk_saved_file.setText(Messages - .getString("output.link_save_message")); //$NON-NLS-1$ - } else { - String str2 = "File location: " + str; //$NON-NLS-1$ - this.lbl_success_message.setText(str2); - this.lnk_saved_file.setText(""); //$NON-NLS-1$ - } - this.btn_save.setText(Messages.getString("common.Save")); //$NON-NLS-1$ - } - - - -} +/* + * 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.awt.Desktop; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; + +import org.apache.commons.io.FilenameUtils; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.graphics.FontData; +import org.eclipse.swt.layout.FormAttachment; +import org.eclipse.swt.layout.FormData; +import org.eclipse.swt.layout.FormLayout; +import org.eclipse.swt.program.Program; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.FileDialog; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Link; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import at.asit.pdfover.gui.Constants; +import at.asit.pdfover.gui.controls.Dialog; +import at.asit.pdfover.gui.controls.Dialog.BUTTONS; +import at.asit.pdfover.gui.controls.Dialog.ICON; +import at.asit.pdfover.gui.controls.ErrorDialog; +import at.asit.pdfover.gui.utils.Messages; +import at.asit.pdfover.gui.workflow.states.State; +import at.asit.pdfover.signator.DocumentSource; + +/** + * GUI component for Output State + */ +public class OutputComposite extends StateComposite { + + /** + * SLF4J Logger instance + **/ + static final Logger log = LoggerFactory.getLogger(OutputComposite.class); + + private Link lnk_saved_file; + + private Button btn_save; + + private Label lbl_success_message; + + private DocumentSource signedDocument; + + private File inputFile; + + String outputDir = null; + + String tempDirectory = null; + + File outputFile = null; + + private boolean saveFailed = false; + + private String postFix = null; + + /** + * Create the composite. + * + * @param parent + * The parent composite + * @param style + * The swt style + * @param state + * The owning state + */ + public OutputComposite(Composite parent, int style, State state) { + super(parent, style, state); + + this.setLayout(new FormLayout()); + + this.lbl_success_message = new Label(this, SWT.NATIVE | SWT.RESIZE); + FormData fd_lbl_success_message = new FormData(); + fd_lbl_success_message.top = new FormAttachment(40, 0); + fd_lbl_success_message.left = new FormAttachment(0); + fd_lbl_success_message.right = new FormAttachment(100); + this.lbl_success_message.setLayoutData(fd_lbl_success_message); + this.lbl_success_message.setAlignment(SWT.CENTER); + + FontData[] fD1 = this.lbl_success_message.getFont().getFontData(); + fD1[0].setHeight(Constants.TEXT_SIZE_BIG); + this.lbl_success_message.setFont(new Font(Display.getCurrent(), fD1[0])); + + this.lnk_saved_file = new Link(this, SWT.NATIVE | SWT.RESIZE); + FormData fd_lnk_saved_file = new FormData(); + fd_lnk_saved_file.top = new FormAttachment(this.lbl_success_message, 10); + fd_lnk_saved_file.left = new FormAttachment(this.lbl_success_message, 0, + SWT.CENTER); + // fd_lnk_saved_file.right = new FormAttachment(100); + this.lnk_saved_file.setLayoutData(fd_lnk_saved_file); + + this.lnk_saved_file.addSelectionListener(new OpenSelectionListener()); + + FontData[] fD2 = this.lnk_saved_file.getFont().getFontData(); + fD2[0].setHeight(Constants.TEXT_SIZE_NORMAL); + this.lnk_saved_file.setFont(new Font(Display.getCurrent(), fD2[0])); + + this.btn_save = new Button(this, SWT.NATIVE | SWT.RESIZE); + + FontData[] fD_btn_save = this.btn_save.getFont().getFontData(); + fD_btn_save[0].setHeight(Constants.TEXT_SIZE_BUTTON); + this.btn_save.setFont(new Font(Display.getCurrent(), fD_btn_save[0])); + + FormData fd_btn_save = new FormData(); + fd_btn_save.top = new FormAttachment(this.lnk_saved_file, 10); + fd_btn_save.left = new FormAttachment(this.lnk_saved_file, 0, + SWT.CENTER); + this.btn_save.setLayoutData(fd_btn_save); + + this.btn_save.addSelectionListener(new SaveSelectionListener()); + enableSaveButton(false); + + reloadResources(); + } + + /** + * @param outputDir + * the outputDir to set + */ + public void setOutputDir(String outputDir) { + this.outputDir = outputDir; + } + + /** + * @return the outputDir + */ + public String getOutputDir() { + return this.outputDir; + } + + /** + * Sets the input file + * + * @param inputFile + * the input file + */ + public void setInputFile(File inputFile) { + this.inputFile = inputFile; + } + + /** + * Gets the input file + * + * @return the input file + */ + public File getInputFile() { + return this.inputFile; + } + + /** + * @param tempDirectory + */ + public void setTempDir(String tempDirectory) { + this.tempDirectory = tempDirectory; + } + + /** + * Gets the signed document + * + * @return the signed document + */ + public DocumentSource getSignedDocument() { + return this.signedDocument; + } + + /** + * Sets the signed document + * + * @param signedDocument + * the signed document + */ + public void setSignedDocument(final DocumentSource signedDocument) { + this.signedDocument = signedDocument; + } + + /** + * Return whether the last save was successful + * @return whether the last save was successful + */ + public boolean getSaveSuccessful() { + return !this.saveFailed; + } + + private void enableSaveButton(boolean doEnable) + { + this.btn_save.setEnabled(doEnable); + this.btn_save.setVisible(doEnable); + } + + public void setSaveFilePostFix(String postFix){ + this.postFix = postFix; + } + + public String getSaveFilePostFix(){ + if (this.postFix == null){ + this.postFix = Constants.DEFAULT_POSTFIX; + } + return this.postFix; + } + + /** + * Saves the signed document. + * + * If user has a default output directory set, try to save there. + * If not (or if directory unavailable), ask user for location. + */ + public void saveDocument() { + File inputFolder = getInputFile().getAbsoluteFile().getParentFile(); + String fileName = getInputFile().getName(); + String proposedName = getSignedFileName(fileName); + String outputFileName; + + String outputFolder = getOutputDir(); + if (!this.saveFailed && outputFolder != null && !outputFolder.trim().isEmpty()) { + // Output folder configured, try to save there + + File f = new File(outputFolder); + if (f.isDirectory()) { + if (!outputFolder.endsWith(File.separator)) { + outputFolder += File.separator; + } + outputFileName = outputFolder + proposedName; + } else { + outputFileName = outputFolder; + } + } else { + // Ask user where to save + + FileDialog save = new FileDialog(this.getShell(), + SWT.SAVE | SWT.NATIVE); + save.setFilterExtensions(new String[] { "*.pdf", "*" }); //$NON-NLS-1$ //$NON-NLS-2$ + save.setFilterNames(new String[] { + Messages.getString("common.PDFExtension_Description"), //$NON-NLS-1$ + Messages.getString("common.AllExtension_Description")}); //$NON-NLS-1$ + save.setFilterPath(inputFolder.getAbsolutePath()); + save.setFileName(proposedName); + + outputFileName = save.open(); + inputFolder = null; + } + log.debug("Trying to save to '" + outputFileName + "'"); //$NON-NLS-1$ //$NON-NLS-2$ + + this.outputFile = saveResultAsFile(inputFolder, outputFileName); + this.saveFailed = (this.outputFile == null); + + // If saving failed, enable save button + enableSaveButton(this.saveFailed); + reloadResources(); + layout(true); + } + + /** + * Save the signed document under the given filename + * @param inputFolder the Folder the original document is located at + * @param target the filename to save the document as + * + * @return saved File (or null if unsuccessful) + * @throws FileNotFoundException + * @throws IOException + */ + private File saveResultAsFile(File inputFolder, String target) { + if (target == null) + return null; + + File targetFile = new File(target); + if (!targetFile.isAbsolute()) + targetFile = new File(inputFolder, target); + + if (targetFile.exists()) { + Dialog dialog = new Dialog(getShell(), Messages.getString("common.warning"), //$NON-NLS-1$ + String.format(Messages.getString("output.file_ask_overwrite"), targetFile.getName()), //$NON-NLS-1$ + BUTTONS.OK_CANCEL, ICON.QUESTION); + if (dialog.open() == SWT.CANCEL) + { + return null; + } + } + + DocumentSource source = this.getSignedDocument(); + boolean retry; + + do { + retry = false; + try { + FileOutputStream outstream = new FileOutputStream(targetFile); + outstream.write(source.getByteArray(), 0, + source.getByteArray().length); + outstream.close(); + } catch (FileNotFoundException e) { + log.error("File not found", e); //$NON-NLS-1$ + ErrorDialog dialog = new ErrorDialog(getShell(), + String.format(Messages.getString("output.save_failed"), //$NON-NLS-1$ + targetFile.getName(), e.getLocalizedMessage()), + BUTTONS.RETRY_CANCEL); + if (dialog.open() == SWT.CANCEL) + return null; + retry = true; + } catch (IOException e) { + log.error("IO Error", e); //$NON-NLS-1$ + ErrorDialog dialog = new ErrorDialog(getShell(), + String.format(Messages.getString("output.save_failed"), //$NON-NLS-1$ + targetFile.getName(), e.getLocalizedMessage()), + BUTTONS.RETRY_CANCEL); + if (dialog.open() == SWT.CANCEL) + return null; + retry = true; + } + } while (retry); + + if (!targetFile.exists()) + { + log.error("Tried to save file " + targetFile.getName() + //$NON-NLS-1$ + ", but it doesn't exist"); //$NON-NLS-1$ + return null; + } + return targetFile; + } + + /** + * Get the proposed filename of a signed document for a given input filename + * @param name input filename + * @return proposed output filename + */ + private String getSignedFileName(String name) { + name = FilenameUtils.getName(name); + String extension = FilenameUtils.getExtension(name); + name = FilenameUtils.removeExtension(name); + return name + getSaveFilePostFix() + FilenameUtils.EXTENSION_SEPARATOR + extension; + } + + /** + * SelectionListener for save button + */ + private final class SaveSelectionListener extends SelectionAdapter { + /** + * Empty constructor + */ + public SaveSelectionListener() { + } + + @Override + public void widgetSelected(SelectionEvent e) { + try { + OutputComposite.this.saveDocument(); + } catch (Exception ex) { + log.error("SaveSelectionListener: ", ex); //$NON-NLS-1$ + } + } + } + + /** + * Selection Listener for open button + */ + private final class OpenSelectionListener extends SelectionAdapter { + /** + * Empty constructor + */ + public OpenSelectionListener() { + } + + @Override + public void widgetSelected(SelectionEvent e) { + try { + if (OutputComposite.this.outputFile == null) + return; + + if (!OutputComposite.this.outputFile.exists()) + return; + + // Normalize filename + File f = new File(FilenameUtils.normalize( + OutputComposite.this.outputFile.getAbsolutePath())); + log.debug("Trying to open " + f.toString()); //$NON-NLS-1$ + // work around for the case of Linux and Java version 8 + if (isSpecialCase()) { + reReloadResources(f.toString()); + return; + } + else if (Desktop.isDesktopSupported()) { + Desktop.getDesktop().open(f); + } else { + log.info("AWT Desktop is not supported on this platform"); //$NON-NLS-1$ + Program.launch(f.getAbsolutePath()); + } + } catch (IOException ex) { + log.error("OpenSelectionListener: ", ex); //$NON-NLS-1$ + ErrorDialog error = new ErrorDialog(getShell(), + String.format(Messages.getString("error.FailedToOpenDocument"), //$NON-NLS-1$ + ex.getLocalizedMessage()), BUTTONS.RETRY_CANCEL); + if (error.open() == SWT.RETRY) + widgetSelected(e); + } + } + } + + @Override + protected void checkSubclass() { + // Disable the check that prevents subclassing of SWT components + } + + /* + * (non-Javadoc) + * + * @see at.asit.pdfover.gui.composites.StateComposite#doLayout() + */ + @Override + public void doLayout() { + // Nothing to do + this.layout(true); + } + + /** + * @return true when linux and java version <= 8 + * + */ + public boolean isSpecialCase() { + + boolean isSCase = false; + try { + String os = System.getProperty("os.name").toLowerCase(); //$NON-NLS-1$ + if (os.contains("linux")) { //$NON-NLS-1$ + String version = System.getProperty("java.version"); //$NON-NLS-1$ + if (version.contains(".")) { //$NON-NLS-1$ + String[] parts = version.split("\\."); //$NON-NLS-1$ + isSCase = Integer.valueOf(parts[0]) <= 8 ? true : false; + } else { + isSCase = Integer.valueOf(version) <= 8 ? true : false; + } + } + } catch (Exception e) { + log.debug("Error: " + e.getMessage()); //$NON-NLS-1$ + isSCase = false; + } + return isSCase; + } + + + /* (non-Javadoc) + * @see at.asit.pdfover.gui.composites.StateComposite#reloadResources() + */ + @Override + public void reloadResources() { + this.lbl_success_message.setText(Messages + .getString("output.success_message")); //$NON-NLS-1$ + if (this.outputFile == null) { + this.lnk_saved_file.setText(Messages + .getString("output.link_save_message")); //$NON-NLS-1$ + } else { + this.lnk_saved_file.setText(Messages + .getString("output.link_open_message")); //$NON-NLS-1$ + } + this.btn_save.setText(Messages.getString("common.Save")); //$NON-NLS-1$ + } + + /** + * @param str + */ + public void reReloadResources(String str) { + this.lbl_success_message.setText(Messages.getString("output.success_message")); //$NON-NLS-1$ + if (this.outputFile == null) { + this.lnk_saved_file.setText(Messages + .getString("output.link_save_message")); //$NON-NLS-1$ + } else { + String str2 = "File location: " + str; //$NON-NLS-1$ + this.lbl_success_message.setText(str2); + this.lnk_saved_file.setText(""); //$NON-NLS-1$ + } + this.btn_save.setText(Messages.getString("common.Save")); //$NON-NLS-1$ + } + + + +} diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/OutputState.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/OutputState.java index 7b88f887..3b3c2098 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/OutputState.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/OutputState.java @@ -59,6 +59,7 @@ public class OutputState extends State { } this.outputComposite.setOutputDir(config.getDefaultOutputFolder()); + this.outputComposite.setSaveFilePostFix(config.getSaveFilePostFix()); this.outputComposite.setTempDir(tmpDir.getAbsolutePath()); this.outputComposite.setInputFile(status.getDocument()); -- cgit v1.2.3