diff options
author | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2014-10-16 12:45:01 +0200 |
---|---|---|
committer | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2014-10-16 12:45:01 +0200 |
commit | 63784f692a50606f34702706761edac052fdac60 (patch) | |
tree | 50f78a92c35cdfced053209a334944acdee2b983 /pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status | |
parent | 7b105bafe5a1f4c01224c8ae0b820a478b09447f (diff) | |
download | pdf-as-4-63784f692a50606f34702706761edac052fdac60.tar.gz pdf-as-4-63784f692a50606f34702706761edac052fdac60.tar.bz2 pdf-as-4-63784f692a50606f34702706761edac052fdac60.zip |
Introduced PDF-AS Backends, removed all pdfbox specific code to pdfbox backend
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.java | 14 | ||||
-rw-r--r-- | pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/PDFObject.java | 43 |
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(); } |