# NetBeans IDE HG Patch
# This patch file was generated by NetBeans IDE
# Following Index: paths are relative to: /work/src/netbeans-jm
# This patch can be applied using context Tools: Patch action on respective folder.
# It uses platform neutral UTF-8 encoding and \n newlines.
# Above lines and this line are ignored by the patching process.
Index: maven.indexer/manifest.mf
--- maven.indexer/manifest.mf
+++ maven.indexer/manifest.mf
@@ -1,6 +1,6 @@
Manifest-Version: 1.0
OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/indexer/Bundle.properties
AutoUpdate-Show-In-Client: false
-OpenIDE-Module-Specification-Version: 2.36
+OpenIDE-Module-Specification-Version: 2.37
OpenIDE-Module: org.netbeans.modules.maven.indexer/2
Index: maven.indexer/nbproject/project.properties
--- maven.indexer/nbproject/project.properties
+++ maven.indexer/nbproject/project.properties
@@ -40,7 +40,7 @@
test.config.stableBTD.includes=**/*Test.class
is.autoload=true
-javac.source=1.6
+javac.source=1.8
javac.compilerargs=-Xlint -Xlint:-serial
release.external/indexer-core-5.1.1-patched.jar=modules/ext/maven/indexer-core-5.1.1-patched.jar
release.external/indexer-artifact-5.1.1.jar=modules/ext/maven/indexer-artifact-5.1.1.jar
Index: maven.indexer/nbproject/project.xml
--- maven.indexer/nbproject/project.xml
+++ maven.indexer/nbproject/project.xml
@@ -186,6 +186,7 @@
org.apache.lucene.util.cache
org.netbeans.modules.maven.indexer.api
org.netbeans.modules.maven.indexer.api.ui
+ org.netbeans.modules.maven.indexer.spi
org.netbeans.modules.maven.indexer.spi.ui
org.netbeans.modules.maven.indexer.spi.impl
Index: maven.indexer/src/org/netbeans/modules/maven/indexer/NexusRepositoryIndexerImpl.java
--- maven.indexer/src/org/netbeans/modules/maven/indexer/NexusRepositoryIndexerImpl.java
+++ maven.indexer/src/org/netbeans/modules/maven/indexer/NexusRepositoryIndexerImpl.java
@@ -119,8 +119,8 @@
import org.netbeans.modules.maven.indexer.spi.ContextLoadedQuery;
import org.netbeans.modules.maven.indexer.spi.DependencyInfoQueries;
import org.netbeans.modules.maven.indexer.spi.GenericFindQuery;
-import org.netbeans.modules.maven.indexer.spi.Redo;
-import org.netbeans.modules.maven.indexer.spi.RepositoryIndexerImplementation;
+import org.netbeans.modules.maven.indexer.spi.impl.Redo;
+import org.netbeans.modules.maven.indexer.spi.impl.RepositoryIndexerImplementation;
import org.netbeans.modules.maven.indexer.spi.impl.IndexingNotificationProvider;
import org.openide.modules.Places;
import org.openide.util.BaseUtilities;
Index: maven.indexer/src/org/netbeans/modules/maven/indexer/OnStop.java
--- maven.indexer/src/org/netbeans/modules/maven/indexer/OnStop.java
+++ maven.indexer/src/org/netbeans/modules/maven/indexer/OnStop.java
@@ -44,7 +44,7 @@
import java.util.logging.Level;
import java.util.logging.Logger;
-import org.netbeans.modules.maven.indexer.spi.RepositoryIndexerImplementation;
+import org.netbeans.modules.maven.indexer.spi.impl.RepositoryIndexerImplementation;
import org.openide.util.Lookup;
@org.openide.modules.OnStop
Index: maven.indexer/src/org/netbeans/modules/maven/indexer/api/RepositoryIndexer.java
--- maven.indexer/src/org/netbeans/modules/maven/indexer/api/RepositoryIndexer.java
+++ maven.indexer/src/org/netbeans/modules/maven/indexer/api/RepositoryIndexer.java
@@ -44,7 +44,7 @@
import java.util.Collection;
import org.apache.maven.artifact.Artifact;
import org.netbeans.api.annotations.common.NonNull;
-import org.netbeans.modules.maven.indexer.spi.RepositoryIndexerImplementation;
+import org.netbeans.modules.maven.indexer.spi.impl.RepositoryIndexerImplementation;
import org.openide.util.Lookup;
/**
Index: maven.indexer/src/org/netbeans/modules/maven/indexer/api/RepositoryQueries.java
--- maven.indexer/src/org/netbeans/modules/maven/indexer/api/RepositoryQueries.java
+++ maven.indexer/src/org/netbeans/modules/maven/indexer/api/RepositoryQueries.java
@@ -42,6 +42,7 @@
package org.netbeans.modules.maven.indexer.api;
+import org.netbeans.modules.maven.indexer.spi.impl.Redo;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
@@ -71,23 +72,76 @@
/**
* query result set
+ * @param
* @since 2.9
*/
public final static class Result {
- private final List skipped = new ArrayList();
- private List results = new ArrayList();
- private final Redo redoAction;
- int totalResults = 0;
- int returnedResults = 0;
+ private final QueryResultImplementation impl;
/**
- * used internally by the repository indexing/searching engine(s)
+ * Creates a Result instance.
+ * @param impl
*/
- Result(Redo redo) {
- redoAction = redo;
+ public Result(QueryResultImplementation impl) {
+ this.impl = impl;
}
/**
+ * Returns true is one or more indexes were skipped, e.g. because the indexing was taking place.
+ * @return
+ */
+ public synchronized boolean isPartial() {
+ return impl.isPartial();
+ }
+
+ /**
+ * Waits for currently unaccessible indexes to finish, not to be called in AWT thread.
+ */
+ public void waitForSkipped() {
+ assert !ProjectIDEServices.isEventDispatchThread();
+ impl.waitForSkipped();
+ }
+
+ /**
+ * Returns a list of results
+ * @return
+ */
+ public synchronized List getResults() {
+ return impl.getResults();
+ }
+
+ /**
+ * Total number of hits
+ * @return
+ * @since 2.20
+ */
+ public int getTotalResultCount() {
+ return impl.getTotalResultCount();
+ }
+
+ /**
+ * in some cases not entirely accurate number of processed and returned hits, typically should be less or equals to totalResultCount
+ * @return
+ * @since 2.20
+ */
+ public int getReturnedResultCount() {
+ return impl.getReturnedResultCount();
+ }
+
+ ResultInternal getImpl() {
+ return (ResultInternal) impl;
+ }
+ }
+
+ private final static class ResultInternal implements QueryResultImplementation {
+ private final List skipped = new ArrayList();
+ private List results = new ArrayList();
+ private Runnable redoAction;
+
+ int totalResults = 0;
+ int returnedResults = 0;
+
+ /**
* returns true is one or more indexes were skipped, eg because the indexing was taking place.
* @return
*/
@@ -106,8 +160,9 @@
* waits for currently unaccessible indexes to finish, not to be called in AWT thread.
*/
public void waitForSkipped() {
- assert !ProjectIDEServices.isEventDispatchThread();
- redoAction.run(this);
+ if(redoAction != null) {
+ redoAction.run();
+ }
synchronized (this) {
skipped.clear();
}
@@ -161,82 +216,87 @@
returnedResults = returnedResults + moreReturnedResults;
}
-
-
+ void setRedoAction(Runnable redoAction) {
+ this.redoAction = redoAction;
}
+ }
-
static {
new AccessorImpl();
}
-
-
static class AccessorImpl extends NexusRepositoryIndexerImpl.Accessor {
@Override
public void addSkipped(Result> result, Collection infos) {
- result.addSkipped(infos);
+ result.getImpl().addSkipped(infos);
}
@Override
public List getSkipped(Result> result) {
- return result.getSkipped();
+ return result.getImpl().getSkipped();
}
@Override
public void addSkipped(Result> result, RepositoryInfo info) {
- result.addSkipped(info);
+ result.getImpl().addSkipped(info);
}
@Override
public Result createStringResult(Redo redo) {
- return new Result(redo);
+ return createResult(redo);
}
+ protected static Result createResult(final Redo redo) {
+ ResultInternal