diff --git a/csl.api/nbproject/project.xml b/csl.api/nbproject/project.xml
--- a/csl.api/nbproject/project.xml
+++ b/csl.api/nbproject/project.xml
@@ -37,8 +37,8 @@
- 1
- 2.1
+ 3
+ 3.0
diff --git a/java.hints/nbproject/project.xml b/java.hints/nbproject/project.xml
--- a/java.hints/nbproject/project.xml
+++ b/java.hints/nbproject/project.xml
@@ -107,8 +107,8 @@
- 1
- 2.9
+ 3
+ 3.0
diff --git a/java.source/nbproject/project.xml b/java.source/nbproject/project.xml
--- a/java.source/nbproject/project.xml
+++ b/java.source/nbproject/project.xml
@@ -106,8 +106,8 @@
- 1
- 2.12
+ 3
+ 3.0
diff --git a/java.source/src/org/netbeans/modules/java/source/usages/DocumentUtil.java b/java.source/src/org/netbeans/modules/java/source/usages/DocumentUtil.java
--- a/java.source/src/org/netbeans/modules/java/source/usages/DocumentUtil.java
+++ b/java.source/src/org/netbeans/modules/java/source/usages/DocumentUtil.java
@@ -257,30 +257,30 @@
}
caseInsensitiveName = simpleName.toLowerCase(); //XXX: I18N, Locale
Document doc = new Document ();
- Field field = new Field (FIELD_BINARY_NAME,fileName,Field.Store.YES, Field.Index.NO_NORMS);
+ Field field = new Field (FIELD_BINARY_NAME,fileName,Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS);
doc.add (field);
- field = new Field (FIELD_PACKAGE_NAME,pkgName,Field.Store.YES, Field.Index.NO_NORMS);
+ field = new Field (FIELD_PACKAGE_NAME,pkgName,Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS);
doc.add (field);
- field = new Field (FIELD_SIMPLE_NAME,simpleName, Field.Store.YES, Field.Index.NO_NORMS);
+ field = new Field (FIELD_SIMPLE_NAME,simpleName, Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS);
doc.add (field);
- field = new Field (FIELD_CASE_INSENSITIVE_NAME, caseInsensitiveName, Field.Store.YES, Field.Index.NO_NORMS);
+ field = new Field (FIELD_CASE_INSENSITIVE_NAME, caseInsensitiveName, Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS);
doc.add (field);
for (String reference : references) {
- field = new Field (FIELD_REFERENCES,reference,Field.Store.NO,Field.Index.NO_NORMS);
+ field = new Field (FIELD_REFERENCES,reference,Field.Store.NO,Field.Index.NOT_ANALYZED_NO_NORMS);
doc.add(field);
}
if (featureIdents != null) {
- field = new Field(FIELD_FEATURE_IDENTS, featureIdents, Field.Store.NO, Field.Index.TOKENIZED);
+ field = new Field(FIELD_FEATURE_IDENTS, featureIdents, Field.Store.NO, Field.Index.ANALYZED_NO_NORMS);
doc.add(field);
- field = new Field(FIELD_CASE_INSENSITIVE_FEATURE_IDENTS, featureIdents, Field.Store.NO, Field.Index.TOKENIZED);
+ field = new Field(FIELD_CASE_INSENSITIVE_FEATURE_IDENTS, featureIdents, Field.Store.NO, Field.Index.ANALYZED_NO_NORMS);
doc.add(field);
}
if (idents != null) {
- field = new Field(FIELD_IDENTS, idents, Field.Store.NO, Field.Index.TOKENIZED);
+ field = new Field(FIELD_IDENTS, idents, Field.Store.NO, Field.Index.ANALYZED_NO_NORMS);
doc.add(field);
}
if (source != null) {
- field = new Field (FIELD_SOURCE,source,Field.Store.YES,Field.Index.NO_NORMS);
+ field = new Field (FIELD_SOURCE,source,Field.Store.YES,Field.Index.NOT_ANALYZED_NO_NORMS);
doc.add(field);
}
return doc;
diff --git a/java.sourceui/nbproject/project.xml b/java.sourceui/nbproject/project.xml
--- a/java.sourceui/nbproject/project.xml
+++ b/java.sourceui/nbproject/project.xml
@@ -45,8 +45,8 @@
- 1
- 2.12
+ 3
+ 3.0
diff --git a/libs.lucene/external/binaries-list b/libs.lucene/external/binaries-list
--- a/libs.lucene/external/binaries-list
+++ b/libs.lucene/external/binaries-list
@@ -1,1 +1,1 @@
-284963A064E39FA33ECBA8E57CC5581067CD81D1 lucene-core-2.9.3.jar
+335F7EA0E28A4A1358AA745F4BD2037E8AFE44FC lucene-core-3.0.3.jar
diff --git a/libs.lucene/manifest.mf b/libs.lucene/manifest.mf
--- a/libs.lucene/manifest.mf
+++ b/libs.lucene/manifest.mf
@@ -1,4 +1,4 @@
Manifest-Version: 1.0
-OpenIDE-Module: org.netbeans.libs.lucene/1
+OpenIDE-Module: org.netbeans.libs.lucene/3
OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/lucene/Bundle.properties
OpenIDE-Module-Implementation-Version: 232
diff --git a/libs.lucene/nbproject/project.properties b/libs.lucene/nbproject/project.properties
--- a/libs.lucene/nbproject/project.properties
+++ b/libs.lucene/nbproject/project.properties
@@ -41,5 +41,5 @@
# made subject to such option by the copyright holder.
is.autoload=true
-release.external/lucene-core-2.9.3.jar=modules/ext/lucene-core-2.9.3.jar
-spec.version.base=2.13.0
+release.external/lucene-core-3.0.3.jar=modules/ext/lucene-core-3.0.3.jar
+spec.version.base=3.0.0
diff --git a/libs.lucene/nbproject/project.xml b/libs.lucene/nbproject/project.xml
--- a/libs.lucene/nbproject/project.xml
+++ b/libs.lucene/nbproject/project.xml
@@ -53,8 +53,8 @@
org
- ext/lucene-core-2.9.3.jar
- external/lucene-core-2.9.3.jar
+ ext/lucene-core-3.0.3.jar
+ external/lucene-core-3.0.3.jar
diff --git a/maven.hints/nbproject/project.xml b/maven.hints/nbproject/project.xml
--- a/maven.hints/nbproject/project.xml
+++ b/maven.hints/nbproject/project.xml
@@ -62,8 +62,8 @@
- 1
- 2.13
+ 3
+ 3.0
diff --git a/maven.indexer/nbproject/project.xml b/maven.indexer/nbproject/project.xml
--- a/maven.indexer/nbproject/project.xml
+++ b/maven.indexer/nbproject/project.xml
@@ -81,8 +81,8 @@
- 1
- 2.4
+ 3
+ 3.0
diff --git a/maven.indexer/src/org/netbeans/modules/maven/indexer/api/PluginIndexManager.java b/maven.indexer/src/org/netbeans/modules/maven/indexer/api/PluginIndexManager.java
--- a/maven.indexer/src/org/netbeans/modules/maven/indexer/api/PluginIndexManager.java
+++ b/maven.indexer/src/org/netbeans/modules/maven/indexer/api/PluginIndexManager.java
@@ -52,6 +52,7 @@
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.BitSet;
import java.util.Comparator;
import java.util.Iterator;
import java.util.LinkedHashMap;
@@ -67,11 +68,12 @@
import org.apache.lucene.index.Term;
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.BooleanQuery;
-import org.apache.lucene.search.Hit;
-import org.apache.lucene.search.Hits;
+import org.apache.lucene.search.Collector;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.PrefixQuery;
+import org.apache.lucene.search.Scorer;
import org.apache.lucene.search.TermQuery;
+import org.apache.lucene.search.TopDocs;
import org.apache.lucene.store.FSDirectory;
import org.openide.filesystems.FileUtil;
import org.openide.util.Exceptions;
@@ -125,7 +127,7 @@
private static synchronized IndexSearcher getIndexSearcher() throws Exception {
if (indexReader == null) {
- FSDirectory dir = FSDirectory.getDirectory(getDefaultIndexLocation());
+ FSDirectory dir = FSDirectory.open(getDefaultIndexLocation());
indexReader = IndexReader.open(dir);
}
//TODO shall the searcher be stored as field??
@@ -144,12 +146,12 @@
PrefixQuery pq = new PrefixQuery(new Term(FIELD_ID, grp));
bq.add(new BooleanClause(pq, BooleanClause.Occur.SHOULD));
}
- Hits hits = searcher.search(bq);
- Iterator it = hits.iterator();
+ final BitSetCollector searchRes = new BitSetCollector();
+ searcher.search(bq, searchRes);
+ final BitSet bitSet = searchRes.getMatchedDocs();
TreeSet toRet = new TreeSet();
- while (it.hasNext()) {
- Hit hit = (Hit) it.next();
- Document doc = hit.getDocument();
+ for (int docNum = bitSet.nextSetBit(0); docNum >= 0; docNum = bitSet.nextSetBit(docNum+1)) {
+ Document doc = searcher.getIndexReader().document(docNum);
//TODO shall we somehow pick just one version fom a given plugin here? how?
String prefix = doc.getField(FIELD_PREFIX).stringValue();
String goals = doc.getField(FIELD_GOALS).stringValue();
@@ -173,15 +175,15 @@
IndexSearcher searcher = getIndexSearcher();
String id = groupId + "|" + artifactId + "|" + version; //NOI18N
TermQuery tq = new TermQuery(new Term(FIELD_ID, id));
- Hits hits = searcher.search(tq);
- if (hits.length() == 0) {
+ final BitSetCollector searchRes = new BitSetCollector();
+ searcher.search(tq, searchRes);
+ final BitSet bitSet = searchRes.getMatchedDocs();
+ if (bitSet.isEmpty()) {
return null;
}
- Iterator it = hits.iterator();
TreeSet toRet = new TreeSet();
- while (it.hasNext()) { //well should be just one anyway..
- Hit hit = (Hit) it.next();
- Document doc = hit.getDocument();
+ for (int docNum = bitSet.nextSetBit(0); docNum >= 0; docNum = bitSet.nextSetBit(docNum+1)) {
+ Document doc = searcher.getIndexReader().document(docNum);
String goals = doc.getField(FIELD_GOALS).stringValue();
String[] gls = StringUtils.split(goals, " "); //NOI18N
for (String goal : gls) {
@@ -204,15 +206,15 @@
IndexSearcher searcher = getIndexSearcher();
String id = groupId + "|" + artifactId + "|" + version; //NOI18N
TermQuery tq = new TermQuery(new Term(FIELD_ID, id));
- Hits hits = searcher.search(tq);
- if (hits.length() == 0) {
+ final BitSetCollector searchRes = new BitSetCollector();
+ searcher.search(tq, searchRes);
+ final BitSet bitSet = searchRes.getMatchedDocs();
+ if (bitSet.isEmpty()) {
return null;
- }
- Iterator it = hits.iterator();
+ }
TreeSet toRet = new TreeSet(new PComparator());
- while (it.hasNext()) { //well should be just one anyway..
- Hit hit = (Hit) it.next();
- Document doc = hit.getDocument();
+ for (int docNum = bitSet.nextSetBit(0); docNum >= 0; docNum = bitSet.nextSetBit(docNum+1)) {
+ Document doc = searcher.getIndexReader().document(docNum);
String goals = doc.getField(FIELD_GOALS).stringValue();
String[] gls = StringUtils.split(goals, " "); //NOI18N
for (String goal : gls) {
@@ -263,15 +265,15 @@
assert prefix != null;
IndexSearcher searcher = getIndexSearcher();
TermQuery tq = new TermQuery(new Term(FIELD_PREFIX, prefix));
- Hits hits = searcher.search(tq);
- if (hits.length() == 0) {
+ final BitSetCollector searchRes = new BitSetCollector();
+ searcher.search(tq, searchRes);
+ final BitSet bitSet = searchRes.getMatchedDocs();
+ if (bitSet.isEmpty()) {
return null;
}
- Iterator it = hits.iterator();
TreeSet toRet = new TreeSet();
- while (it.hasNext()) { //well should be just one anyway..
- Hit hit = (Hit) it.next();
- Document doc = hit.getDocument();
+ for (int docNum = bitSet.nextSetBit(0); docNum >= 0; docNum = bitSet.nextSetBit(docNum+1)) {
+ Document doc = searcher.getIndexReader().document(docNum);
String id = doc.getField(FIELD_ID).stringValue();
toRet.add(id);
}
@@ -304,15 +306,15 @@
}
bq.add(bq2, BooleanClause.Occur.SHOULD); //why doesn't MUST work?
- Hits hits = searcher.search(bq);
- if (hits.length() == 0) {
+ final BitSetCollector searchRes = new BitSetCollector();
+ searcher.search(bq, searchRes);
+ final BitSet bitSet = searchRes.getMatchedDocs();
+ if (bitSet.isEmpty()) {
return null;
}
- Iterator it = hits.iterator();
LinkedHashMap> toRet = new LinkedHashMap>();
- while (it.hasNext()) { //well should be just one anyway..
- Hit hit = (Hit) it.next();
- Document doc = hit.getDocument();
+ for (int docNum = bitSet.nextSetBit(0); docNum >= 0; docNum = bitSet.nextSetBit(docNum+1)) {
+ Document doc = searcher.getIndexReader().document(docNum);
Field prefixed = doc.getField(PREFIX_FIELD_CYCLE + packaging);
if (prefixed != null) {
String mapping = prefixed.stringValue();
@@ -505,5 +507,40 @@
}
}
+
+
+ private static final class BitSetCollector extends Collector {
+ private int docBase;
+ private final BitSet bits = new BitSet();
+
+ public BitSet getMatchedDocs() {
+ return this.bits;
+ }
+
+
+ @Override
+ public void setScorer(Scorer scorer) {
+ //Todo: ignoring scorer for now, if ordering accoring to score needed
+ // this will need to be implemented
+ }
+
+ // accept docs out of order (for a BitSet it doesn't matter)
+ @Override
+ public boolean acceptsDocsOutOfOrder() {
+ return true;
+ }
+
+ @Override
+ public void collect(int doc) {
+ bits.set(doc + docBase);
+ }
+
+ @Override
+ public void setNextReader(IndexReader reader, int docBase) {
+ this.docBase = docBase;
+ }
+
+ }
+
}
diff --git a/maven.repository/nbproject/project.xml b/maven.repository/nbproject/project.xml
--- a/maven.repository/nbproject/project.xml
+++ b/maven.repository/nbproject/project.xml
@@ -72,8 +72,8 @@
- 1
- 2.5
+ 3
+ 3.0
diff --git a/maven.search/nbproject/project.xml b/maven.search/nbproject/project.xml
--- a/maven.search/nbproject/project.xml
+++ b/maven.search/nbproject/project.xml
@@ -54,8 +54,8 @@
- 1
- 2.5
+ 3
+ 3.0
diff --git a/maven/nbproject/project.xml b/maven/nbproject/project.xml
--- a/maven/nbproject/project.xml
+++ b/maven/nbproject/project.xml
@@ -116,8 +116,8 @@
- 1
- 2.5
+ 3
+ 3.0
diff --git a/parsing.api/nbproject/project.xml b/parsing.api/nbproject/project.xml
--- a/parsing.api/nbproject/project.xml
+++ b/parsing.api/nbproject/project.xml
@@ -37,8 +37,8 @@
- 1
- 2.6
+ 3
+ 3.0
diff --git a/parsing.lucene/nbproject/project.xml b/parsing.lucene/nbproject/project.xml
--- a/parsing.lucene/nbproject/project.xml
+++ b/parsing.lucene/nbproject/project.xml
@@ -19,8 +19,8 @@
- 1
- 2.13
+ 3
+ 3.0
diff --git a/parsing.lucene/src/org/netbeans/modules/parsing/lucene/DocumentIndexImpl.java b/parsing.lucene/src/org/netbeans/modules/parsing/lucene/DocumentIndexImpl.java
--- a/parsing.lucene/src/org/netbeans/modules/parsing/lucene/DocumentIndexImpl.java
+++ b/parsing.lucene/src/org/netbeans/modules/parsing/lucene/DocumentIndexImpl.java
@@ -256,7 +256,7 @@
}
}
- private Reference getDataRef() {
+ private Reference getDataRef() {
assert Thread.holdsLock(this);
if (toAdd.isEmpty() && toRemove.isEmpty()) {
assert dataRef == null;
diff --git a/parsing.lucene/src/org/netbeans/modules/parsing/lucene/IndexDocumentImpl.java b/parsing.lucene/src/org/netbeans/modules/parsing/lucene/IndexDocumentImpl.java
--- a/parsing.lucene/src/org/netbeans/modules/parsing/lucene/IndexDocumentImpl.java
+++ b/parsing.lucene/src/org/netbeans/modules/parsing/lucene/IndexDocumentImpl.java
@@ -76,7 +76,7 @@
@SuppressWarnings("deprecation") //NOI18N
final Field field = new Field (key, value,
stored ? Field.Store.YES : Field.Store.NO,
- searchable ? Field.Index.NO_NORMS : Field.Index.NO);
+ searchable ? Field.Index.NOT_ANALYZED_NO_NORMS : Field.Index.NO);
doc.add (field);
}
@@ -102,7 +102,7 @@
@SuppressWarnings("deprecation") //NOI18N
private static Fieldable sourceNameField(String relativePath) {
- return new Field(FIELD_PRIMARY_KEY, relativePath, Field.Store.YES, Field.Index.NO_NORMS);
+ return new Field(FIELD_PRIMARY_KEY, relativePath, Field.Store.YES, Field.Index.NOT_ANALYZED_NO_NORMS);
}
static Query sourceNameQuery(String relativePath) {
diff --git a/parsing.lucene/src/org/netbeans/modules/parsing/lucene/support/Queries.java b/parsing.lucene/src/org/netbeans/modules/parsing/lucene/support/Queries.java
--- a/parsing.lucene/src/org/netbeans/modules/parsing/lucene/support/Queries.java
+++ b/parsing.lucene/src/org/netbeans/modules/parsing/lucene/support/Queries.java
@@ -293,26 +293,6 @@
private TermCollector termCollector;
@Override
- public final BitSet bits(IndexReader reader) throws IOException {
- final FilteredTermEnum enumerator = getTermEnum(reader);
- try {
- final BitSet bitSet = new BitSet(reader.maxDoc());
- new DocumentVisitor() {
- @Override
- public void visit(Term term, int doc) {
- bitSet.set(doc);
- if (termCollector != null) {
- termCollector.add(doc, term);
- }
- }
- }.generate(reader, enumerator);
- return bitSet;
- } finally {
- enumerator.close();
- }
- }
-
- @Override
public final DocIdSet getDocIdSet(IndexReader reader) throws IOException {
final FilteredTermEnum enumerator = getTermEnum(reader);
try {