package it.doqui.index.ecmengine.integration.security.pd;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import it.csi.csi.porte.InfoPortaDelegata;
import it.csi.csi.porte.proxy.PDProxy;
import it.csi.csi.util.xml.PDConfigReader;
import it.doqui.dosign.dosign.dto.envelope.Document;
import it.doqui.dosign.dosign.dto.envelope.EnvelopedBuffer;
import it.doqui.dosign.dosign.dto.signature.SignedBuffer;
import it.doqui.dosign.dosign.dto.signature.VerifyReport;
import it.doqui.index.ecmengine.integration.exception.EcmEngineIntegrationException;
import it.doqui.index.ecmengine.integration.security.EcmEngineIntegrationSecurityDelegate;
public class EcmEngineIntegrationSecurityDelegateImpl implements EcmEngineIntegrationSecurityDelegate{
private static Log log = LogFactory.getLog("ecmengine.integration");
public VerifyReport verifyDocument(SignedBuffer buffer) throws EcmEngineIntegrationException{
log.debug("[EcmEngineIntegrationSecurityDelegateImpl::verifyDocument] BEGIN");
VerifyReport result=null;
try{
it.doqui.dosign.dosign.interfacecsi.dosign.DosignInterface pd = null;
InfoPortaDelegata infopd = PDConfigReader.read(this.getClass().getResourceAsStream("/pd_dosign.xml"));
pd = (it.doqui.dosign.dosign.interfacecsi.dosign.DosignInterface)PDProxy.newInstance(infopd);
result=pd.verifyDocument(buffer);
}catch(Exception e){
log.error("[EcmEngineIntegrationSecurityDelegateImpl::verifyDocument] Exception");
throw new EcmEngineIntegrationException(e.getMessage());
}
log.debug("[EcmEngineIntegrationSecurityDelegateImpl::verifyDocument] END");
return result;
}
public Document extractDocumentFromEnvelope(EnvelopedBuffer buffer)throws EcmEngineIntegrationException{
log.debug("[EcmEngineIntegrationSecurityDelegateImpl::ExtractDocumentFromEnvelope] BEGIN");
Document result=null;
try{
it.doqui.dosign.dosign.interfacecsi.dosign.DosignInterface pd = null;
InfoPortaDelegata infopd = PDConfigReader.read(this.getClass().getResourceAsStream("/pd_dosign.xml"));
pd = (it.doqui.dosign.dosign.interfacecsi.dosign.DosignInterface)PDProxy.newInstance(infopd);
result=pd.extractDocumentFromEnvelope(buffer);
}catch(Exception e){
log.error("[EcmEngineIntegrationSecurityDelegateImpl::ExtractDocumentFromEnvelope] Exception");
throw new EcmEngineIntegrationException(e.getMessage());
}
log.debug("[EcmEngineIntegrationSecurityDelegateImpl::ExtractDocumentFromEnvelope] END");
return result;
}
}