Allow watching specific branches or any other search query

Any valid search string is now a valid filter expression or a
watched project.  The only operator not supported here is the
is:watched operator, because that creates a recursive call that
would never succeed.

The change turned out far bigger than it should be due to the request
scope requirement for the query builder.  We had to rearrange a lot
of code to ensure we always have the request scope available in order
to construct a query builder and execute the filter expressions.

Bug: issue 492
Change-Id: I199d9b215e000c049279cd8e86e7a36386fee0fb
Signed-off-by: Shawn O. Pearce <sop@google.com>
This commit is contained in:
Shawn O. Pearce
2010-07-19 16:15:08 -07:00
parent 14760b7c0e
commit 0f42fc05a4
46 changed files with 908 additions and 434 deletions

View File

@@ -34,15 +34,14 @@ public class ReplacePatchSetSender extends ReplyToChangeSender {
public ReplacePatchSetSender create(Change change);
}
@Inject
private SshInfo sshInfo;
private final Set<Account.Id> reviewers = new HashSet<Account.Id>();
private final Set<Account.Id> extraCC = new HashSet<Account.Id>();
private final SshInfo sshInfo;
@Inject
public ReplacePatchSetSender(@Assisted Change c) {
super(c, "newpatchset");
public ReplacePatchSetSender(EmailArguments ea, SshInfo si, @Assisted Change c) {
super(ea, c, "newpatchset");
sshInfo = si;
}
public void addReviewers(final Collection<Account.Id> cc) {