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

Reply via email to