You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ta...@apache.org on 2022/11/17 21:36:38 UTC

[tika] 01/02: CompositePipesReporter needs to close resources

This is an automated email from the ASF dual-hosted git repository.

tallison pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tika.git

commit 2528d468a73f29293ab069e7feef181ff53ea9d3
Author: tballison <ta...@apache.org>
AuthorDate: Thu Nov 17 16:32:04 2022 -0500

    CompositePipesReporter needs to close resources
---
 .../apache/tika/pipes/CompositePipesReporter.java  | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/tika-core/src/main/java/org/apache/tika/pipes/CompositePipesReporter.java b/tika-core/src/main/java/org/apache/tika/pipes/CompositePipesReporter.java
index 4f78b6be8..dfce28bb7 100644
--- a/tika-core/src/main/java/org/apache/tika/pipes/CompositePipesReporter.java
+++ b/tika-core/src/main/java/org/apache/tika/pipes/CompositePipesReporter.java
@@ -16,6 +16,7 @@
  */
 package org.apache.tika.pipes;
 
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -76,4 +77,25 @@ public class CompositePipesReporter extends PipesReporter implements Initializab
             throw new TikaConfigException("must specify at least one pipes reporter");
         }
     }
+
+    /**
+     * Tries to close all resources.  Throws the last encountered IOException
+     * if any are thrown by the component reporters.
+     *
+     * @throws IOException
+     */
+    @Override
+    public void close() throws IOException {
+        IOException ex = null;
+        for (PipesReporter pipesReporter : pipesReporters) {
+            try {
+                pipesReporter.close();
+            } catch (IOException e) {
+                ex = e;
+            }
+        }
+        if (ex != null) {
+            throw ex;
+        }
+    }
 }