From 4b89b0b5116e532071f6444b860a5af02bf88d98 Mon Sep 17 00:00:00 2001
From: Shinsuke Sugaya <shinsuke@apache.org>
Date: Mon, 24 Feb 2020 21:59:41 +0900
Subject: [PATCH] fix #2411 add tika.xml

---
 pom.xml                                                | 5 ++++-
 src/main/java/org/codelibs/fess/util/ResourceUtil.java | 8 ++++++++
 src/main/resources/fess.xml                            | 3 +++
 src/main/resources/tika.xml                            | 8 ++++++++
 4 files changed, 23 insertions(+), 1 deletion(-)
 create mode 100644 src/main/resources/tika.xml

diff --git a/pom.xml b/pom.xml
index 763de9ad2..c3bcff88d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -453,7 +453,7 @@
 						<data>
 							<type>directory</type>
 							<src>${project.build.directory}/fess</src>
-							<excludes>**/fess_config.properties,**/fess_env*.properties</excludes>
+							<excludes>**/fess_config.properties,**/fess_env*.properties,**/tika.xml</excludes>
 							<mapper>
 								<type>perm</type>
 								<prefix>${packaging.fess.app.dir}</prefix>
@@ -515,6 +515,7 @@
 								<path>${project.build.directory}/fess/WEB-INF/classes/fess_env_suggest.properties</path>
 								<path>${project.build.directory}/fess/WEB-INF/classes/fess_env_thumbnail.properties</path>
 								<path>${project.build.directory}/fess/WEB-INF/classes/fess_env_web.properties</path>
+								<path>${project.build.directory}/fess/WEB-INF/classes/tika.xml</path>
 							</paths>
 							<dst>${packaging.fess.conf.dir}</dst>
 							<mapper>
@@ -727,6 +728,7 @@
 									<excludes>
 										<exclude>**/fess_config.properties</exclude>
 										<exclude>**/fess_env*.properties</exclude>
+										<exclude>**/tika.xml</exclude>
 									</excludes>
 								</source>
 							</sources>
@@ -771,6 +773,7 @@
 										<include>fess_env_suggest.properties</include>
 										<include>fess_env_thumbnail.properties</include>
 										<include>fess_env_web.properties</include>
+										<include>tika.xml</include>
 									</includes>
 								</source>
 							</sources>
diff --git a/src/main/java/org/codelibs/fess/util/ResourceUtil.java b/src/main/java/org/codelibs/fess/util/ResourceUtil.java
index 3ea1a5476..afed6eeac 100644
--- a/src/main/java/org/codelibs/fess/util/ResourceUtil.java
+++ b/src/main/java/org/codelibs/fess/util/ResourceUtil.java
@@ -83,6 +83,14 @@ public class ResourceUtil {
         return getPath("WEB-INF/", "conf", names);
     }
 
+    public static Path getConfOrClassesPath(final String... names) {
+        Path confPath = getConfPath(names);
+        if (Files.exists(confPath)) {
+            return confPath;
+        }
+        return org.codelibs.core.io.ResourceUtil.getResourceAsFile(String.join("/", names)).toPath();
+    }
+
     public static Path getClassesPath(final String... names) {
         return getPath("WEB-INF/", "classes", names);
     }
diff --git a/src/main/resources/fess.xml b/src/main/resources/fess.xml
index 70e434ead..9b048700f 100644
--- a/src/main/resources/fess.xml
+++ b/src/main/resources/fess.xml
@@ -131,4 +131,7 @@
 		<property name="roleSeparator">","</property>
 		 -->
 	</component>
+	<component name="tikaConfig" class="org.apache.tika.config.TikaConfig">
+		<arg>org.codelibs.fess.util.ResourceUtil.getConfOrClassesPath("tika.xml")</arg>
+	</component>
 </components>
diff --git a/src/main/resources/tika.xml b/src/main/resources/tika.xml
new file mode 100644
index 000000000..13da43c00
--- /dev/null
+++ b/src/main/resources/tika.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<properties>
+  <parsers>
+    <parser class="org.apache.tika.parser.DefaultParser">
+      <parser-exclude class="org.apache.tika.parser.ocr.TesseractOCRParser"/>
+    </parser>
+  </parsers>
+</properties>
-- 
GitLab