Author: tilman
Date: Sun Nov 2 09:35:13 2025
New Revision: 1929477
Log:
PDFBOX-5660: close input, as suggested by Valery Bokov; refactor; closes #306
Modified:
pdfbox/branches/2.0/examples/src/test/java/org/apache/pdfbox/examples/pdfa/CreatePDFATest.java
pdfbox/branches/2.0/examples/src/test/java/org/apache/pdfbox/examples/pdfa/MergePDFATest.java
Modified:
pdfbox/branches/2.0/examples/src/test/java/org/apache/pdfbox/examples/pdfa/CreatePDFATest.java
==============================================================================
---
pdfbox/branches/2.0/examples/src/test/java/org/apache/pdfbox/examples/pdfa/CreatePDFATest.java
Sun Nov 2 09:35:07 2025 (r1929476)
+++
pdfbox/branches/2.0/examples/src/test/java/org/apache/pdfbox/examples/pdfa/CreatePDFATest.java
Sun Nov 2 09:35:13 2025 (r1929477)
@@ -19,6 +19,8 @@ import junit.framework.TestCase;
import java.io.File;
import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
import java.security.KeyStore;
import org.apache.pdfbox.examples.pdmodel.CreatePDFA;
import org.apache.pdfbox.examples.signature.CreateSignature;
@@ -32,10 +34,12 @@ import org.apache.pdfbox.preflight.parse
import org.apache.xmpbox.XMPMetadata;
import org.apache.xmpbox.schema.DublinCoreSchema;
import org.apache.xmpbox.xml.DomXmpParser;
+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;
/**
@@ -69,7 +73,9 @@ public class CreatePDFATest extends Test
// 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());
+ InputStream is = new FileInputStream(keystorePath);
+ keystore.load(is, "123456".toCharArray());
+ is.close();
CreateSignature signing = new CreateSignature(keystore,
"123456".toCharArray());
signing.signDetached(new File(pdfaFilename), new
File(signedPdfaFilename));
@@ -96,14 +102,20 @@ public class CreatePDFATest extends Test
assertEquals(pdfaFilename, dc.getTitle());
document.close();
+ checkWithVeraPDF(new File(signedPdfaFilename));
+ }
+
+ static void checkWithVeraPDF(File file) throws IOException,
VeraPDFException
+ {
// https://docs.verapdf.org/develop/
VeraGreenfieldFoundryProvider.initialise();
- PDFAFlavour flavour = PDFAFlavour.fromString("1b");
- PDFAParser parser = Foundries.defaultInstance().createParser(new
File(signedPdfaFilename), flavour);
- PDFAValidator validator =
Foundries.defaultInstance().createValidator(flavour, false);
+ VeraPDFFoundry foundry = Foundries.defaultInstance();
+ PDFAParser parser = foundry.createParser(file, PDFAFlavour.PDFA_1_B);
+ PDFAValidator validator =
foundry.createValidator(PDFAFlavour.PDFA_1_B, false);
org.verapdf.pdfa.results.ValidationResult veraResult =
validator.validate(parser);
- assertTrue(veraResult.isCompliant());
+ assertTrue(validator.validate(parser).isCompliant());
+ validator.close();
parser.close();
+ foundry.close();
}
-
}
Modified:
pdfbox/branches/2.0/examples/src/test/java/org/apache/pdfbox/examples/pdfa/MergePDFATest.java
==============================================================================
---
pdfbox/branches/2.0/examples/src/test/java/org/apache/pdfbox/examples/pdfa/MergePDFATest.java
Sun Nov 2 09:35:07 2025 (r1929476)
+++
pdfbox/branches/2.0/examples/src/test/java/org/apache/pdfbox/examples/pdfa/MergePDFATest.java
Sun Nov 2 09:35:13 2025 (r1929477)
@@ -33,11 +33,6 @@ import org.apache.pdfbox.preflight.Prefl
import org.apache.pdfbox.preflight.ValidationResult;
import org.apache.pdfbox.preflight.parser.PreflightParser;
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;
/**
*
@@ -87,13 +82,6 @@ public class MergePDFATest extends TestC
assertTrue("PDF file created with MergePDFA is not valid PDF/A-1b",
result.isValid());
preflightDocument.close();
- // https://docs.verapdf.org/develop/
- VeraGreenfieldFoundryProvider.initialise();
- PDFAFlavour flavour = PDFAFlavour.fromString("1b");
- 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());
- parser.close();
+ CreatePDFATest.checkWithVeraPDF(new File(pdfaMergedFilename));
}
}