Author: tilman
Date: Sun Nov 2 09:35:07 2025
New Revision: 1929476
Log:
PDFBOX-5660: close input, as suggested by Valery Bokov; refactor; closes #306
Modified:
pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdfa/CreatePDFATest.java
pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdfa/MergePDFATest.java
Modified:
pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdfa/CreatePDFATest.java
==============================================================================
---
pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdfa/CreatePDFATest.java
Sun Nov 2 08:30:18 2025 (r1929475)
+++
pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdfa/CreatePDFATest.java
Sun Nov 2 09:35:07 2025 (r1929476)
@@ -48,8 +48,8 @@ import org.verapdf.gf.foundry.VeraGreenf
import org.verapdf.pdfa.Foundries;
import org.verapdf.pdfa.PDFAParser;
import org.verapdf.pdfa.PDFAValidator;
+import org.verapdf.pdfa.VeraPDFFoundry;
import org.verapdf.pdfa.flavours.PDFAFlavour;
-import org.verapdf.pdfa.results.ValidationResult;
/**
*
@@ -82,7 +82,10 @@ class CreatePDFATest
// sign PDF - because we want to make sure that the signed PDF is also
PDF/A-1b
KeyStore keystore = KeyStore.getInstance("PKCS12");
- keystore.load(new FileInputStream(keystorePath),
"123456".toCharArray());
+ try(FileInputStream is = new FileInputStream(keystorePath))
+ {
+ keystore.load(is, "123456".toCharArray());
+ }
CreateSignature signing = new CreateSignature(keystore,
"123456".toCharArray());
signing.signDetached(new File(pdfaFilename), new
File(signedPdfaFilename));
@@ -128,14 +131,18 @@ class CreatePDFATest
}
}
+ checkWithVeraPDF(signedFile);
+ }
+
+ static void checkWithVeraPDF(File file) throws IOException,
VeraPDFException
+ {
// https://docs.verapdf.org/develop/
VeraGreenfieldFoundryProvider.initialise();
- PDFAFlavour flavour = PDFAFlavour.fromString("1b");
- try (PDFAParser parser =
Foundries.defaultInstance().createParser(signedFile, flavour))
+ try (VeraPDFFoundry foundry = Foundries.defaultInstance();
+ PDFAParser parser = foundry.createParser(file,
PDFAFlavour.PDFA_1_B);
+ PDFAValidator validator =
foundry.createValidator(PDFAFlavour.PDFA_1_B, false))
{
- PDFAValidator validator =
Foundries.defaultInstance().createValidator(flavour, false);
- ValidationResult veraResult = validator.validate(parser);
- assertTrue(veraResult.isCompliant());
+ assertTrue(validator.validate(parser).isCompliant());
}
}
}
Modified:
pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdfa/MergePDFATest.java
==============================================================================
---
pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdfa/MergePDFATest.java
Sun Nov 2 08:30:18 2025 (r1929475)
+++
pdfbox/trunk/examples/src/test/java/org/apache/pdfbox/examples/pdfa/MergePDFATest.java
Sun Nov 2 09:35:07 2025 (r1929476)
@@ -15,8 +15,6 @@
*/
package org.apache.pdfbox.examples.pdfa;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
@@ -31,12 +29,6 @@ import org.apache.pdfbox.io.RandomAccess
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.verapdf.core.VeraPDFException;
-import org.verapdf.gf.foundry.VeraGreenfieldFoundryProvider;
-import org.verapdf.pdfa.Foundries;
-import org.verapdf.pdfa.PDFAParser;
-import org.verapdf.pdfa.PDFAValidator;
-import org.verapdf.pdfa.flavours.PDFAFlavour;
-import org.verapdf.pdfa.results.ValidationResult;
/**
*
@@ -74,14 +66,6 @@ class MergePDFATest
sources.get(0).close();
sources.get(1).close();
- // https://docs.verapdf.org/develop/
- VeraGreenfieldFoundryProvider.initialise();
- PDFAFlavour flavour = PDFAFlavour.fromString("1b");
- try (PDFAParser parser = Foundries.defaultInstance().createParser(new
File(pdfaMergedFilename), flavour))
- {
- PDFAValidator validator =
Foundries.defaultInstance().createValidator(flavour, false);
- ValidationResult veraResult = validator.validate(parser);
- assertTrue(veraResult.isCompliant());
- }
+ CreatePDFATest.checkWithVeraPDF(new File(pdfaMergedFilename));
}
}