diff options
author | Jakob Heher <jakob.heher@iaik.tugraz.at> | 2022-08-02 14:18:37 +0200 |
---|---|---|
committer | Jakob Heher <jakob.heher@iaik.tugraz.at> | 2022-08-02 14:18:37 +0200 |
commit | 62a3115ce4d55a7a3b3fbf202bac0fff85dc412b (patch) | |
tree | 21259582d60491447e06e941682df7ada3437c46 /pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow | |
parent | 2513de9079b48864c89d7a633a0a4fa43d2f313f (diff) | |
download | pdf-over-62a3115ce4d55a7a3b3fbf202bac0fff85dc412b.tar.gz pdf-over-62a3115ce4d55a7a3b3fbf202bac0fff85dc412b.tar.bz2 pdf-over-62a3115ce4d55a7a3b3fbf202bac0fff85dc412b.zip |
YAGNI: PDF signer factory pattern
Diffstat (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow')
7 files changed, 8 insertions, 83 deletions
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/PDFSigner.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/PDFSigner.java deleted file mode 100644 index 2f670556..00000000 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/PDFSigner.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * 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.workflow; - -// Imports -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import at.asit.pdfover.signator.Signator; -import at.asit.pdfover.signator.Signator.Signers; -import at.asit.pdfover.signator.Signer; - -/** - * - */ -public class PDFSigner { - /** - * SLF4J Logger instance - **/ - @SuppressWarnings("unused") - private static final Logger log = LoggerFactory.getLogger(PDFSigner.class); - - private Signers signer = Signator.Signers.PDFAS4; - - public Signers getUsedPDFSignerLibrary() { - return this.signer; - } - - public void setUsedPDFSignerLibrary(Signers signer) { - if(signer != this.signer) { - // TYPE CHANGE remove cached signer! - this.signerLib = null; - } - this.signer = signer; - } - - private Signer signerLib; - - public Signer getPDFSigner() { - if(this.signerLib == null) { - this.signerLib = Signator.getSigner(getUsedPDFSignerLibrary()); - } - return this.signerLib; - } - -} diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StateMachine.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StateMachine.java index 17a8d56f..f60393a8 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StateMachine.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StateMachine.java @@ -41,7 +41,6 @@ public class StateMachine implements GUIProvider { private static final Logger log = LoggerFactory.getLogger(StateMachine.class); public final Status status; - public final PDFSigner pdfSigner; public final ConfigurationManager configProvider; public final String[] cmdLineArgs; @@ -53,7 +52,6 @@ public class StateMachine implements GUIProvider { public StateMachine(String[] cmdLineArgs) { this.status = new Status(); this.status.setCurrentState(new PrepareConfigurationState(this)); - this.pdfSigner = new PDFSigner(); this.configProvider = new ConfigurationManager(); this.cmdLineArgs = cmdLineArgs; } diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/ConfigurationUIState.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/ConfigurationUIState.java index 9e7f2d42..1f63e760 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/ConfigurationUIState.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/ConfigurationUIState.java @@ -45,7 +45,6 @@ public class ConfigurationUIState extends State { this.configurationComposite = getStateMachine().createComposite(ConfigurationComposite.class, SWT.RESIZE, this); this.configurationComposite.setConfigProvider(getStateMachine().configProvider); - this.configurationComposite.setSigner(getStateMachine().pdfSigner); } return this.configurationComposite; diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PositioningState.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PositioningState.java index 3383b11b..142e3965 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PositioningState.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PositioningState.java @@ -39,6 +39,7 @@ import at.asit.pdfover.signator.CachedFileNameEmblem; import at.asit.pdfover.signator.Emblem; import at.asit.pdfover.signator.SignatureParameter; import at.asit.pdfover.signator.SignaturePosition; +import at.asit.pdfover.signer.pdfas.PdfAs4Signer; /** * Decides where to position the signature block @@ -107,7 +108,7 @@ public class PositioningState extends State { } // Update possibly changed values ConfigurationManager config = stateMachine.configProvider; - SignatureParameter param = stateMachine.pdfSigner.getPDFSigner().newParameter(); + SignatureParameter param = PdfAs4Signer.newParameter(); Emblem emblem = new CachedFileNameEmblem(config.getDefaultEmblem()); param.setEmblem(emblem); if(config.getSignatureNote() != null && !config.getSignatureNote().isEmpty()) { diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareConfigurationState.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareConfigurationState.java index f50f171d..1a3fd8b5 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareConfigurationState.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareConfigurationState.java @@ -51,7 +51,6 @@ import at.asit.pdfover.gui.workflow.GUIProvider; import at.asit.pdfover.gui.workflow.StateMachine; import at.asit.pdfover.gui.workflow.Status; import at.asit.pdfover.gui.workflow.config.ConfigurationManager; -import at.asit.pdfover.signator.Signator; import at.asit.pdfover.signator.SignaturePosition; /** @@ -342,10 +341,6 @@ public class PrepareConfigurationState extends State { }).start(); } - // Set usedSignerLib ... - stateMachine.pdfSigner.setUsedPDFSignerLibrary( - Signator.Signers.PDFAS4); - // Create PDF Signer Status status = stateMachine.status; status.bku = getStateMachine().configProvider.getDefaultBKU(); 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 3eef7504..7964fe40 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 @@ -35,7 +35,7 @@ import at.asit.pdfover.gui.workflow.config.ConfigurationManager; import at.asit.pdfover.signator.CachedFileNameEmblem; import at.asit.pdfover.signator.PDFFileDocumentSource; import at.asit.pdfover.signator.SignatureParameter; -import at.asit.pdfover.signator.Signer; +import at.asit.pdfover.signer.pdfas.PdfAs4Signer; /** * User waiting state, wait for PDF Signator library to prepare document for @@ -122,12 +122,9 @@ public class PrepareSigningState extends State { } }); } - if (this.state.signer == null) { - this.state.signer = this.state.getStateMachine().pdfSigner.getPDFSigner(); - } if (this.state.signatureParameter == null) { - this.state.signatureParameter = this.state.signer.newParameter(); + this.state.signatureParameter = PdfAs4Signer.newParameter(); } this.state.signatureParameter.setInputDocument(new PDFFileDocumentSource(status.document)); @@ -154,7 +151,7 @@ public class PrepareSigningState extends State { this.state.signatureParameter.setSignatureProfile(configuration.getSignatureProfile()); - this.state.signingState = this.state.signer.prepare(this.state.signatureParameter); + this.state.signingState = PdfAs4Signer.prepare(this.state.signatureParameter); } catch (Exception e) { log.error("PrepareDocumentThread: ", e); @@ -185,8 +182,6 @@ public class PrepareSigningState extends State { at.asit.pdfover.signator.SigningState signingState = null; - Signer signer; - Exception threadException = null; @Override @@ -195,12 +190,10 @@ public class PrepareSigningState extends State { getStateMachine().display(waiting); - this.signer = getStateMachine().pdfSigner.getPDFSigner(); - Status status = getStateMachine().status; if (this.signatureParameter == null) { - this.signatureParameter = this.signer.newParameter(); + this.signatureParameter = PdfAs4Signer.newParameter(); } if (this.signingState == null && this.threadException == null) { diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/SigningState.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/SigningState.java index 82cdb31c..03afde02 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/SigningState.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/SigningState.java @@ -30,7 +30,7 @@ import at.asit.pdfover.commons.Messages; import at.asit.pdfover.gui.workflow.StateMachine; import at.asit.pdfover.gui.workflow.Status; import at.asit.pdfover.signator.SignatureException; -import at.asit.pdfover.signator.Signer; +import at.asit.pdfover.signer.pdfas.PdfAs4Signer; /** * Logical state for signing process, usually show BKU Dialog during this state. @@ -54,10 +54,8 @@ public class SigningState extends State { @Override public void run() { try { - Signer signer = this.state.getStateMachine().pdfSigner.getPDFSigner(); Status status = this.state.getStateMachine().status; - - status.signResult = signer.sign(status.signingState); + status.signResult = PdfAs4Signer.sign(status.signingState); } catch(Exception e) { this.state.threadException = e; } finally { |