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 2018/09/25 17:59:49 UTC

[tika] branch branch_1x updated: TIKA-2738 -- ForkParser option isn't working in tika-app. Make PasswordProvider serializable.

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

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


The following commit(s) were added to refs/heads/branch_1x by this push:
     new d712103  TIKA-2738 -- ForkParser option isn't working in tika-app. Make PasswordProvider serializable.
d712103 is described below

commit d7121036a0c46843ceb3c07237f7c5903e2723a6
Author: TALLISON <ta...@apache.org>
AuthorDate: Tue Sep 25 13:57:26 2018 -0400

    TIKA-2738 -- ForkParser option isn't working in tika-app. Make PasswordProvider serializable.
---
 .../src/main/java/org/apache/tika/cli/TikaCLI.java    | 19 ++++++++++++++-----
 .../test/java/org/apache/tika/cli/TikaCLITest.java    | 11 +++++++++++
 2 files changed, 25 insertions(+), 5 deletions(-)

diff --git a/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java b/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java
index b317f3f..8077114 100644
--- a/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java
+++ b/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java
@@ -34,6 +34,7 @@ import java.io.OutputStream;
 import java.io.OutputStreamWriter;
 import java.io.PrintStream;
 import java.io.PrintWriter;
+import java.io.Serializable;
 import java.io.UnsupportedEncodingException;
 import java.io.Writer;
 import java.lang.reflect.Field;
@@ -704,11 +705,7 @@ public class TikaCLI {
         }
         detector = config.getDetector();
         context.set(Parser.class, parser);
-        context.set(PasswordProvider.class, new PasswordProvider() {
-            public String getPassword(Metadata metadata) {
-                return password;
-            }
-        });
+        context.set(PasswordProvider.class, new SimplePasswordProvider(password));
     }
 
     private void displayMetModels(){
@@ -1322,4 +1319,16 @@ public class TikaCLI {
     }
 
 
+    private static class SimplePasswordProvider
+            implements PasswordProvider, Serializable {
+        private final String password;
+        public SimplePasswordProvider(String password) {
+            this.password = password;
+        }
+
+        @Override
+        public String getPassword(Metadata metadata) {
+            return password;
+        }
+    }
 }
diff --git a/tika-app/src/test/java/org/apache/tika/cli/TikaCLITest.java b/tika-app/src/test/java/org/apache/tika/cli/TikaCLITest.java
index 8804b0c..7017aa0 100644
--- a/tika-app/src/test/java/org/apache/tika/cli/TikaCLITest.java
+++ b/tika-app/src/test/java/org/apache/tika/cli/TikaCLITest.java
@@ -137,6 +137,17 @@ public class TikaCLITest {
     }
 
     /**
+     * Tests -f option of the cli
+     *
+     * @throws Exception
+     */
+    @Test
+    public void testForkParser() throws Exception{
+        String[] params = {"-f", resourcePrefix + "alice.cli.test"};
+        TikaCLI.main(params);
+        assertTrue(outContent.toString(UTF_8.name()).contains("finished off the cake"));
+    }
+    /**
      * Tests -m option of the cli
      * @throws Exception
      */