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));
     }
 }

Reply via email to