diff options
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.java | 104 | 
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();  	}  } | 
