Author: tilman
Date: Sun Nov 2 09:35:19 2025
New Revision: 1929478
Log:
PDFBOX-5660: close input, as suggested by Valery Bokov; refactor; closes #306
Modified:
pdfbox/branches/3.0/examples/src/test/java/org/apache/pdfbox/examples/pdfa/CreatePDFATest.java
pdfbox/branches/3.0/examples/src/test/java/org/apache/pdfbox/examples/pdfa/MergePDFATest.java
Modified:
pdfbox/branches/3.0/examples/src/test/java/org/apache/pdfbox/examples/pdfa/CreatePDFATest.java
==============================================================================
---
pdfbox/branches/3.0/examples/src/test/java/org/apache/pdfbox/examples/pdfa/CreatePDFATest.java
Sun Nov 2 09:35:13 2025 (r1929477)
+++
pdfbox/branches/3.0/examples/src/test/java/org/apache/pdfbox/examples/pdfa/CreatePDFATest.java
Sun Nov 2 09:35:19 2025 (r1929478)
@@ -22,6 +22,7 @@ import static org.junit.jupiter.api.Asse
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
+import java.io.IOException;
import java.io.InputStreamReader;
import java.security.KeyStore;
import java.util.HashSet;
@@ -41,10 +42,12 @@ import org.apache.xmpbox.schema.DublinCo
import org.apache.xmpbox.xml.DomXmpParser;
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.VeraPDFFoundry;
import org.verapdf.pdfa.flavours.PDFAFlavour;
/**
@@ -77,7 +80,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));
@@ -130,15 +136,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(new
File(signedPdfaFilename), 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);
- org.verapdf.pdfa.results.ValidationResult veraResult =
validator.validate(parser);
- assertTrue(veraResult.isCompliant());
+ assertTrue(validator.validate(parser).isCompliant());
}
}
}
Modified:
pdfbox/branches/3.0/examples/src/test/java/org/apache/pdfbox/examples/pdfa/MergePDFATest.java
==============================================================================
---
pdfbox/branches/3.0/examples/src/test/java/org/apache/pdfbox/examples/pdfa/MergePDFATest.java
Sun Nov 2 09:35:13 2025 (r1929477)
+++
pdfbox/branches/3.0/examples/src/test/java/org/apache/pdfbox/examples/pdfa/MergePDFATest.java
Sun Nov 2 09:35:19 2025 (r1929478)
@@ -33,11 +33,6 @@ import static org.junit.jupiter.api.Asse
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;
/**
*
@@ -83,14 +78,6 @@ class MergePDFATest
}
assertTrue(result.isValid(), "PDF file created with CreatePDFA is not
valid PDF/A-1b");
- // 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);
- org.verapdf.pdfa.results.ValidationResult veraResult =
validator.validate(parser);
- assertTrue(veraResult.isCompliant());
- }
+ CreatePDFATest.checkWithVeraPDF(new File(pdfaMergedFilename));
}
}