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(),