Remove ChangeControl from ChangeUpdate and migrate callers

Change-Id: Id189e2ed5049a96adc15302aa475cf9e0289e3e5
This commit is contained in:
Patrick Hiesel
2017-09-14 15:50:39 +02:00
parent d68cdd4391
commit a91dd93c40
7 changed files with 47 additions and 74 deletions

View File

@@ -63,7 +63,6 @@ import com.google.gerrit.server.notedb.NoteDbChangeState;
import com.google.gerrit.server.notedb.NoteDbChangeState.PrimaryStorage; import com.google.gerrit.server.notedb.NoteDbChangeState.PrimaryStorage;
import com.google.gerrit.server.notedb.PrimaryStorageMigrator; import com.google.gerrit.server.notedb.PrimaryStorageMigrator;
import com.google.gerrit.server.notedb.TestChangeRebuilderWrapper; import com.google.gerrit.server.notedb.TestChangeRebuilderWrapper;
import com.google.gerrit.server.project.ChangeControl;
import com.google.gerrit.server.update.RetryHelper; import com.google.gerrit.server.update.RetryHelper;
import com.google.gerrit.testutil.ConfigSuite; import com.google.gerrit.testutil.ConfigSuite;
import com.google.gerrit.testutil.NoteDbMode; import com.google.gerrit.testutil.NoteDbMode;
@@ -101,7 +100,7 @@ public class NoteDbPrimaryIT extends AbstractDaemonTest {
@Inject private ChangeBundleReader bundleReader; @Inject private ChangeBundleReader bundleReader;
@Inject private CommentsUtil commentsUtil; @Inject private CommentsUtil commentsUtil;
@Inject private TestChangeRebuilderWrapper rebuilderWrapper; @Inject private TestChangeRebuilderWrapper rebuilderWrapper;
@Inject private ChangeControl.GenericFactory changeControlFactory; @Inject private ChangeNotes.Factory changeNotesFactory;
@Inject private ChangeUpdate.Factory updateFactory; @Inject private ChangeUpdate.Factory updateFactory;
@Inject private InternalUser.Factory internalUserFactory; @Inject private InternalUser.Factory internalUserFactory;
@Inject private RetryHelper retryHelper; @Inject private RetryHelper retryHelper;
@@ -125,7 +124,7 @@ public class NoteDbPrimaryIT extends AbstractDaemonTest {
allUsers, allUsers,
rebuilderWrapper, rebuilderWrapper,
ensureRebuiltRetryer, ensureRebuiltRetryer,
changeControlFactory, changeNotesFactory,
queryProvider, queryProvider,
updateFactory, updateFactory,
internalUserFactory, internalUserFactory,

View File

@@ -26,7 +26,6 @@ import com.google.gerrit.reviewdb.client.Project;
import com.google.gerrit.server.CurrentUser; import com.google.gerrit.server.CurrentUser;
import com.google.gerrit.server.IdentifiedUser; import com.google.gerrit.server.IdentifiedUser;
import com.google.gerrit.server.InternalUser; import com.google.gerrit.server.InternalUser;
import com.google.gerrit.server.project.ChangeControl;
import com.google.gwtorm.server.OrmException; import com.google.gwtorm.server.OrmException;
import java.io.IOException; import java.io.IOException;
import java.sql.Timestamp; import java.sql.Timestamp;
@@ -62,7 +61,8 @@ public abstract class AbstractChangeUpdate {
protected AbstractChangeUpdate( protected AbstractChangeUpdate(
Config cfg, Config cfg,
NotesMigration migration, NotesMigration migration,
ChangeControl ctl, ChangeNotes notes,
CurrentUser user,
PersonIdent serverIdent, PersonIdent serverIdent,
String anonymousCowardName, String anonymousCowardName,
ChangeNoteUtil noteUtil, ChangeNoteUtil noteUtil,
@@ -71,12 +71,12 @@ public abstract class AbstractChangeUpdate {
this.noteUtil = noteUtil; this.noteUtil = noteUtil;
this.serverIdent = new PersonIdent(serverIdent, when); this.serverIdent = new PersonIdent(serverIdent, when);
this.anonymousCowardName = anonymousCowardName; this.anonymousCowardName = anonymousCowardName;
this.notes = ctl.getNotes(); this.notes = notes;
this.change = notes.getChange(); this.change = notes.getChange();
this.accountId = accountId(ctl.getUser()); this.accountId = accountId(user);
Account.Id realAccountId = accountId(ctl.getUser().getRealUser()); Account.Id realAccountId = accountId(user.getRealUser());
this.realAccountId = realAccountId != null ? realAccountId : accountId; this.realAccountId = realAccountId != null ? realAccountId : accountId;
this.authorIdent = ident(noteUtil, serverIdent, anonymousCowardName, ctl.getUser(), when); this.authorIdent = ident(noteUtil, serverIdent, anonymousCowardName, user, when);
this.when = when; this.when = when;
this.readOnlySkewMs = NoteDbChangeState.getReadOnlySkew(cfg); this.readOnlySkewMs = NoteDbChangeState.getReadOnlySkew(cfg);
} }

View File

@@ -59,12 +59,12 @@ import com.google.gerrit.reviewdb.client.PatchLineComment;
import com.google.gerrit.reviewdb.client.Project; import com.google.gerrit.reviewdb.client.Project;
import com.google.gerrit.reviewdb.client.RevId; import com.google.gerrit.reviewdb.client.RevId;
import com.google.gerrit.reviewdb.client.RobotComment; import com.google.gerrit.reviewdb.client.RobotComment;
import com.google.gerrit.server.CurrentUser;
import com.google.gerrit.server.GerritPersonIdent; import com.google.gerrit.server.GerritPersonIdent;
import com.google.gerrit.server.account.AccountCache; import com.google.gerrit.server.account.AccountCache;
import com.google.gerrit.server.config.AnonymousCowardName; import com.google.gerrit.server.config.AnonymousCowardName;
import com.google.gerrit.server.config.GerritServerConfig; import com.google.gerrit.server.config.GerritServerConfig;
import com.google.gerrit.server.mail.Address; import com.google.gerrit.server.mail.Address;
import com.google.gerrit.server.project.ChangeControl;
import com.google.gerrit.server.project.ProjectCache; import com.google.gerrit.server.project.ProjectCache;
import com.google.gerrit.server.util.LabelVote; import com.google.gerrit.server.util.LabelVote;
import com.google.gerrit.server.util.RequestId; import com.google.gerrit.server.util.RequestId;
@@ -108,9 +108,9 @@ import org.eclipse.jgit.revwalk.RevWalk;
*/ */
public class ChangeUpdate extends AbstractChangeUpdate { public class ChangeUpdate extends AbstractChangeUpdate {
public interface Factory { public interface Factory {
ChangeUpdate create(ChangeControl ctl); ChangeUpdate create(ChangeNotes notes, CurrentUser user);
ChangeUpdate create(ChangeControl ctl, Date when); ChangeUpdate create(ChangeNotes notes, CurrentUser user, Date when);
ChangeUpdate create( ChangeUpdate create(
Change change, Change change,
@@ -121,7 +121,8 @@ public class ChangeUpdate extends AbstractChangeUpdate {
Comparator<String> labelNameComparator); Comparator<String> labelNameComparator);
@VisibleForTesting @VisibleForTesting
ChangeUpdate create(ChangeControl ctl, Date when, Comparator<String> labelNameComparator); ChangeUpdate create(
ChangeNotes notes, CurrentUser user, Date when, Comparator<String> labelNameComparator);
} }
private final AccountCache accountCache; private final AccountCache accountCache;
@@ -175,7 +176,8 @@ public class ChangeUpdate extends AbstractChangeUpdate {
RobotCommentUpdate.Factory robotCommentUpdateFactory, RobotCommentUpdate.Factory robotCommentUpdateFactory,
DeleteCommentRewriter.Factory deleteCommentRewriterFactory, DeleteCommentRewriter.Factory deleteCommentRewriterFactory,
ProjectCache projectCache, ProjectCache projectCache,
@Assisted ChangeControl ctl, @Assisted ChangeNotes notes,
@Assisted CurrentUser user,
ChangeNoteUtil noteUtil) { ChangeNoteUtil noteUtil) {
this( this(
cfg, cfg,
@@ -188,7 +190,8 @@ public class ChangeUpdate extends AbstractChangeUpdate {
robotCommentUpdateFactory, robotCommentUpdateFactory,
deleteCommentRewriterFactory, deleteCommentRewriterFactory,
projectCache, projectCache,
ctl, notes,
user,
serverIdent.getWhen(), serverIdent.getWhen(),
noteUtil); noteUtil);
} }
@@ -205,7 +208,8 @@ public class ChangeUpdate extends AbstractChangeUpdate {
RobotCommentUpdate.Factory robotCommentUpdateFactory, RobotCommentUpdate.Factory robotCommentUpdateFactory,
DeleteCommentRewriter.Factory deleteCommentRewriterFactory, DeleteCommentRewriter.Factory deleteCommentRewriterFactory,
ProjectCache projectCache, ProjectCache projectCache,
@Assisted ChangeControl ctl, @Assisted ChangeNotes notes,
@Assisted CurrentUser user,
@Assisted Date when, @Assisted Date when,
ChangeNoteUtil noteUtil) { ChangeNoteUtil noteUtil) {
this( this(
@@ -218,16 +222,13 @@ public class ChangeUpdate extends AbstractChangeUpdate {
draftUpdateFactory, draftUpdateFactory,
robotCommentUpdateFactory, robotCommentUpdateFactory,
deleteCommentRewriterFactory, deleteCommentRewriterFactory,
ctl, notes,
user,
when, when,
projectCache.get(getProjectName(ctl)).getLabelTypes().nameComparator(), projectCache.get(notes.getProjectName()).getLabelTypes().nameComparator(),
noteUtil); noteUtil);
} }
private static Project.NameKey getProjectName(ChangeControl ctl) {
return ctl.getProject().getNameKey();
}
private static Table<String, Account.Id, Optional<Short>> approvals( private static Table<String, Account.Id, Optional<Short>> approvals(
Comparator<String> nameComparator) { Comparator<String> nameComparator) {
return TreeBasedTable.create(nameComparator, comparing(IntKey::get)); return TreeBasedTable.create(nameComparator, comparing(IntKey::get));
@@ -244,11 +245,12 @@ public class ChangeUpdate extends AbstractChangeUpdate {
ChangeDraftUpdate.Factory draftUpdateFactory, ChangeDraftUpdate.Factory draftUpdateFactory,
RobotCommentUpdate.Factory robotCommentUpdateFactory, RobotCommentUpdate.Factory robotCommentUpdateFactory,
DeleteCommentRewriter.Factory deleteCommentRewriterFactory, DeleteCommentRewriter.Factory deleteCommentRewriterFactory,
@Assisted ChangeControl ctl, @Assisted ChangeNotes notes,
@Assisted CurrentUser user,
@Assisted Date when, @Assisted Date when,
@Assisted Comparator<String> labelNameComparator, @Assisted Comparator<String> labelNameComparator,
ChangeNoteUtil noteUtil) { ChangeNoteUtil noteUtil) {
super(cfg, migration, ctl, serverIdent, anonymousCowardName, noteUtil, when); super(cfg, migration, notes, user, serverIdent, anonymousCowardName, noteUtil, when);
this.accountCache = accountCache; this.accountCache = accountCache;
this.updateManagerFactory = updateManagerFactory; this.updateManagerFactory = updateManagerFactory;
this.draftUpdateFactory = draftUpdateFactory; this.draftUpdateFactory = draftUpdateFactory;

View File

@@ -46,7 +46,6 @@ import com.google.gerrit.server.index.change.ChangeField;
import com.google.gerrit.server.notedb.NoteDbChangeState.PrimaryStorage; import com.google.gerrit.server.notedb.NoteDbChangeState.PrimaryStorage;
import com.google.gerrit.server.notedb.NoteDbChangeState.RefState; import com.google.gerrit.server.notedb.NoteDbChangeState.RefState;
import com.google.gerrit.server.notedb.rebuild.ChangeRebuilder; import com.google.gerrit.server.notedb.rebuild.ChangeRebuilder;
import com.google.gerrit.server.project.ChangeControl;
import com.google.gerrit.server.query.change.ChangeData; import com.google.gerrit.server.query.change.ChangeData;
import com.google.gerrit.server.query.change.InternalChangeQuery; import com.google.gerrit.server.query.change.InternalChangeQuery;
import com.google.gerrit.server.update.BatchUpdate; import com.google.gerrit.server.update.BatchUpdate;
@@ -83,7 +82,7 @@ public class PrimaryStorageMigrator {
private static final Logger log = LoggerFactory.getLogger(PrimaryStorageMigrator.class); private static final Logger log = LoggerFactory.getLogger(PrimaryStorageMigrator.class);
private final AllUsersName allUsers; private final AllUsersName allUsers;
private final ChangeControl.GenericFactory changeControlFactory; private final ChangeNotes.Factory changeNotesFactory;
private final ChangeRebuilder rebuilder; private final ChangeRebuilder rebuilder;
private final ChangeUpdate.Factory updateFactory; private final ChangeUpdate.Factory updateFactory;
private final GitRepositoryManager repoManager; private final GitRepositoryManager repoManager;
@@ -103,7 +102,7 @@ public class PrimaryStorageMigrator {
GitRepositoryManager repoManager, GitRepositoryManager repoManager,
AllUsersName allUsers, AllUsersName allUsers,
ChangeRebuilder rebuilder, ChangeRebuilder rebuilder,
ChangeControl.GenericFactory changeControlFactory, ChangeNotes.Factory changeNotesFactory,
Provider<InternalChangeQuery> queryProvider, Provider<InternalChangeQuery> queryProvider,
ChangeUpdate.Factory updateFactory, ChangeUpdate.Factory updateFactory,
InternalUser.Factory internalUserFactory, InternalUser.Factory internalUserFactory,
@@ -115,7 +114,7 @@ public class PrimaryStorageMigrator {
allUsers, allUsers,
rebuilder, rebuilder,
null, null,
changeControlFactory, changeNotesFactory,
queryProvider, queryProvider,
updateFactory, updateFactory,
internalUserFactory, internalUserFactory,
@@ -130,7 +129,7 @@ public class PrimaryStorageMigrator {
AllUsersName allUsers, AllUsersName allUsers,
ChangeRebuilder rebuilder, ChangeRebuilder rebuilder,
@Nullable Retryer<NoteDbChangeState> testEnsureRebuiltRetryer, @Nullable Retryer<NoteDbChangeState> testEnsureRebuiltRetryer,
ChangeControl.GenericFactory changeControlFactory, ChangeNotes.Factory changeNotesFactory,
Provider<InternalChangeQuery> queryProvider, Provider<InternalChangeQuery> queryProvider,
ChangeUpdate.Factory updateFactory, ChangeUpdate.Factory updateFactory,
InternalUser.Factory internalUserFactory, InternalUser.Factory internalUserFactory,
@@ -140,7 +139,7 @@ public class PrimaryStorageMigrator {
this.allUsers = allUsers; this.allUsers = allUsers;
this.rebuilder = rebuilder; this.rebuilder = rebuilder;
this.testEnsureRebuiltRetryer = testEnsureRebuiltRetryer; this.testEnsureRebuiltRetryer = testEnsureRebuiltRetryer;
this.changeControlFactory = changeControlFactory; this.changeNotesFactory = changeNotesFactory;
this.queryProvider = queryProvider; this.queryProvider = queryProvider;
this.updateFactory = updateFactory; this.updateFactory = updateFactory;
this.internalUserFactory = internalUserFactory; this.internalUserFactory = internalUserFactory;
@@ -410,7 +409,7 @@ public class PrimaryStorageMigrator {
Timestamp until = new Timestamp(now.getTime() + timeoutMs); Timestamp until = new Timestamp(now.getTime() + timeoutMs);
ChangeUpdate update = ChangeUpdate update =
updateFactory.create( updateFactory.create(
changeControlFactory.controlFor(db.get(), project, id, internalUserFactory.create())); changeNotesFactory.createChecked(db.get(), project, id), internalUserFactory.create());
update.setReadOnlyUntil(until); update.setReadOnlyUntil(until);
return update.commit(); return update.commit();
} }

View File

@@ -35,7 +35,6 @@ import com.google.gerrit.server.index.change.ChangeIndexer;
import com.google.gerrit.server.notedb.ChangeNotes; import com.google.gerrit.server.notedb.ChangeNotes;
import com.google.gerrit.server.notedb.ChangeUpdate; import com.google.gerrit.server.notedb.ChangeUpdate;
import com.google.gerrit.server.notedb.NoteDbUpdateManager; import com.google.gerrit.server.notedb.NoteDbUpdateManager;
import com.google.gerrit.server.project.ChangeControl;
import com.google.gerrit.server.util.RequestId; import com.google.gerrit.server.util.RequestId;
import com.google.gwtorm.server.OrmException; import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject; import com.google.inject.Inject;
@@ -215,13 +214,13 @@ class NoteDbBatchUpdate extends BatchUpdate {
} }
private class ChangeContextImpl extends ContextImpl implements ChangeContext { private class ChangeContextImpl extends ContextImpl implements ChangeContext {
private final ChangeControl ctl; private final ChangeNotes notes;
private final Map<PatchSet.Id, ChangeUpdate> updates; private final Map<PatchSet.Id, ChangeUpdate> updates;
private boolean deleted; private boolean deleted;
protected ChangeContextImpl(ChangeControl ctl) { protected ChangeContextImpl(ChangeNotes notes) {
this.ctl = checkNotNull(ctl); this.notes = checkNotNull(notes);
updates = new TreeMap<>(comparing(PatchSet.Id::get)); updates = new TreeMap<>(comparing(PatchSet.Id::get));
} }
@@ -229,8 +228,8 @@ class NoteDbBatchUpdate extends BatchUpdate {
public ChangeUpdate getUpdate(PatchSet.Id psId) { public ChangeUpdate getUpdate(PatchSet.Id psId) {
ChangeUpdate u = updates.get(psId); ChangeUpdate u = updates.get(psId);
if (u == null) { if (u == null) {
u = changeUpdateFactory.create(ctl, when); u = changeUpdateFactory.create(notes, user, when);
if (newChanges.containsKey(ctl.getId())) { if (newChanges.containsKey(notes.getChangeId())) {
u.setAllowWriteToNewRef(true); u.setAllowWriteToNewRef(true);
} }
u.setPatchSetId(psId); u.setPatchSetId(psId);
@@ -241,7 +240,7 @@ class NoteDbBatchUpdate extends BatchUpdate {
@Override @Override
public ChangeNotes getNotes() { public ChangeNotes getNotes() {
return ctl.getNotes(); return notes;
} }
@Override @Override
@@ -264,7 +263,6 @@ class NoteDbBatchUpdate extends BatchUpdate {
} }
private final ChangeNotes.Factory changeNotesFactory; private final ChangeNotes.Factory changeNotesFactory;
private final ChangeControl.GenericFactory changeControlFactory;
private final ChangeUpdate.Factory changeUpdateFactory; private final ChangeUpdate.Factory changeUpdateFactory;
private final NoteDbUpdateManager.Factory updateManagerFactory; private final NoteDbUpdateManager.Factory updateManagerFactory;
private final ChangeIndexer indexer; private final ChangeIndexer indexer;
@@ -276,7 +274,6 @@ class NoteDbBatchUpdate extends BatchUpdate {
GitRepositoryManager repoManager, GitRepositoryManager repoManager,
@GerritPersonIdent PersonIdent serverIdent, @GerritPersonIdent PersonIdent serverIdent,
ChangeNotes.Factory changeNotesFactory, ChangeNotes.Factory changeNotesFactory,
ChangeControl.GenericFactory changeControlFactory,
ChangeUpdate.Factory changeUpdateFactory, ChangeUpdate.Factory changeUpdateFactory,
NoteDbUpdateManager.Factory updateManagerFactory, NoteDbUpdateManager.Factory updateManagerFactory,
ChangeIndexer indexer, ChangeIndexer indexer,
@@ -287,7 +284,6 @@ class NoteDbBatchUpdate extends BatchUpdate {
@Assisted Timestamp when) { @Assisted Timestamp when) {
super(repoManager, serverIdent, project, user, when); super(repoManager, serverIdent, project, user, when);
this.changeNotesFactory = changeNotesFactory; this.changeNotesFactory = changeNotesFactory;
this.changeControlFactory = changeControlFactory;
this.changeUpdateFactory = changeUpdateFactory; this.changeUpdateFactory = changeUpdateFactory;
this.updateManagerFactory = updateManagerFactory; this.updateManagerFactory = updateManagerFactory;
this.indexer = indexer; this.indexer = indexer;
@@ -445,8 +441,7 @@ class NoteDbBatchUpdate extends BatchUpdate {
logDebug("Change {} is new", id); logDebug("Change {} is new", id);
} }
ChangeNotes notes = changeNotesFactory.createForBatchUpdate(c, !isNew); ChangeNotes notes = changeNotesFactory.createForBatchUpdate(c, !isNew);
ChangeControl ctl = changeControlFactory.controlFor(notes, user); return new ChangeContextImpl(notes);
return new ChangeContextImpl(ctl);
} }
private void executePostOps() throws Exception { private void executePostOps() throws Exception {

View File

@@ -56,7 +56,6 @@ import com.google.gerrit.server.notedb.NoteDbChangeState.PrimaryStorage;
import com.google.gerrit.server.notedb.NoteDbUpdateManager; import com.google.gerrit.server.notedb.NoteDbUpdateManager;
import com.google.gerrit.server.notedb.NoteDbUpdateManager.MismatchedStateException; import com.google.gerrit.server.notedb.NoteDbUpdateManager.MismatchedStateException;
import com.google.gerrit.server.notedb.NotesMigration; import com.google.gerrit.server.notedb.NotesMigration;
import com.google.gerrit.server.project.ChangeControl;
import com.google.gerrit.server.util.RequestId; import com.google.gerrit.server.util.RequestId;
import com.google.gwtorm.server.OrmException; import com.google.gwtorm.server.OrmException;
import com.google.gwtorm.server.SchemaFactory; import com.google.gwtorm.server.SchemaFactory;
@@ -165,7 +164,7 @@ class ReviewDbBatchUpdate extends BatchUpdate {
} }
private class ChangeContextImpl extends ContextImpl implements ChangeContext { private class ChangeContextImpl extends ContextImpl implements ChangeContext {
private final ChangeControl ctl; private final ChangeNotes notes;
private final Map<PatchSet.Id, ChangeUpdate> updates; private final Map<PatchSet.Id, ChangeUpdate> updates;
private final ReviewDbWrapper dbWrapper; private final ReviewDbWrapper dbWrapper;
private final Repository threadLocalRepo; private final Repository threadLocalRepo;
@@ -175,8 +174,8 @@ class ReviewDbBatchUpdate extends BatchUpdate {
private boolean bumpLastUpdatedOn = true; private boolean bumpLastUpdatedOn = true;
protected ChangeContextImpl( protected ChangeContextImpl(
ChangeControl ctl, ReviewDbWrapper dbWrapper, Repository repo, RevWalk rw) { ChangeNotes notes, ReviewDbWrapper dbWrapper, Repository repo, RevWalk rw) {
this.ctl = ctl; this.notes = checkNotNull(notes);
this.dbWrapper = dbWrapper; this.dbWrapper = dbWrapper;
this.threadLocalRepo = repo; this.threadLocalRepo = repo;
this.threadLocalRevWalk = rw; this.threadLocalRevWalk = rw;
@@ -198,8 +197,8 @@ class ReviewDbBatchUpdate extends BatchUpdate {
public ChangeUpdate getUpdate(PatchSet.Id psId) { public ChangeUpdate getUpdate(PatchSet.Id psId) {
ChangeUpdate u = updates.get(psId); ChangeUpdate u = updates.get(psId);
if (u == null) { if (u == null) {
u = changeUpdateFactory.create(ctl, when); u = changeUpdateFactory.create(notes, user, when);
if (newChanges.containsKey(ctl.getId())) { if (newChanges.containsKey(notes.getChangeId())) {
u.setAllowWriteToNewRef(true); u.setAllowWriteToNewRef(true);
} }
u.setPatchSetId(psId); u.setPatchSetId(psId);
@@ -210,8 +209,7 @@ class ReviewDbBatchUpdate extends BatchUpdate {
@Override @Override
public ChangeNotes getNotes() { public ChangeNotes getNotes() {
checkNotNull(ctl); return notes;
return ctl.getNotes();
} }
@Override @Override
@@ -308,7 +306,6 @@ class ReviewDbBatchUpdate extends BatchUpdate {
} }
private final AllUsersName allUsers; private final AllUsersName allUsers;
private final ChangeControl.GenericFactory changeControlFactory;
private final ChangeIndexer indexer; private final ChangeIndexer indexer;
private final ChangeNotes.Factory changeNotesFactory; private final ChangeNotes.Factory changeNotesFactory;
private final ChangeUpdate.Factory changeUpdateFactory; private final ChangeUpdate.Factory changeUpdateFactory;
@@ -329,7 +326,6 @@ class ReviewDbBatchUpdate extends BatchUpdate {
ReviewDbBatchUpdate( ReviewDbBatchUpdate(
@GerritServerConfig Config cfg, @GerritServerConfig Config cfg,
AllUsersName allUsers, AllUsersName allUsers,
ChangeControl.GenericFactory changeControlFactory,
ChangeIndexer indexer, ChangeIndexer indexer,
ChangeNotes.Factory changeNotesFactory, ChangeNotes.Factory changeNotesFactory,
@ChangeUpdateExecutor ListeningExecutorService changeUpdateExector, @ChangeUpdateExecutor ListeningExecutorService changeUpdateExector,
@@ -347,7 +343,6 @@ class ReviewDbBatchUpdate extends BatchUpdate {
@Assisted Timestamp when) { @Assisted Timestamp when) {
super(repoManager, serverIdent, project, user, when); super(repoManager, serverIdent, project, user, when);
this.allUsers = allUsers; this.allUsers = allUsers;
this.changeControlFactory = changeControlFactory;
this.changeNotesFactory = changeNotesFactory; this.changeNotesFactory = changeNotesFactory;
this.changeUpdateExector = changeUpdateExector; this.changeUpdateExector = changeUpdateExector;
this.changeUpdateFactory = changeUpdateFactory; this.changeUpdateFactory = changeUpdateFactory;
@@ -786,8 +781,7 @@ class ReviewDbBatchUpdate extends BatchUpdate {
NoteDbChangeState.checkNotReadOnly(c, skewMs); NoteDbChangeState.checkNotReadOnly(c, skewMs);
} }
ChangeNotes notes = changeNotesFactory.createForBatchUpdate(c, !isNew); ChangeNotes notes = changeNotesFactory.createForBatchUpdate(c, !isNew);
ChangeControl ctl = changeControlFactory.controlFor(notes, user); return new ChangeContextImpl(notes, new BatchUpdateReviewDb(db), repo, rw);
return new ChangeContextImpl(ctl, new BatchUpdateReviewDb(db), repo, rw);
} }
private NoteDbUpdateManager stageNoteDbUpdate(ChangeContextImpl ctx, boolean deleted) private NoteDbUpdateManager stageNoteDbUpdate(ChangeContextImpl ctx, boolean deleted)

View File

@@ -15,7 +15,6 @@
package com.google.gerrit.testutil; package com.google.gerrit.testutil;
import static com.google.common.base.MoreObjects.firstNonNull; import static com.google.common.base.MoreObjects.firstNonNull;
import static org.easymock.EasyMock.expect;
import com.google.common.collect.Ordering; import com.google.common.collect.Ordering;
import com.google.gerrit.common.TimeUtil; import com.google.gerrit.common.TimeUtil;
@@ -33,12 +32,9 @@ import com.google.gerrit.server.notedb.AbstractChangeNotes;
import com.google.gerrit.server.notedb.ChangeNotes; import com.google.gerrit.server.notedb.ChangeNotes;
import com.google.gerrit.server.notedb.ChangeUpdate; import com.google.gerrit.server.notedb.ChangeUpdate;
import com.google.gerrit.server.notedb.NotesMigration; import com.google.gerrit.server.notedb.NotesMigration;
import com.google.gerrit.server.project.ChangeControl;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Injector; import com.google.inject.Injector;
import java.util.TimeZone; import java.util.TimeZone;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import org.easymock.EasyMock;
import org.eclipse.jgit.junit.TestRepository; import org.eclipse.jgit.junit.TestRepository;
import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.lib.PersonIdent; import org.eclipse.jgit.lib.PersonIdent;
@@ -95,7 +91,8 @@ public class TestChanges {
injector injector
.getInstance(ChangeUpdate.Factory.class) .getInstance(ChangeUpdate.Factory.class)
.create( .create(
stubChangeControl(injector.getInstance(AbstractChangeNotes.Args.class), c, user), new ChangeNotes(injector.getInstance(AbstractChangeNotes.Args.class), c).load(),
user,
TimeUtil.nowTs(), TimeUtil.nowTs(),
Ordering.<String>natural()); Ordering.<String>natural());
@@ -129,19 +126,6 @@ public class TestChanges {
} }
} }
private static ChangeControl stubChangeControl(
AbstractChangeNotes.Args args, Change c, CurrentUser user) throws OrmException {
ChangeControl ctl = EasyMock.createMock(ChangeControl.class);
expect(ctl.getChange()).andStubReturn(c);
expect(ctl.getProject()).andStubReturn(new Project(c.getProject()));
expect(ctl.getUser()).andStubReturn(user);
ChangeNotes notes = new ChangeNotes(args, c).load();
expect(ctl.getNotes()).andStubReturn(notes);
expect(ctl.getId()).andStubReturn(c.getId());
EasyMock.replay(ctl);
return ctl;
}
public static void incrementPatchSet(Change change) { public static void incrementPatchSet(Change change) {
PatchSet.Id curr = change.currentPatchSetId(); PatchSet.Id curr = change.currentPatchSetId();
PatchSetInfo ps = PatchSetInfo ps =