From 7ae0ec9d50eab2c0deaa7c1f3e65c52c7bd87a98 Mon Sep 17 00:00:00 2001 From: srosse <stephane.rosse@frentix.com> Date: Mon, 18 Feb 2019 11:02:05 +0100 Subject: [PATCH] OO-3841: update lucene to 7.7.0 (no need to reindex) --- pom.xml | 2 +- .../document/file/FileTypeDetector.java | 19 +++++++------------ .../file/FileDocumentFactoryTest.java | 2 ++ 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/pom.xml b/pom.xml index 0ed64813afe..f14d703e928 100644 --- a/pom.xml +++ b/pom.xml @@ -70,7 +70,7 @@ <org.mysql.version>5.1.46</org.mysql.version> <org.postgresql.version>42.2.5</org.postgresql.version> <org.infinispan.version>9.2.3.Final</org.infinispan.version> - <lucene.version>7.5.0</lucene.version> + <lucene.version>7.7.0</lucene.version> <version.selenium>3.13.0</version.selenium> <version.drone>2.5.1</version.drone> <activemq.version>5.15.8</activemq.version> diff --git a/src/main/java/org/olat/search/service/document/file/FileTypeDetector.java b/src/main/java/org/olat/search/service/document/file/FileTypeDetector.java index 65b58ccb2c2..4816d82c221 100644 --- a/src/main/java/org/olat/search/service/document/file/FileTypeDetector.java +++ b/src/main/java/org/olat/search/service/document/file/FileTypeDetector.java @@ -25,7 +25,6 @@ import java.io.InputStream; import org.olat.core.logging.OLog; import org.olat.core.logging.Tracing; -import org.olat.core.util.FileUtils; import org.olat.core.util.vfs.VFSLeaf; /** @@ -52,20 +51,18 @@ public class FileTypeDetector { throw new DocumentNotImplementedException("I cannot detect the document suffix (marked with '.') for " + fileName); } String suffix = fileName.substring(dotpos+1).toLowerCase(); - if("doc".equals(suffix)) { - if(checkMagicBytes(leaf, ZIP)) return "docx"; - } else if("xls".equals(suffix)) { - if(checkMagicBytes(leaf, ZIP)) return "xlsx"; - } else if("ppt".equals(suffix)) { - if(checkMagicBytes(leaf, ZIP)) return "pptx"; + if("doc".equals(suffix) && checkMagicBytes(leaf, ZIP)) { + return "docx"; + } else if("xls".equals(suffix) && checkMagicBytes(leaf, ZIP)) { + return "xlsx"; + } else if("ppt".equals(suffix) && checkMagicBytes(leaf, ZIP)) { + return "pptx"; } return suffix; } public static boolean checkMagicBytes(VFSLeaf leaf, String reference) { - InputStream in = null; - try { - in = leaf.getInputStream(); + try(InputStream in = leaf.getInputStream()) { byte[] buffer = new byte[50]; int n = in.read(buffer); if (n > 0) { @@ -78,8 +75,6 @@ public class FileTypeDetector { } } catch (IOException e) { log.warn("", e); - } finally { - FileUtils.closeSafely(in); } return false; } diff --git a/src/test/java/org/olat/search/service/document/file/FileDocumentFactoryTest.java b/src/test/java/org/olat/search/service/document/file/FileDocumentFactoryTest.java index 62edfaaf2af..c1008fe8499 100644 --- a/src/test/java/org/olat/search/service/document/file/FileDocumentFactoryTest.java +++ b/src/test/java/org/olat/search/service/document/file/FileDocumentFactoryTest.java @@ -89,6 +89,8 @@ public class FileDocumentFactoryTest extends OlatTestCase { Assert.assertTrue("DOC must be supported", fileDocumentFactory.isFileSupported(getVFSFile("test2.DOC"))); Assert.assertTrue("doc must be supported", fileDocumentFactory.isFileSupported(getVFSFile("test.doc"))); + + Assert.assertTrue("doc must be supported", fileDocumentFactory.isFileSupported(getVFSFile("Test_word_indexing.docx"))); Assert.assertTrue("TXT must be supported", fileDocumentFactory.isFileSupported("test.TXT")); Assert.assertTrue("txt must be supported", fileDocumentFactory.isFileSupported("test.txt")); -- GitLab