aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/PdfAsObject.java
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/PdfAsObject.java')
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/PdfAsObject.java104
1 files changed, 78 insertions, 26 deletions
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/PdfAsObject.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/PdfAsObject.java
index 6606ec4a..067021b2 100644
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/PdfAsObject.java
+++ b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/PdfAsObject.java
@@ -1,15 +1,16 @@
package at.gv.egiz.pdfas.wrapper;
import java.io.File;
+import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
-import com.sun.org.apache.xml.internal.utils.UnImplNode;
-
import at.gv.egiz.pdfas.api.PdfAs;
import at.gv.egiz.pdfas.api.analyze.AnalyzeParameters;
import at.gv.egiz.pdfas.api.analyze.AnalyzeResult;
import at.gv.egiz.pdfas.api.commons.DynamicSignatureLifetimeEnum;
import at.gv.egiz.pdfas.api.commons.DynamicSignatureProfile;
+import at.gv.egiz.pdfas.api.commons.DynamicSignatureProfileImpl;
import at.gv.egiz.pdfas.api.exceptions.ErrorCode;
import at.gv.egiz.pdfas.api.exceptions.PdfAsException;
import at.gv.egiz.pdfas.api.sign.SignParameters;
@@ -22,25 +23,59 @@ import at.gv.egiz.pdfas.api.verify.VerifyResults;
import at.gv.egiz.pdfas.api.xmldsig.ReconstructXMLDsigAfterAnalysisParameters;
import at.gv.egiz.pdfas.api.xmldsig.ReconstructXMLDsigParameters;
import at.gv.egiz.pdfas.api.xmldsig.ReconstructXMLDsigResult;
+import at.gv.egiz.pdfas.lib.api.ByteArrayDataSource;
+import at.gv.egiz.pdfas.lib.api.Configuration;
+import at.gv.egiz.pdfas.lib.api.PdfAsFactory;
+import at.gv.egiz.pdfas.lib.api.StatusRequest;
+import at.gv.egiz.pdfas.lib.api.sign.SignParameter;
+import at.gv.egiz.pdfas.lib.api.verify.VerifyParameter;
+import at.gv.egiz.pdfas.lib.api.verify.VerifyResult;
public class PdfAsObject implements PdfAs {
+ private at.gv.egiz.pdfas.lib.api.PdfAs pdfas4;
+ private Configuration configuration;
+ private File workdir;
+
public SignResult sign(SignParameters signParameters) throws PdfAsException {
- // TODO Auto-generated method stub
- return null;
+ SignatureDetailInformation signatureDetailInformation = this
+ .prepareSign(signParameters);
+ return this.sign(signParameters, signatureDetailInformation);
}
public SignResult sign(SignParameters signParameters,
SignatureDetailInformation signatureDetailInformation)
throws PdfAsException {
- // TODO Auto-generated method stub
+
+ // Create the signature ....
+
+ // TODO wait for SL wrapper implementation
return null;
}
public VerifyResults verify(VerifyParameters verifyParameters)
throws PdfAsException {
- // TODO Auto-generated method stub
- return null;
+ try {
+ VerifyParameter newParameter = VerifyParameterWrapper.toNewParameters(verifyParameters);
+
+ List<VerifyResult> results = this.pdfas4.verify(newParameter);
+
+ Iterator<VerifyResult> it = results.iterator();
+
+ List<at.gv.egiz.pdfas.api.verify.VerifyResult> resultList =
+ new ArrayList<at.gv.egiz.pdfas.api.verify.VerifyResult>();
+
+ while(it.hasNext()) {
+ VerifyResult newResult = it.next();
+ at.gv.egiz.pdfas.api.verify.VerifyResult oldResult =
+ new VerifyResultWrapper(newResult);
+ resultList.add(oldResult);
+ }
+
+ return new VerifyResultsImpl(resultList);
+ } catch(at.gv.egiz.pdfas.common.exceptions.PdfAsException e) {
+ throw new PdfAsException(0, e.getMessage());
+ }
}
public AnalyzeResult analyze(AnalyzeParameters analyzeParameters)
@@ -78,61 +113,78 @@ public class PdfAsObject implements PdfAs {
}
public void reloadConfig() throws PdfAsException {
- // TODO Auto-generated method stub
-
+ this.pdfas4 = at.gv.egiz.pdfas.lib.api.PdfAsFactory
+ .createPdfAs(this.workdir);
+ this.configuration = this.pdfas4.getConfiguration();
}
public List getProfileInformation() throws PdfAsException {
- // TODO Auto-generated method stub
- return null;
+ throw new PdfAsException(ErrorCode.FUNCTION_NOT_AVAILABLE,
+ new RuntimeException());
}
public DynamicSignatureProfile createDynamicSignatureProfile(
String parentProfile, DynamicSignatureLifetimeEnum mode) {
- // TODO Auto-generated method stub
- return null;
+ return DynamicSignatureProfileImpl.createFromParent(null,
+ parentProfile, mode, configuration);
}
public DynamicSignatureProfile createDynamicSignatureProfile(
String myUniqueName, String parentProfile,
DynamicSignatureLifetimeEnum mode) {
- // TODO Auto-generated method stub
- return null;
+ return DynamicSignatureProfileImpl.createFromParent(myUniqueName,
+ parentProfile, mode, configuration);
}
public DynamicSignatureProfile createEmptyDynamicSignatureProfile(
DynamicSignatureLifetimeEnum mode) {
- // TODO Auto-generated method stub
- return null;
+ return DynamicSignatureProfileImpl.createEmptyProfile(null, mode,
+ configuration);
}
public DynamicSignatureProfile createEmptyDynamicSignatureProfile(
String myUniqueName, DynamicSignatureLifetimeEnum mode) {
- // TODO Auto-generated method stub
- return null;
+ return DynamicSignatureProfileImpl.createEmptyProfile(myUniqueName,
+ mode, configuration);
}
public DynamicSignatureProfile loadDynamicSignatureProfile(
String profileName) {
- // TODO Auto-generated method stub
- return null;
+ return DynamicSignatureProfileImpl.loadProfile(profileName);
}
public SignatureDetailInformation prepareSign(SignParameters signParameters)
throws PdfAsException {
- // TODO Auto-generated method stub
- return null;
+ try {
+ // Prepare Signature
+
+ SignParameter signParameter4 = PdfAsFactory.createSignParameter(
+ this.configuration, new ByteArrayDataSource(signParameters
+ .getDocument().getAsByteArray()));
+
+ SignParameterWrapper wrapper = new SignParameterWrapper(signParameters, signParameter4);
+
+ // TODO: wrapper sync old to new
+ StatusRequest request = this.pdfas4.startSign(wrapper.getSignParameter4());
+ // TODO: wait for SL implementation wrapper
+ return null;
+
+ } catch (at.gv.egiz.pdfas.common.exceptions.PdfAsException e) {
+ throw new PdfAsException(0, e.getMessage());
+ }
}
public SignResult finishSign(SignParameters signParameters,
SignatureDetailInformation signatureDetailInformation)
throws PdfAsException {
- // TODO Auto-generated method stub
- return null;
+ return sign(signParameters, signatureDetailInformation);
}
public PdfAsObject(File workdirectory) {
- //TODO
+ this.workdir = workdirectory;
+ this.pdfas4 = at.gv.egiz.pdfas.lib.api.PdfAsFactory
+ .createPdfAs(workdirectory);
+ this.configuration = this.pdfas4.getConfiguration();
}
}