Xcos search: use only Lucene 5.x, 6.x and 7.x compatible API 86/19586/1
Clément DAVID [Fri, 8 Dec 2017 16:22:14 +0000 (17:22 +0100)]
Change-Id: I36c156f115effe698df4cad9fe2c8ca2a7a9d570

scilab/CHANGES.md
scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/PaletteSearchManager.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/PaletteSearcher.java

index f5fae99..81ba41c 100644 (file)
@@ -490,6 +490,7 @@ the [development mailing list](dev@lists.scilab.org) for a particular toolbox.
 * [#15308](http://bugzilla.scilab.org/show_bug.cgi?id=15308): Unlike `evstr(["1 2";"3 4"])`, `evstr(["1;2" "3;4"])` was not accepted.
 * [#15337](http://bugzilla.scilab.org/show_bug.cgi?id=15337): There was a mistake in the definition of the l_p norm of a vector in the `norm` page.
 * [#15339](http://bugzilla.scilab.org/show_bug.cgi?id=15339): `uigetfont()` returned garbage on user cancellation.
+* [#15340](http://bugzilla.scilab.org/show_bug.cgi?id=15340): Scilab did not build against lucene 6.1.0.
 
 ### Bugs fixed in 6.0.0:
 * [#592](http://bugzilla.scilab.org/show_bug.cgi?id=592): `linspace(a, b, n<=0)` returned `b` instead of `[]`
index 2efc1ac..16516d7 100644 (file)
@@ -50,6 +50,7 @@ public final class PaletteSearchManager {
 
     private Analyzer analyzer;
     private IndexWriter writer;
+    private Directory indexedDirectory;
     private PaletteIndexer paletteIndexer;
     private PaletteSearcher paletteSearcher;
     private PaletteSearchView view;
@@ -58,11 +59,11 @@ public final class PaletteSearchManager {
     /** Default constructor */
     public PaletteSearchManager() {
         try {
-            Directory ramDir = new RAMDirectory();
+            indexedDirectory = new RAMDirectory();
             analyzer = new StandardAnalyzer();
             IndexWriterConfig config = new IndexWriterConfig(analyzer);
             config.setOpenMode(OpenMode.CREATE);
-            writer = new IndexWriter(ramDir, config);
+            writer = new IndexWriter(indexedDirectory, config);
         } catch (IOException ex) {
             Logger.getLogger(PaletteSearchManager.class.getName()).log(Level.SEVERE, null, ex);
         }
@@ -160,4 +161,12 @@ public final class PaletteSearchManager {
     public IndexWriter getIndexWriter() {
         return writer;
     }
+
+    /**
+     * Get the current indexed directory.
+     * @return Directory
+     */
+    public Directory getDirectory() {
+        return indexedDirectory;
+    }
 }
index 7697cd7..2649058 100644 (file)
@@ -52,7 +52,7 @@ public final class PaletteSearcher {
      */
     public List<Document> search(String str) {
         List<Document> found = new ArrayList<>();
-        try (IndexReader reader = DirectoryReader.open(mgr.getIndexWriter(), true)) {
+        try (IndexReader reader = DirectoryReader.open(mgr.getDirectory())) {
             IndexSearcher searcher = new IndexSearcher(reader);
 
             StandardQueryParser queryParserHelper = new StandardQueryParser();