Make query parser and rewriter request scoped
Because these need access to the CurrentUser in order to implement the is:starred or is:visible operators they need to be request scope and obtained on demand. Change-Id: Id9f677744c6201176455b15320b8ce45edd75504 Signed-off-by: Shawn O. Pearce <sop@google.com>
This commit is contained in:
@@ -28,6 +28,8 @@ import com.google.gerrit.server.mail.ReplacePatchSetSender;
|
||||
import com.google.gerrit.server.patch.PublishComments;
|
||||
import com.google.gerrit.server.project.ChangeControl;
|
||||
import com.google.gerrit.server.project.ProjectControl;
|
||||
import com.google.gerrit.server.query.change.ChangeQueryBuilder;
|
||||
import com.google.gerrit.server.query.change.ChangeQueryRewriter;
|
||||
import com.google.inject.servlet.RequestScoped;
|
||||
|
||||
/** Bindings for {@link RequestScoped} entities. */
|
||||
@@ -39,6 +41,8 @@ public class GerritRequestModule extends FactoryModule {
|
||||
RequestScoped.class);
|
||||
bind(IdentifiedUser.RequestFactory.class).in(SINGLETON);
|
||||
bind(AccountResolver.class);
|
||||
bind(ChangeQueryBuilder.class);
|
||||
bind(ChangeQueryRewriter.class);
|
||||
|
||||
bind(ChangeControl.Factory.class).in(SINGLETON);
|
||||
bind(GroupControl.Factory.class).in(SINGLETON);
|
||||
|
||||
@@ -35,6 +35,7 @@ import com.google.gerrit.server.query.QueryParseException;
|
||||
import com.google.gwtorm.client.OrmException;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Provider;
|
||||
import com.google.inject.servlet.RequestScoped;
|
||||
|
||||
import org.eclipse.jgit.lib.AbbreviatedObjectId;
|
||||
|
||||
@@ -45,6 +46,7 @@ import java.util.regex.Pattern;
|
||||
/**
|
||||
* Parses a query string meant to be applied to change objects.
|
||||
*/
|
||||
@RequestScoped
|
||||
public class ChangeQueryBuilder extends QueryBuilder<ChangeData> {
|
||||
private static final Pattern PAT_LEGACY_ID = Pattern.compile("^[1-9][0-9]*$");
|
||||
private static final Pattern PAT_CHANGE_ID =
|
||||
|
||||
@@ -28,9 +28,11 @@ import com.google.inject.Inject;
|
||||
import com.google.inject.OutOfScopeException;
|
||||
import com.google.inject.Provider;
|
||||
import com.google.inject.name.Named;
|
||||
import com.google.inject.servlet.RequestScoped;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
@RequestScoped
|
||||
public class ChangeQueryRewriter extends QueryRewriter<ChangeData> {
|
||||
private static final QueryRewriter.Definition<ChangeData, ChangeQueryRewriter> mydef =
|
||||
new QueryRewriter.Definition<ChangeData, ChangeQueryRewriter>(
|
||||
|
||||
Reference in New Issue
Block a user