diff options
Diffstat (limited to 'pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status')
4 files changed, 161 insertions, 0 deletions
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/OperationStatus.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/OperationStatus.java new file mode 100644 index 00000000..d7b956a7 --- /dev/null +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/OperationStatus.java @@ -0,0 +1,76 @@ +package at.gv.egiz.pdfas.lib.impl.status; + +import java.util.HashMap; +import java.util.Map; + +import at.gv.egiz.pdfas.common.settings.ISettings; +import at.gv.egiz.pdfas.lib.api.sign.SignParameter; +import at.gv.egiz.pdfas.lib.impl.configuration.GlobalConfiguration; +import at.gv.egiz.pdfas.lib.impl.configuration.PlaceholderConfiguration; +import at.gv.egiz.pdfas.lib.impl.configuration.SignatureProfileConfiguration; + +public class OperationStatus { + + private SignParameter signParamter; + private PDFObject pdfObject = new PDFObject(); + + + private ISettings configuration; + private PlaceholderConfiguration placeholderConfiguration = null; + private GlobalConfiguration gloablConfiguration = null; + private Map<String, SignatureProfileConfiguration> signatureProfiles = + new HashMap<String, SignatureProfileConfiguration>(); + + public OperationStatus(ISettings configuration, SignParameter signParameter) { + this.configuration = configuration; + this.signParamter = signParameter; + } + + // ======================================================================== + + public PlaceholderConfiguration getPlaceholderConfiguration() { + if(this.placeholderConfiguration == null) { + this.placeholderConfiguration = + new PlaceholderConfiguration(this.configuration); + } + return this.placeholderConfiguration; + } + + public GlobalConfiguration getGlobalConfiguration() { + if(this.gloablConfiguration == null) { + this.gloablConfiguration = + new GlobalConfiguration(this.configuration); + } + return this.gloablConfiguration; + } + + public SignatureProfileConfiguration getSignatureProfileConfiguration(String profileID) { + + SignatureProfileConfiguration signatureProfileConfiguration = signatureProfiles.get(profileID); + if(signatureProfileConfiguration == null) { + signatureProfileConfiguration = new SignatureProfileConfiguration(this.configuration, profileID); + signatureProfiles.put(profileID, signatureProfileConfiguration); + } + + return signatureProfileConfiguration; + } + + // ======================================================================== + + public PDFObject getPdfObject() { + return pdfObject; + } + + public void setPdfObject(PDFObject pdfObject) { + this.pdfObject = pdfObject; + } + + public SignParameter getSignParamter() { + return signParamter; + } + + public void setSignParamter(SignParameter signParamter) { + this.signParamter = signParamter; + } + +} diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/PDFObject.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/PDFObject.java new file mode 100644 index 00000000..1fe64bee --- /dev/null +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/PDFObject.java @@ -0,0 +1,31 @@ +package at.gv.egiz.pdfas.lib.impl.status; + +public class PDFObject { + private byte[] originalDocument; + private byte[] stampedDocument; + private byte[] signedDocument; + + public byte[] getOriginalDocument() { + return originalDocument; + } + + public void setOriginalDocument(byte[] originalDocument) { + this.originalDocument = originalDocument; + } + + public byte[] getStampedDocument() { + return stampedDocument; + } + + public void setStampedDocument(byte[] stampedDocument) { + this.stampedDocument = stampedDocument; + } + + public byte[] getSignedDocument() { + return signedDocument; + } + + public void setSignedDocument(byte[] signedDocument) { + this.signedDocument = signedDocument; + } +} diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/RequestedSignature.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/RequestedSignature.java new file mode 100644 index 00000000..a78828f3 --- /dev/null +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/RequestedSignature.java @@ -0,0 +1,53 @@ +package at.gv.egiz.pdfas.lib.impl.status; + +import at.gv.egiz.pdfas.common.exceptions.PdfAsException; +import at.gv.egiz.pdfas.common.exceptions.PdfAsSettingsException; +import at.knowcenter.wag.egov.egiz.pdf.TablePos; + + +public class RequestedSignature { + private String signatureProfile; + private TablePos signaturePosition; + private OperationStatus status; + //private IPlainSigner signer = null; + + public RequestedSignature(OperationStatus status) throws PdfAsException { + + this.status = status; + + String profileID = status.getSignParamter().getSignatureProfileId(); + + if(profileID == null) { + profileID = status.getGlobalConfiguration().getDefaultSignatureProfile(); + + if(profileID == null) { + throw new PdfAsSettingsException("Failed to determine Signature Profile!"); + } + } + + this.signatureProfile = profileID; + + if(status.getSignParamter().getSignaturePosition() == null) { + this.signaturePosition = new TablePos(); + } else { + this.signaturePosition = new TablePos(status.getSignParamter().getSignaturePosition()); + } + } + + public boolean isVisual() { + return this.status.getSignatureProfileConfiguration(signatureProfile).isVisualSignature(); + } + + public TablePos getTablePos() { + return this.signaturePosition; + } + +/* + public IPlainSigner getSigner() { + return signer; + } + + public void setSigner(IPlainSigner signer) { + this.signer = signer; + }*/ +} diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/package-info.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/package-info.java new file mode 100644 index 00000000..4321a9b5 --- /dev/null +++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/package-info.java @@ -0,0 +1 @@ +package at.gv.egiz.pdfas.lib.impl.status;
\ No newline at end of file |