You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ni...@apache.org on 2018/03/13 18:15:33 UTC

[tika] 10/13: TODO updates, enforce allowed policies

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

nick pushed a commit to branch multiple-parsers
in repository https://gitbox.apache.org/repos/asf/tika.git

commit 9be93c6bef2eabfb5ea93f60549762a2510b2dce
Author: Nick Burch <ni...@gagravarr.org>
AuthorDate: Tue Mar 13 17:03:50 2018 +0000

    TODO updates, enforce allowed policies
---
 .../org/apache/tika/parser/multiple/AbstractMultipleParser.java     | 3 +--
 .../java/org/apache/tika/parser/multiple/SupplementingParser.java   | 6 +++++-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/tika-core/src/main/java/org/apache/tika/parser/multiple/AbstractMultipleParser.java b/tika-core/src/main/java/org/apache/tika/parser/multiple/AbstractMultipleParser.java
index d857b35..4d3ff0c 100644
--- a/tika-core/src/main/java/org/apache/tika/parser/multiple/AbstractMultipleParser.java
+++ b/tika-core/src/main/java/org/apache/tika/parser/multiple/AbstractMultipleParser.java
@@ -211,7 +211,6 @@ public abstract class AbstractMultipleParser extends AbstractParser {
                 // TODO Handle metadata clashes based on the Policy
                 
                 // Process if possible
-                // TODO Share error recording logic with RecursiveParserWrapper
                 Exception failure = null;
                 try {
                     p.parse(parserStream, handler, metadata, context);
@@ -222,6 +221,7 @@ public abstract class AbstractMultipleParser extends AbstractParser {
                 
                 // Notify the implementation how it went
                 boolean tryNext = parserCompleted(p, metadata, handler, failure);
+                
                 // Abort if requested, with the exception if there was one
                 if (!tryNext) {
                    if (failure != null) {
@@ -242,4 +242,3 @@ public abstract class AbstractMultipleParser extends AbstractParser {
         }
     }
 }
-
diff --git a/tika-core/src/main/java/org/apache/tika/parser/multiple/SupplementingParser.java b/tika-core/src/main/java/org/apache/tika/parser/multiple/SupplementingParser.java
index c1dec34..7eab004 100644
--- a/tika-core/src/main/java/org/apache/tika/parser/multiple/SupplementingParser.java
+++ b/tika-core/src/main/java/org/apache/tika/parser/multiple/SupplementingParser.java
@@ -63,7 +63,11 @@ public class SupplementingParser extends AbstractMultipleParser {
     public SupplementingParser(MediaTypeRegistry registry, MetadataPolicy policy,
                                List<Parser> parsers) {
         super(registry, policy, parsers);
-        // TODO Check the policy is one we support
+        
+        // Ensure it's a supported policy
+        if (!allowedPolicies.contains(policy)) {
+            throw new IllegalArgumentException("Unsupported policy for SupplementingParser: " + policy);
+        }
     }
 
     @Override

-- 
To stop receiving notification emails like this one, please contact
nick@apache.org.