[eclipse-dtp] Port to Lucene 4.

mbooth mbooth at fedoraproject.org
Tue Mar 18 16:20:35 UTC 2014


commit 65d94572a9c64355be993c36597f8db9adb08bf6
Author: Mat Booth <fedora at matbooth.co.uk>
Date:   Tue Mar 18 15:34:10 2014 +0000

    Port to Lucene 4.

 eclipse-dtp-lucene4-port.patch |  105 ++++++++++++++++++++++++++++++++++++++++
 eclipse-dtp.spec               |   27 ++++++++---
 2 files changed, 125 insertions(+), 7 deletions(-)
---
diff --git a/eclipse-dtp-lucene4-port.patch b/eclipse-dtp-lucene4-port.patch
new file mode 100644
index 0000000..fba5d99
--- /dev/null
+++ b/eclipse-dtp-lucene4-port.patch
@@ -0,0 +1,105 @@
+--- plugins/org.eclipse.datatools.sqltools.result/META-INF/MANIFEST.MF.orig	2014-03-18 12:08:55.989782958 +0000
++++ plugins/org.eclipse.datatools.sqltools.result/META-INF/MANIFEST.MF	2014-03-18 12:50:38.716679214 +0000
+@@ -9,7 +9,9 @@
+ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
+  org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
+  org.eclipse.help;bundle-version="[3.2.0,4.0.0)",
+- org.apache.lucene.core;bundle-version="[2.9.0,4.0.0)",
++ org.apache.lucene.core;bundle-version="[4.0.0,5.0.0)",
++ org.apache.lucene.queryparser;bundle-version="[4.0.0,5.0.0)",
++ org.apache.lucene.analysis;bundle-version="[4.0.0,5.0.0)",
+  org.eclipse.datatools.connectivity;bundle-version="[1.0.0,2.0.0)"
+ Import-Package: com.ibm.icu.text;version="3.6.1",
+  com.ibm.icu.util;version="3.6.1"
+--- plugins/org.eclipse.datatools.sqltools.result/src/org/eclipse/datatools/sqltools/result/internal/index/ResultHistoryLuceneIndex.java.orig	2014-02-07 21:10:37.000000000 +0000
++++ plugins/org.eclipse.datatools.sqltools.result/src/org/eclipse/datatools/sqltools/result/internal/index/ResultHistoryLuceneIndex.java	2014-03-18 15:31:33.354079067 +0000
+@@ -23,12 +23,12 @@
+ import org.apache.lucene.document.Field;
+ import org.apache.lucene.index.IndexReader;
+ import org.apache.lucene.index.IndexWriter;
++import org.apache.lucene.index.IndexWriterConfig;
+ import org.apache.lucene.index.Term;
+-import org.apache.lucene.queryParser.ParseException;
+-import org.apache.lucene.queryParser.QueryParser;
++import org.apache.lucene.queryparser.classic.ParseException;
++import org.apache.lucene.queryparser.classic.QueryParser;
+ import org.apache.lucene.search.IndexSearcher;
+ import org.apache.lucene.search.Query;
+-import org.apache.lucene.search.Searcher;
+ import org.apache.lucene.search.TopDocs;
+ import org.apache.lucene.store.Directory;
+ import org.apache.lucene.store.RAMDirectory;
+@@ -70,7 +70,9 @@
+         // Create the index
+         try
+         {
+-            _writer = new IndexWriter(_ramDir, _analyzer, true, IndexWriter.MaxFieldLength.UNLIMITED);
++            IndexWriterConfig conf = new IndexWriterConfig(Version.LUCENE_CURRENT, _analyzer);
++            conf.setOpenMode(IndexWriterConfig.OpenMode.CREATE);
++            _writer = new IndexWriter(_ramDir, conf);
+             _writer.close();
+         }
+         catch(IOException ioe)
+@@ -109,7 +111,9 @@
+                 try
+                 {
+                     // Append new document to the index
+-                    _writer = new IndexWriter(_ramDir, _analyzer, false, IndexWriter.MaxFieldLength.UNLIMITED);
++                    IndexWriterConfig conf = new IndexWriterConfig(Version.LUCENE_CURRENT, _analyzer);
++                    conf.setOpenMode(IndexWriterConfig.OpenMode.APPEND);
++                    _writer = new IndexWriter(_ramDir, conf);
+                     for (int i = 0; i < instances.length; i++)
+                     {
+                         IResultInstance instance = instances[i];
+@@ -164,9 +168,11 @@
+         {
+             try
+             {
+-                IndexReader reader = IndexReader.open(_ramDir, false);
+                 if(instances != null)
+                 {
++                    IndexWriterConfig conf = new IndexWriterConfig(Version.LUCENE_CURRENT, _analyzer);
++                    conf.setOpenMode(IndexWriterConfig.OpenMode.APPEND);
++                    _writer = new IndexWriter(_ramDir, conf);
+                     IResultInstance instance = null;
+                     for(int i=0;i<instances.length;i++)
+                     {
+@@ -181,7 +187,7 @@
+                             {
+                                 try
+                                 {
+-                                    reader.deleteDocuments(new Term(FIELD_IDENTIFIER, id));
++                                    _writer.deleteDocuments(new Term(FIELD_IDENTIFIER, id));
+                                 }
+                                 catch(IOException ioe)
+                                 {
+@@ -190,7 +196,7 @@
+                             }
+                         }
+                     }
+-                    reader.close();
++                    _writer.close();
+                 }
+             }
+             catch(IOException ioe)
+@@ -211,9 +217,10 @@
+             QueryParser parser = new QueryParser(Version.LUCENE_CURRENT, FIELD_OPERATION, _analyzer);
+             try
+             {
++                IndexReader reader = IndexReader.open(_ramDir);
+                 Query query = parser.parse(expression);
+-                Searcher searcher = new IndexSearcher(_ramDir, true);
+-                TopDocs hits = searcher.search(query, searcher.maxDoc());
++                IndexSearcher searcher = new IndexSearcher(reader);
++                TopDocs hits = searcher.search(query, reader.maxDoc());
+                 int count = hits.totalHits;
+                 IResultInstance[] instances = new IResultInstance[count];
+                 
+@@ -223,6 +230,7 @@
+                     Document doc = searcher.doc(docID);
+                     instances[i] = (IResultInstance)_id2result.get(doc.getField(FIELD_IDENTIFIER).stringValue());
+                 }
++                reader.close();
+                 return instances;
+             }
+             catch(ParseException pe)
diff --git a/eclipse-dtp.spec b/eclipse-dtp.spec
index 14067d4..6c9b38e 100644
--- a/eclipse-dtp.spec
+++ b/eclipse-dtp.spec
@@ -6,7 +6,7 @@
 
 Name:      eclipse-dtp
 Version:   1.11.2
-Release:   1%{?dist}
+Release:   2%{?dist}
 Summary:   Eclipse Data Tools Platform
 Group:     System Environment/Libraries
 License:   EPL
@@ -43,6 +43,9 @@ Patch1:    %{name}-remove-duplicate-plugin.patch
 Patch6:    %{name}-enable-newer-javax.wsdl.patch
 Patch7:    %{name}-remove-javaxxml.patch 
 
+# port to a newer version of lucene
+Patch8:    %{name}-lucene4-port.patch 
+
 %if 0%{?rhel} >= 6
 ExclusiveArch: %{ix86} x86_64
 %else
@@ -61,6 +64,7 @@ BuildRequires:    xml-commons-resolver >= 1.1-2.15
 BuildRequires:    xalan-j2 >= 2.7.0-7.5
 BuildRequires:    xml-commons-apis >= 1.3.04-1.4
 BuildRequires:    lpg-java-compat = 1.1.0
+BuildRequires:    lucene >= 4.7.0
 
 Requires:         jpackage-utils
 Requires:         eclipse-platform >= 1:4.2.0-0.4
@@ -73,6 +77,7 @@ Requires:         xml-commons-resolver >= 1.1-2.15
 Requires:         xalan-j2 >= 2.7.0-7.5
 Requires:         xml-commons-apis >= 1.3.04-1.4
 Requires:         lpg-java-compat = 1.1.0
+Requires:         lucene >= 4.7.0
 
 %description
 The Eclipse Data Tools Platform provides extensible frameworks and exemplary 
@@ -88,6 +93,7 @@ pushd org.eclipse.datatools.connectivity-%{tag}
 popd
 pushd org.eclipse.datatools.build-%{tag}
 %patch1 -p1
+%patch7 -p2
 popd
 pushd org.eclipse.datatools.enablement.ibm-%{tag}
 %patch2
@@ -95,8 +101,8 @@ popd
 pushd org.eclipse.datatools.enablement.oda-%{tag}
 %patch6 -p1
 popd
-pushd org.eclipse.datatools.build-%{tag}/
-%patch7 -p2
+pushd org.eclipse.datatools.sqltools-%{tag}/
+%patch8 -b .orig
 popd
 
 pushd org.eclipse.datatools.build-%{tag}/features
@@ -124,12 +130,14 @@ fi
 
 mkdir orbitDeps
 pushd orbitDeps
-ln -s %{_javadir}/lucene.jar lucene.jar
+ln -s %{_javadir}/lpgjavaruntime.jar .
+ln -s %{_javadir}/lucene/lucene-core.jar .
+ln -s %{_javadir}/lucene/queryparser.jar .
+ln -s %{_javadir}/lucene/analyzers-common.jar .
 ln -s %{_javadir}/xerces-j2.jar org.apache.xerces_2.9.0.jar
 ln -s %{_javadir}/xalan-j2-serializer.jar org.apache.xml.serializer_2.7.1.jar
 ln -s %{_javadir}/xml-commons-resolver.jar org.apache.xml.resolver_1.2.0.jar
 ln -s %{_javadir}/wsdl4j.jar javax.wsdl_1.5.1.jar
-ln -s %{_javadir}/lpgjavaruntime.jar net.sourceforge.lpg.lpgjavaruntime_1.1.0.jar
 ln -s %{_javadir}/emf/eclipse/plugins/org.eclipse.emf* .
 popd
 
@@ -164,8 +172,10 @@ rm javax.wsdl_*.jar
 ln -s ../../../../../java/wsdl4j.jar javax.wsdl_1.5.1.jar
 popd
 pushd %{buildroot}%{eclipse_dropin}/dtp-sqldevtools/eclipse/plugins
-rm net.sourceforge.lpg.lpgjavaruntime_*.jar
-ln -s ../../../../../java/lpgjavaruntime.jar net.sourceforge.lpg.lpgjavaruntime_1.1.0.jar
+ln -s ../../../../../java/lpgjavaruntime.jar .
+ln -s ../../../../../java/lucene/lucene-core.jar .
+ln -s ../../../../../java/lucene/queryparser.jar .
+ln -s ../../../../../java/lucene/analyzers-common.jar .
 popd
 
 %files
@@ -176,6 +186,9 @@ popd
 %doc org.eclipse.datatools.build-%{tag}/features/org.eclipse.datatools.sdk-all.feature/rootfiles/*
 
 %changelog
+* Tue Mar 18 2014 Mat Booth <fedora at matbooth.co.uk> - 1.11.2-2
+- Port to Lucene 4.
+
 * Mon Mar 17 2014 Mat Booth <fedora at matbooth.co.uk> - 1.11.2-1
 - Update to latest upstream, Kepler SR2.
 - Drop requires on java, rhbz #1068036


More information about the scm-commits mailing list