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.java14
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/PDFObject.java43
2 files changed, 18 insertions, 39 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
index 4a8445b5..7b2ce69c 100644
--- 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
@@ -31,6 +31,7 @@ import java.util.Map;
import at.gv.egiz.pdfas.common.settings.ISettings;
import at.gv.egiz.pdfas.common.utils.TempFileHelper;
import at.gv.egiz.pdfas.lib.api.sign.SignParameter;
+import at.gv.egiz.pdfas.lib.backend.PDFASBackend;
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;
@@ -43,7 +44,7 @@ public class OperationStatus implements Serializable {
private static final long serialVersionUID = -2985007198666388528L;
private SignParameter signParamter;
- private PDFObject pdfObject = new PDFObject(this);
+ private PDFObject pdfObject;
private ISettings configuration;
private PlaceholderConfiguration placeholderConfiguration = null;
@@ -52,10 +53,12 @@ public class OperationStatus implements Serializable {
private TempFileHelper helper;
private RequestedSignature requestedSignature;
private Calendar signingDate;
+ private PDFASBackend backend;
- public OperationStatus(ISettings configuration, SignParameter signParameter) {
+ public OperationStatus(ISettings configuration, SignParameter signParameter, PDFASBackend backend) {
this.configuration = configuration;
this.signParamter = signParameter;
+ this.backend = backend;
helper = new TempFileHelper(configuration);
}
@@ -71,7 +74,7 @@ public class OperationStatus implements Serializable {
}
// ========================================================================
-
+
public void clear() {
if (this.helper != null) {
try {
@@ -84,6 +87,10 @@ public class OperationStatus implements Serializable {
}
}
+ public PDFASBackend getBackend() {
+ return backend;
+ }
+
public RequestedSignature getRequestedSignature() {
return requestedSignature;
}
@@ -162,5 +169,4 @@ public class OperationStatus implements Serializable {
}
return null;
}
-
}
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
index f69c20a4..de88f610 100644
--- 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
@@ -24,19 +24,16 @@
package at.gv.egiz.pdfas.lib.impl.status;
import java.io.IOException;
-import java.io.OutputStream;
import javax.activation.DataSource;
-import org.apache.pdfbox.pdmodel.PDDocument;
-public class PDFObject {
+public abstract class PDFObject {
- private OperationStatus status;
+ protected OperationStatus status;
- private PDDocument doc;
- private DataSource originalDocument;
- private byte[] signedDocument;
+ protected DataSource originalDocument;
+ protected byte[] signedDocument;
public PDFObject(OperationStatus operationStatus) {
this.status = operationStatus;
@@ -45,41 +42,15 @@ public class PDFObject {
@Override
protected void finalize() throws Throwable {
super.finalize();
- if(doc != null) {
- doc.close();
- }
}
- public void close() {
- if(doc != null) {
- try {
- doc.close();
- //System.gc();
- } catch(Throwable e) {
- // ignore!
- }
- doc = null;
- }
- }
+ public abstract void close();
public DataSource getOriginalDocument() {
return originalDocument;
}
- public void setOriginalDocument(DataSource originalDocument) throws IOException {
- this.originalDocument = originalDocument;
- if(doc != null) {
- doc.close();
- }
- this.doc = PDDocument.load(this.originalDocument.getInputStream());
- if(this.doc != null) {
- this.doc.getDocument().setWarnMissingClose(false);
- }
- }
-
- public PDDocument getDocument() {
- return this.doc;
- }
+ public abstract void setOriginalDocument(DataSource originalDocument) throws IOException;
public byte[] getSignedDocument() {
return signedDocument;
@@ -96,4 +67,6 @@ public class PDFObject {
public void setStatus(OperationStatus status) {
this.status = status;
}
+
+ public abstract String getPDFVersion();
}