diff options
author | tknall <tknall@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c> | 2008-04-29 12:13:11 +0000 |
---|---|---|
committer | tknall <tknall@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c> | 2008-04-29 12:13:11 +0000 |
commit | 6235c94885caefc238775946d5c775bba98c97b4 (patch) | |
tree | 44eb2b78e8c889ce011c2adf26d0da0a26a929d4 /src/main | |
parent | 620f4f25941188360f64447b9d773a310866f70b (diff) | |
download | pdf-as-3-6235c94885caefc238775946d5c775bba98c97b4.tar.gz pdf-as-3-6235c94885caefc238775946d5c775bba98c97b4.tar.bz2 pdf-as-3-6235c94885caefc238775946d5c775bba98c97b4.zip |
a) Two stage verification (analysis and verification) now throws PDFDocumentException(ErrorCode.DOCUMENT_NOT_SIGNED,...) if necessary. b) Do not try to remove svn-metadata while clearing temporary directory any more (preventing annoying error message).REL-3.0.5-rev260@260
git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@259 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c
Diffstat (limited to 'src/main')
4 files changed, 14 insertions, 4 deletions
diff --git a/src/main/java/at/gv/egiz/pdfas/impl/api/PdfAsObject.java b/src/main/java/at/gv/egiz/pdfas/impl/api/PdfAsObject.java index f0c85d4..ce6f776 100644 --- a/src/main/java/at/gv/egiz/pdfas/impl/api/PdfAsObject.java +++ b/src/main/java/at/gv/egiz/pdfas/impl/api/PdfAsObject.java @@ -47,6 +47,7 @@ import at.gv.egiz.pdfas.impl.vfilter.VerificationFilterParametersImpl; import at.knowcenter.wag.egov.egiz.PdfAS;
import at.knowcenter.wag.egov.egiz.PdfASID;
import at.knowcenter.wag.egov.egiz.cfg.SettingsReader;
+import at.knowcenter.wag.egov.egiz.exceptions.PDFDocumentException;
import at.knowcenter.wag.egov.egiz.exceptions.PresentableException;
import at.knowcenter.wag.egov.egiz.exceptions.SignatureException;
import at.knowcenter.wag.egov.egiz.framework.SignatorFactory;
@@ -369,6 +370,12 @@ public class PdfAsObject implements PdfAs CheckHelper.checkVerifyAfterAnalysisParameters(verifyAfterAnalysisParameters);
List signatures = verifyAfterAnalysisParameters.getAnalyzeResult().getSignatures();
+
+ // added by tknall
+ if (signatures == null || signatures.isEmpty()) {
+ throw new PDFDocumentException(ErrorCode.DOCUMENT_NOT_SIGNED, "PDF document not signed."); //$NON-NLS-1$
+ }
+
List signature_holders = new ArrayList(signatures.size());
Iterator it = signatures.iterator();
while (it.hasNext())
diff --git a/src/main/java/at/gv/egiz/pdfas/impl/vfilter/VerificationFilterImpl.java b/src/main/java/at/gv/egiz/pdfas/impl/vfilter/VerificationFilterImpl.java index 81b0364..d353b9a 100644 --- a/src/main/java/at/gv/egiz/pdfas/impl/vfilter/VerificationFilterImpl.java +++ b/src/main/java/at/gv/egiz/pdfas/impl/vfilter/VerificationFilterImpl.java @@ -135,12 +135,10 @@ public class VerificationFilterImpl implements VerificationFilter }
- log.trace("extractSignaturHolders finished.");
+ log.trace("extractSignaturHolders finished (" + (signatureHolderChain != null ? signatureHolderChain.size() : 0) + " elements).");
sw.stop();
log.debug("extractSignatureHolders: " + sw.getTime() + "ms.");
-
-
return signatureHolderChain;
}
diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/cfg/SettingsReader.java b/src/main/java/at/knowcenter/wag/egov/egiz/cfg/SettingsReader.java index 6481401..1fa3ad6 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/cfg/SettingsReader.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/cfg/SettingsReader.java @@ -678,6 +678,10 @@ public class SettingsReader implements Serializable File[] files = temp_dir.listFiles();
for (int i = 0; i < files.length; i++)
{
+ // added by tknall: do not try to remove svn-metadata
+ if (files[i].getName().endsWith(".svn")) {
+ continue;
+ }
logger_.debug(" Clearing temporary file: " + files[i]);
boolean delete_success = files[i].delete();
if (!delete_success)
diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/VerifyServlet.java b/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/VerifyServlet.java index 001b8b3..c9ed314 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/VerifyServlet.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/VerifyServlet.java @@ -38,6 +38,7 @@ import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import at.gv.egiz.pdfas.exceptions.ErrorCode;
import at.gv.egiz.pdfas.framework.config.SettingsHelper;
import at.gv.egiz.pdfas.framework.input.DataSource;
import at.gv.egiz.pdfas.framework.input.ExtractionStage;
@@ -339,7 +340,7 @@ public class VerifyServlet extends HttpServlet if (filtered_signature_holders.size() == 0)
{
- throw new PDFDocumentException(206, "PDF document not signed."); //$NON-NLS-1$
+ throw new PDFDocumentException(ErrorCode.DOCUMENT_NOT_SIGNED, "PDF document not signed."); //$NON-NLS-1$
}
return filtered_signature_holders;
|