Fire events with Account rather than Account.Id
In all cases, the Account.Id is only used to fetch an Account from the AccountCache. Since the Account is already available at all call sites, just pass that instead and avoid the cache lookup. As a result, EventUtil#accountInfo(Account.Id) is no longer used and it's no longer necessary for EventUtil to get AccountCache injected. Change-Id: Ie393f194e589d1ba5fad2562d86c77d7ed088774 Signed-off-by: David Pursehouse <dpursehouse@collab.net>
This commit is contained in:
@@ -406,7 +406,7 @@ public class ChangeInserter extends BatchUpdate.InsertChangeOp {
|
||||
* show a transition from an oldValue of 0 to the new value.
|
||||
*/
|
||||
if (fireRevisionCreated) {
|
||||
revisionCreated.fire(change, patchSet, ctx.getAccountId(),
|
||||
revisionCreated.fire(change, patchSet, ctx.getAccount(),
|
||||
ctx.getWhen(), notify);
|
||||
if (approvals != null && !approvals.isEmpty()) {
|
||||
ChangeControl changeControl = changeControlFactory.controlFor(
|
||||
|
||||
@@ -277,7 +277,7 @@ public class PatchSetInserter extends BatchUpdate.Op {
|
||||
? NotifyHandling.ALL
|
||||
: NotifyHandling.NONE;
|
||||
if (fireRevisionCreated) {
|
||||
revisionCreated.fire(change, patchSet, ctx.getAccountId(),
|
||||
revisionCreated.fire(change, patchSet, ctx.getAccount(),
|
||||
ctx.getWhen(), notify);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -223,7 +223,7 @@ public class PublishDraftPatchSet implements RestModifyView<RevisionResource, In
|
||||
|
||||
@Override
|
||||
public void postUpdate(Context ctx) throws OrmException {
|
||||
draftPublished.fire(change, patchSet, ctx.getAccountId(),
|
||||
draftPublished.fire(change, patchSet, ctx.getAccount(),
|
||||
ctx.getWhen());
|
||||
if (patchSet.isDraft() && change.getStatus() == Change.Status.DRAFT) {
|
||||
// Skip emails if the patch set is still a draft.
|
||||
|
||||
@@ -166,7 +166,7 @@ public class SetHashtagsOp extends BatchUpdate.Op {
|
||||
@Override
|
||||
public void postUpdate(Context ctx) throws OrmException {
|
||||
if (updated() && fireEvent) {
|
||||
hashtagsEdited.fire(change, ctx.getAccountId(), updatedHashtags,
|
||||
hashtagsEdited.fire(change, ctx.getAccount(), updatedHashtags,
|
||||
toAdd, toRemove, ctx.getWhen());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ public class DraftPublished {
|
||||
}
|
||||
}
|
||||
|
||||
public void fire(Change change, PatchSet patchSet, Account.Id accountId,
|
||||
public void fire(Change change, PatchSet patchSet, Account accountId,
|
||||
Timestamp when) {
|
||||
try {
|
||||
fire(util.changeInfo(change),
|
||||
|
||||
@@ -25,7 +25,6 @@ import com.google.gerrit.reviewdb.client.PatchSet;
|
||||
import com.google.gerrit.reviewdb.client.Project;
|
||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||
import com.google.gerrit.server.GpgException;
|
||||
import com.google.gerrit.server.account.AccountCache;
|
||||
import com.google.gerrit.server.change.ChangeJson;
|
||||
import com.google.gerrit.server.patch.PatchListNotAvailableException;
|
||||
import com.google.gerrit.server.project.ChangeControl;
|
||||
@@ -47,18 +46,15 @@ public class EventUtil {
|
||||
private final ChangeData.Factory changeDataFactory;
|
||||
private final Provider<ReviewDb> db;
|
||||
private final ChangeJson changeJson;
|
||||
private final AccountCache accountCache;
|
||||
|
||||
@Inject
|
||||
EventUtil(ChangeJson.Factory changeJsonFactory,
|
||||
ChangeData.Factory changeDataFactory,
|
||||
Provider<ReviewDb> db,
|
||||
AccountCache accountCache) {
|
||||
Provider<ReviewDb> db) {
|
||||
this.changeDataFactory = changeDataFactory;
|
||||
this.db = db;
|
||||
this.changeJson = changeJsonFactory.create(
|
||||
EnumSet.allOf(ListChangesOption.class));
|
||||
this.accountCache = accountCache;
|
||||
}
|
||||
|
||||
public ChangeInfo changeInfo(Change change) throws OrmException {
|
||||
@@ -91,10 +87,6 @@ public class EventUtil {
|
||||
return ai;
|
||||
}
|
||||
|
||||
public AccountInfo accountInfo(Account.Id accountId) {
|
||||
return accountInfo(accountCache.get(accountId).getAccount());
|
||||
}
|
||||
|
||||
public Map<String, ApprovalInfo> approvals(Account a,
|
||||
Map<String, Short> approvals, Timestamp ts) {
|
||||
Map<String, ApprovalInfo> result = new HashMap<>();
|
||||
|
||||
@@ -38,10 +38,6 @@ public class GitReferenceUpdated {
|
||||
public void fire(Project.NameKey project, RefUpdate refUpdate,
|
||||
ReceiveCommand.Type type, Account updater) {}
|
||||
|
||||
@Override
|
||||
public void fire(Project.NameKey project, RefUpdate refUpdate,
|
||||
ReceiveCommand.Type type, Account.Id updater) {}
|
||||
|
||||
@Override
|
||||
public void fire(Project.NameKey project, RefUpdate refUpdate,
|
||||
Account updater) {}
|
||||
@@ -60,7 +56,7 @@ public class GitReferenceUpdated {
|
||||
|
||||
@Override
|
||||
public void fire(Project.NameKey project, BatchRefUpdate batchRefUpdate,
|
||||
Account.Id updater) {}
|
||||
Account updater) {}
|
||||
};
|
||||
|
||||
private final DynamicSet<GitReferenceUpdatedListener> listeners;
|
||||
@@ -84,12 +80,6 @@ public class GitReferenceUpdated {
|
||||
refUpdate.getNewObjectId(), type, util.accountInfo(updater));
|
||||
}
|
||||
|
||||
public void fire(Project.NameKey project, RefUpdate refUpdate,
|
||||
ReceiveCommand.Type type, Account.Id updater) {
|
||||
fire(project, refUpdate.getName(), refUpdate.getOldObjectId(),
|
||||
refUpdate.getNewObjectId(), type, util.accountInfo(updater));
|
||||
}
|
||||
|
||||
public void fire(Project.NameKey project, RefUpdate refUpdate,
|
||||
Account updater) {
|
||||
fire(project, refUpdate.getName(), refUpdate.getOldObjectId(),
|
||||
@@ -115,7 +105,7 @@ public class GitReferenceUpdated {
|
||||
}
|
||||
|
||||
public void fire(Project.NameKey project, BatchRefUpdate batchRefUpdate,
|
||||
Account.Id updater) {
|
||||
Account updater) {
|
||||
if (!listeners.iterator().hasNext()) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ import com.google.gerrit.extensions.common.AccountInfo;
|
||||
import com.google.gerrit.extensions.common.ChangeInfo;
|
||||
import com.google.gerrit.extensions.events.HashtagsEditedListener;
|
||||
import com.google.gerrit.extensions.registration.DynamicSet;
|
||||
import com.google.gerrit.reviewdb.client.Account.Id;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.client.Change;
|
||||
import com.google.gwtorm.server.OrmException;
|
||||
import com.google.inject.Inject;
|
||||
@@ -59,7 +59,7 @@ public class HashtagsEdited {
|
||||
}
|
||||
}
|
||||
|
||||
public void fire(Change change, Id accountId,
|
||||
public void fire(Change change, Account account,
|
||||
ImmutableSortedSet<String> hashtags, Set<String> added,
|
||||
Set<String> removed, Timestamp when) {
|
||||
if (!listeners.iterator().hasNext()) {
|
||||
@@ -67,7 +67,7 @@ public class HashtagsEdited {
|
||||
}
|
||||
try {
|
||||
fire(util.changeInfo(change),
|
||||
util.accountInfo(accountId),
|
||||
util.accountInfo(account),
|
||||
hashtags, added, removed,
|
||||
when);
|
||||
} catch (OrmException e) {
|
||||
|
||||
@@ -60,7 +60,7 @@ public class RevisionCreated {
|
||||
}
|
||||
}
|
||||
|
||||
public void fire(Change change, PatchSet patchSet, Account.Id uploader,
|
||||
public void fire(Change change, PatchSet patchSet, Account uploader,
|
||||
Timestamp when, NotifyHandling notify) {
|
||||
if (!listeners.iterator().hasNext()) {
|
||||
return;
|
||||
|
||||
@@ -442,7 +442,9 @@ public class BatchUpdate implements AutoCloseable {
|
||||
u.gitRefUpdated.fire(
|
||||
u.project,
|
||||
u.batchRefUpdate,
|
||||
u.getUser().isIdentifiedUser() ? u.getUser().getAccountId() : null);
|
||||
u.getUser().isIdentifiedUser()
|
||||
? u.getUser().asIdentifiedUser().getAccount()
|
||||
: null);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -407,7 +407,7 @@ public class ReplaceOp extends BatchUpdate.Op {
|
||||
NotifyHandling notify = magicBranch != null && magicBranch.notify != null
|
||||
? magicBranch.notify
|
||||
: NotifyHandling.ALL;
|
||||
revisionCreated.fire(change, newPatchSet, ctx.getAccountId(),
|
||||
revisionCreated.fire(change, newPatchSet, ctx.getAccount(),
|
||||
ctx.getWhen(), notify);
|
||||
try {
|
||||
fireCommentAddedEvent(ctx);
|
||||
|
||||
@@ -355,7 +355,7 @@ public class CreateProject implements RestModifyView<TopLevelResource, ProjectIn
|
||||
switch (result) {
|
||||
case NEW:
|
||||
referenceUpdated.fire(project, ru, ReceiveCommand.Type.CREATE,
|
||||
identifiedUser.get().getAccountId());
|
||||
identifiedUser.get().getAccount());
|
||||
break;
|
||||
case FAST_FORWARD:
|
||||
case FORCED:
|
||||
|
||||
Reference in New Issue
Block a user