--- m2e-maven-runtime/org.eclipse.m2e.maven.indexer/src/main/java/org/apache/maven/index/DefaultIndexerEngine.java
+++ m2e-maven-runtime/org.eclipse.m2e.maven.indexer/src/main/java/org/apache/maven/index/DefaultIndexerEngine.java
@@ -25,7 +25,9 @@ import java.util.Set;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
-import org.apache.lucene.document.Fieldable;
+import org.apache.lucene.document.StringField;
+import org.apache.lucene.index.IndexableField;
+import org.apache.lucene.index.IndexableFieldType;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.IndexSearcher;
@@ -112,10 +113,9 @@ public class DefaultIndexerEngine
{
final HashMap<String, String> result = new HashMap<String, String>();
- for ( Object o : d.getFields() )
+ for ( IndexableField f : d.getFields() )
{
- Fieldable f = (Fieldable) o;
- if ( f.isStored() )
+ if ( f.fieldType().stored() )
{
result.put( f.name(), f.stringValue() );
}
@@ -172,9 +172,9 @@
String uinfo = ac.getArtifactInfo().getUinfo();
// add artifact deletion marker
Document doc = new Document();
- doc.add( new Field( ArtifactInfo.DELETED, uinfo, Field.Store.YES, Field.Index.NO ) );
- doc.add( new Field( ArtifactInfo.LAST_MODIFIED, //
- Long.toString( System.currentTimeMillis() ), Field.Store.YES, Field.Index.NO ) );
+ doc.add( new StringField( ArtifactInfo.DELETED, uinfo, Field.Store.YES ) );
+ doc.add( new StringField( ArtifactInfo.LAST_MODIFIED, //
+ Long.toString( System.currentTimeMillis() ), Field.Store.YES ) );
IndexWriter w = context.getIndexWriter();
w.addDocument( doc );
w.deleteDocuments( new Term( ArtifactInfo.UINFO, uinfo ) );
--- org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/util/ProposalUtil.java
+++ org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/util/ProposalUtil.java
@@ -31,7 +31,7 @@ import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.fieldassist.ContentAssistCommandAdapter;
-import org.apache.lucene.queryParser.QueryParser;
+import org.apache.lucene.queryparser.classic.QueryParser;
import org.apache.maven.project.MavenProject;
--- org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/NexusIndex.java.orig 2017-06-28 00:02:40.142038423 +0100
+++ org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/NexusIndex.java 2017-06-28 00:08:18.822265593 +0100
@@ -105,7 +105,7 @@
public Collection<IndexedArtifact> find(Collection<SearchExpression> groupId,
Collection<SearchExpression> artifactId, Collection<SearchExpression> version,
Collection<SearchExpression> packaging) throws CoreException {
- BooleanQuery query = new BooleanQuery();
+ BooleanQuery.Builder query = new BooleanQuery.Builder();
addQueryFromSearchExpressionCollection(query, MAVEN.PACKAGING, packaging);
@@ -115,18 +115,18 @@
addQueryFromSearchExpressionCollection(query, MAVEN.VERSION, version);
- return indexManager.search(repository, query).values();
+ return indexManager.search(repository, query.build()).values();
}
- private void addQueryFromSearchExpressionCollection(final BooleanQuery query, final Field field,
+ private void addQueryFromSearchExpressionCollection(final BooleanQuery.Builder query, final Field field,
final Collection<SearchExpression> sec) {
if(sec != null && !sec.isEmpty()) {
if(sec.size() > 1) {
- BooleanQuery q = new BooleanQuery();
+ BooleanQuery.Builder q = new BooleanQuery.Builder();
for(SearchExpression se : sec) {
q.add(indexManager.constructQuery(field, se), Occur.SHOULD);
}
- query.add(q, Occur.MUST);
+ query.add(q.build(), Occur.MUST);
} else {
query.add(indexManager.constructQuery(field, sec.iterator().next()), Occur.MUST);
}
--- org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/NexusIndexManager.java.orig 2017-06-28 00:40:07.535993939 +0100
+++ org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/index/nexus/NexusIndexManager.java 2017-06-28 00:46:54.056462138 +0100
@@ -52,9 +52,7 @@
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.BooleanClause.Occur;
import org.apache.lucene.search.BooleanQuery;
-import org.apache.lucene.search.FilteredQuery;
import org.apache.lucene.search.Query;
-import org.apache.lucene.search.QueryWrapperFilter;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
@@ -228,7 +226,7 @@
public IndexedArtifactFile getIndexedArtifactFile(IRepository repository, ArtifactKey gav) throws CoreException {
try {
- BooleanQuery query = new BooleanQuery();
+ BooleanQuery.Builder query = new BooleanQuery.Builder();
query.add(constructQuery(MAVEN.GROUP_ID, gav.getGroupId(), SearchType.EXACT), BooleanClause.Occur.MUST);
query.add(constructQuery(MAVEN.ARTIFACT_ID, gav.getArtifactId(), SearchType.EXACT), BooleanClause.Occur.MUST);
query.add(constructQuery(MAVEN.VERSION, gav.getVersion(), SearchType.EXACT), BooleanClause.Occur.MUST);
@@ -238,7 +236,7 @@
}
synchronized(getIndexLock(repository)) {
- Collection<ArtifactInfo> artifactInfo = getIndexer().identify(query,
+ Collection<ArtifactInfo> artifactInfo = getIndexer().identify(query.build(),
Collections.singleton(getIndexingContext(repository)));
if(artifactInfo != null && !artifactInfo.isEmpty()) {
return getIndexedArtifactFile((ArtifactInfo) artifactInfo.toArray()[0]);
@@ -342,7 +340,7 @@
return search(null, term, type, classifier);
}
- private void addClassifiersToQuery(BooleanQuery bq, int classifier) {
+ private void addClassifiersToQuery(BooleanQuery.Builder bq, int classifier) {
boolean includeJavaDocs = (classifier & IIndex.SEARCH_JAVADOCS) > 0;
Query tq = null;
if(!includeJavaDocs) {
@@ -373,46 +371,55 @@
// query = new TermQuery(new Term(ArtifactInfo.GROUP_ID, term));
// query = new PrefixQuery(new Term(ArtifactInfo.GROUP_ID, term));
} else if(IIndex.SEARCH_ARTIFACT.equals(type)) {
- BooleanQuery bq = new BooleanQuery();
+ BooleanQuery.Builder bq = new BooleanQuery.Builder();
bq.add(constructQuery(MAVEN.GROUP_ID, term), Occur.SHOULD); //$NON-NLS-1$
bq.add(constructQuery(MAVEN.ARTIFACT_ID, term), Occur.SHOULD); //$NON-NLS-1$
bq.add(
constructQuery(MAVEN.SHA1, term.getStringValue(), term.getStringValue().length() == 40 ? SearchType.EXACT
: SearchType.SCORED), Occur.SHOULD);
addClassifiersToQuery(bq, classifier);
- query = bq;
+ query = bq.build();
} else if(IIndex.SEARCH_PARENTS.equals(type)) {
if(term == null) {
query = constructQuery(MAVEN.PACKAGING, "pom", SearchType.EXACT); //$NON-NLS-1$
} else {
- BooleanQuery bq = new BooleanQuery();
+ BooleanQuery.Builder bq = new BooleanQuery.Builder();
bq.add(constructQuery(MAVEN.GROUP_ID, term), Occur.SHOULD); //$NON-NLS-1$
bq.add(constructQuery(MAVEN.ARTIFACT_ID, term), Occur.SHOULD); //$NON-NLS-1$
bq.add(
constructQuery(MAVEN.SHA1, term.getStringValue(), term.getStringValue().length() == 40 ? SearchType.EXACT
: SearchType.SCORED), Occur.SHOULD);
Query tq = constructQuery(MAVEN.PACKAGING, "pom", SearchType.EXACT); //$NON-NLS-1$
- query = new FilteredQuery(tq, new QueryWrapperFilter(bq));
+ BooleanQuery.Builder builder = new BooleanQuery.Builder();
+ builder.add(bq.build(), Occur.MUST);
+ builder.add(tq, Occur.FILTER);
+ query = builder.build();
}
} else if(IIndex.SEARCH_PLUGIN.equals(type)) {
if(term == null) {
query = constructQuery(MAVEN.PACKAGING, "maven-plugin", SearchType.EXACT); //$NON-NLS-1$
} else {
- BooleanQuery bq = new BooleanQuery();
+ BooleanQuery.Builder bq = new BooleanQuery.Builder();
bq.add(constructQuery(MAVEN.GROUP_ID, term), Occur.SHOULD); //$NON-NLS-1$
bq.add(constructQuery(MAVEN.ARTIFACT_ID, term), Occur.SHOULD); //$NON-NLS-1$
Query tq = constructQuery(MAVEN.PACKAGING, "maven-plugin", SearchType.EXACT); //$NON-NLS-1$
- query = new FilteredQuery(tq, new QueryWrapperFilter(bq));
+ BooleanQuery.Builder builder = new BooleanQuery.Builder();
+ builder.add(bq.build(), Occur.MUST);
+ builder.add(tq, Occur.FILTER);
+ query = builder.build();
}
} else if(IIndex.SEARCH_ARCHETYPE.equals(type)) {
- BooleanQuery bq = new BooleanQuery();
+ BooleanQuery.Builder bq = new BooleanQuery.Builder();
bq.add(constructQuery(MAVEN.GROUP_ID, term), Occur.SHOULD); //$NON-NLS-1$
bq.add(constructQuery(MAVEN.ARTIFACT_ID, term), Occur.SHOULD); //$NON-NLS-1$
Query tq = constructQuery(MAVEN.PACKAGING, "maven-archetype", SearchType.EXACT); //$NON-NLS-1$
- query = new FilteredQuery(tq, new QueryWrapperFilter(bq));
+ BooleanQuery.Builder builder = new BooleanQuery.Builder();
+ builder.add(bq.build(), Occur.MUST);
+ builder.add(tq, Occur.FILTER);
+ query = builder.build();
} else if(IIndex.SEARCH_PACKAGING.equals(type)) {
query = constructQuery(MAVEN.PACKAGING, term);
@@ -837,7 +844,7 @@
}
protected Directory getIndexDirectory(IRepository repository) throws IOException {
- return FSDirectory.open(getIndexDirectoryFile(repository));
+ return FSDirectory.open(getIndexDirectoryFile(repository).toPath());
}
public IndexedArtifactGroup resolveGroup(IndexedArtifactGroup group) {
@@ -1126,7 +1133,7 @@
String details = getIndexDetails(repository);
String id = repository.getUid() + "-cache"; //$NON-NLS-1$
File luceneCache = new File(request.getLocalIndexCacheDir(), details);
- Directory directory = FSDirectory.open(luceneCache);
+ Directory directory = FSDirectory.open(luceneCache.toPath());
IndexingContext cacheCtx = getIndexer().addIndexingContextForced(id, id, null, directory, null, null,
getIndexers(details));
request = newIndexUpdateRequest(repository, cacheCtx, monitor);