Ensure query processor is one-time-use
Change-Id: I3501c47d1db1e48c9c070a4d760cd0ce235622e7
diff --git a/src/main/java/com/googlesource/gerrit/plugins/singleusergroup/SingleUserGroup.java b/src/main/java/com/googlesource/gerrit/plugins/singleusergroup/SingleUserGroup.java
index 6084e6e..565e255 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/singleusergroup/SingleUserGroup.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/singleusergroup/SingleUserGroup.java
@@ -41,6 +41,7 @@
import com.google.gwtorm.server.OrmException;
import com.google.inject.AbstractModule;
import com.google.inject.Inject;
+import com.google.inject.Provider;
import com.google.inject.Singleton;
import java.util.Collection;
import java.util.Collections;
@@ -72,16 +73,16 @@
private final AccountCache accountCache;
private final AccountQueryBuilder queryBuilder;
- private final AccountQueryProcessor queryProcessor;
+ private final Provider<AccountQueryProcessor> queryProvider;
@Inject
SingleUserGroup(
AccountCache accountCache,
AccountQueryBuilder queryBuilder,
- AccountQueryProcessor queryProcessor) {
+ Provider<AccountQueryProcessor> queryProvider) {
this.accountCache = accountCache;
this.queryBuilder = queryBuilder;
- this.queryProcessor = queryProcessor;
+ this.queryProvider = queryProvider;
}
@Override
@@ -144,7 +145,8 @@
public Collection<GroupReference> suggest(String name, @Nullable ProjectControl project) {
try {
return Lists.transform(
- queryProcessor
+ queryProvider
+ .get()
.setLimit(MAX)
.query(AccountPredicates.andActive(queryBuilder.defaultQuery(name)))
.entities(),