Skip to content

Commit 0618246

Browse files
committed
Respect exclusivity wishes of searchers
1 parent cbccf85 commit 0618246

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

src/main/java/org/scijava/search/DefaultSearchOperation.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
package org.scijava.search;
33

44
import java.util.ArrayList;
5+
import java.util.Collections;
56
import java.util.List;
7+
import java.util.Optional;
68

79
import org.scijava.Context;
810
import org.scijava.log.LogService;
@@ -88,7 +90,15 @@ public void terminate() {
8890
// -- Helper methods --
8991

9092
private List<Searcher> searchers() {
91-
return pluginService.createInstancesOfType(Searcher.class);
93+
final List<Searcher> searchers = //
94+
pluginService.createInstancesOfType(Searcher.class);
95+
96+
// Check for a searcher that wants exclusive rights.
97+
final Optional<Searcher> exclusive = searchers.stream().filter(
98+
searcher -> searcher.exclusive(query)).findFirst();
99+
100+
return exclusive.isPresent() ? //
101+
Collections.singletonList(exclusive.get()) : searchers;
92102
}
93103

94104
private void cancelCurrentSearches() {

0 commit comments

Comments
 (0)