aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status')
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/OperationStatus.java76
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/PDFObject.java31
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/RequestedSignature.java53
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/package-info.java1
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