Don't inject AllUsersNameProvider
This provider provides the name as a singleton based on the config. Injecting the AllUsersName directly implicitly calls the Provider at injection time, so injecting the Provider just means unnecessary code to get() at call sites. While we're in there, make AllUsersNameProvider an actual @Singleton. Change-Id: I44a859fa229983df115542f7ad97c57d29396996
This commit is contained in:
@@ -35,7 +35,6 @@ import com.google.gerrit.reviewdb.client.RefNames;
|
|||||||
import com.google.gerrit.reviewdb.client.RevId;
|
import com.google.gerrit.reviewdb.client.RevId;
|
||||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||||
import com.google.gerrit.server.config.AllUsersName;
|
import com.google.gerrit.server.config.AllUsersName;
|
||||||
import com.google.gerrit.server.config.AllUsersNameProvider;
|
|
||||||
import com.google.gerrit.server.git.GitRepositoryManager;
|
import com.google.gerrit.server.git.GitRepositoryManager;
|
||||||
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;
|
||||||
@@ -122,11 +121,11 @@ public class PatchLineCommentsUtil {
|
|||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
PatchLineCommentsUtil(GitRepositoryManager repoManager,
|
PatchLineCommentsUtil(GitRepositoryManager repoManager,
|
||||||
AllUsersNameProvider allUsersProvider,
|
AllUsersName allUsers,
|
||||||
DraftCommentNotes.Factory draftFactory,
|
DraftCommentNotes.Factory draftFactory,
|
||||||
NotesMigration migration) {
|
NotesMigration migration) {
|
||||||
this.repoManager = repoManager;
|
this.repoManager = repoManager;
|
||||||
this.allUsers = allUsersProvider.get();
|
this.allUsers = allUsers;
|
||||||
this.draftFactory = draftFactory;
|
this.draftFactory = draftFactory;
|
||||||
this.migration = migration;
|
this.migration = migration;
|
||||||
}
|
}
|
||||||
|
@@ -16,9 +16,11 @@ package com.google.gerrit.server.config;
|
|||||||
|
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
import com.google.inject.Provider;
|
import com.google.inject.Provider;
|
||||||
|
import com.google.inject.Singleton;
|
||||||
|
|
||||||
import org.eclipse.jgit.lib.Config;
|
import org.eclipse.jgit.lib.Config;
|
||||||
|
|
||||||
|
@Singleton
|
||||||
public class AllUsersNameProvider implements Provider<AllUsersName> {
|
public class AllUsersNameProvider implements Provider<AllUsersName> {
|
||||||
public static final String DEFAULT = "All-Users";
|
public static final String DEFAULT = "All-Users";
|
||||||
|
|
||||||
|
@@ -47,7 +47,6 @@ import com.google.gerrit.reviewdb.client.RevId;
|
|||||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||||
import com.google.gerrit.reviewdb.server.ReviewDbUtil;
|
import com.google.gerrit.reviewdb.server.ReviewDbUtil;
|
||||||
import com.google.gerrit.server.config.AllUsersName;
|
import com.google.gerrit.server.config.AllUsersName;
|
||||||
import com.google.gerrit.server.config.AllUsersNameProvider;
|
|
||||||
import com.google.gerrit.server.git.GitRepositoryManager;
|
import com.google.gerrit.server.git.GitRepositoryManager;
|
||||||
import com.google.gerrit.server.git.ScanningChangeCacheImpl;
|
import com.google.gerrit.server.git.ScanningChangeCacheImpl;
|
||||||
import com.google.gerrit.server.project.NoSuchChangeException;
|
import com.google.gerrit.server.project.NoSuchChangeException;
|
||||||
@@ -121,7 +120,7 @@ public class ChangeNotes extends AbstractChangeNotes<ChangeNotes> {
|
|||||||
|
|
||||||
private final GitRepositoryManager repoManager;
|
private final GitRepositoryManager repoManager;
|
||||||
private final NotesMigration migration;
|
private final NotesMigration migration;
|
||||||
private final AllUsersNameProvider allUsersProvider;
|
private final AllUsersName allUsers;
|
||||||
private final Provider<InternalChangeQuery> queryProvider;
|
private final Provider<InternalChangeQuery> queryProvider;
|
||||||
private final ProjectCache projectCache;
|
private final ProjectCache projectCache;
|
||||||
|
|
||||||
@@ -129,12 +128,12 @@ public class ChangeNotes extends AbstractChangeNotes<ChangeNotes> {
|
|||||||
@Inject
|
@Inject
|
||||||
public Factory(GitRepositoryManager repoManager,
|
public Factory(GitRepositoryManager repoManager,
|
||||||
NotesMigration migration,
|
NotesMigration migration,
|
||||||
AllUsersNameProvider allUsersProvider,
|
AllUsersName allUsers,
|
||||||
Provider<InternalChangeQuery> queryProvider,
|
Provider<InternalChangeQuery> queryProvider,
|
||||||
ProjectCache projectCache) {
|
ProjectCache projectCache) {
|
||||||
this.repoManager = repoManager;
|
this.repoManager = repoManager;
|
||||||
this.migration = migration;
|
this.migration = migration;
|
||||||
this.allUsersProvider = allUsersProvider;
|
this.allUsers = allUsers;
|
||||||
this.queryProvider = queryProvider;
|
this.queryProvider = queryProvider;
|
||||||
this.projectCache = projectCache;
|
this.projectCache = projectCache;
|
||||||
}
|
}
|
||||||
@@ -181,7 +180,7 @@ public class ChangeNotes extends AbstractChangeNotes<ChangeNotes> {
|
|||||||
project, changeId, change.getProject());
|
project, changeId, change.getProject());
|
||||||
// TODO: Throw NoSuchChangeException when the change is not found in the
|
// TODO: Throw NoSuchChangeException when the change is not found in the
|
||||||
// database
|
// database
|
||||||
return new ChangeNotes(repoManager, migration, allUsersProvider, project,
|
return new ChangeNotes(repoManager, migration, allUsers, project,
|
||||||
change).load();
|
change).load();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -194,12 +193,12 @@ public class ChangeNotes extends AbstractChangeNotes<ChangeNotes> {
|
|||||||
* @return change notes
|
* @return change notes
|
||||||
*/
|
*/
|
||||||
public ChangeNotes createFromIndexedChange(Change change) {
|
public ChangeNotes createFromIndexedChange(Change change) {
|
||||||
return new ChangeNotes(repoManager, migration, allUsersProvider,
|
return new ChangeNotes(repoManager, migration, allUsers,
|
||||||
change.getProject(), change);
|
change.getProject(), change);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ChangeNotes createForNew(Change change) throws OrmException {
|
public ChangeNotes createForNew(Change change) throws OrmException {
|
||||||
return new ChangeNotes(repoManager, migration, allUsersProvider,
|
return new ChangeNotes(repoManager, migration, allUsers,
|
||||||
change.getProject(), change).load();
|
change.getProject(), change).load();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -209,7 +208,7 @@ public class ChangeNotes extends AbstractChangeNotes<ChangeNotes> {
|
|||||||
checkState(!migration.readChanges(), "do not call"
|
checkState(!migration.readChanges(), "do not call"
|
||||||
+ " createFromIdOnlyWhenNotedbDisabled when notedb is enabled");
|
+ " createFromIdOnlyWhenNotedbDisabled when notedb is enabled");
|
||||||
Change change = db.changes().get(changeId);
|
Change change = db.changes().get(changeId);
|
||||||
return new ChangeNotes(repoManager, migration, allUsersProvider,
|
return new ChangeNotes(repoManager, migration, allUsers,
|
||||||
change.getProject(), change).load();
|
change.getProject(), change).load();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -222,7 +221,7 @@ public class ChangeNotes extends AbstractChangeNotes<ChangeNotes> {
|
|||||||
throws OrmException {
|
throws OrmException {
|
||||||
checkState(!migration.readChanges(), "do not call"
|
checkState(!migration.readChanges(), "do not call"
|
||||||
+ " createFromChangeWhenNotedbDisabled when notedb is enabled");
|
+ " createFromChangeWhenNotedbDisabled when notedb is enabled");
|
||||||
return new ChangeNotes(repoManager, migration, allUsersProvider,
|
return new ChangeNotes(repoManager, migration, allUsers,
|
||||||
change.getProject(), change).load();
|
change.getProject(), change).load();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -275,10 +274,10 @@ public class ChangeNotes extends AbstractChangeNotes<ChangeNotes> {
|
|||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
public ChangeNotes(GitRepositoryManager repoManager, NotesMigration migration,
|
public ChangeNotes(GitRepositoryManager repoManager, NotesMigration migration,
|
||||||
AllUsersNameProvider allUsersProvider, Project.NameKey project,
|
AllUsersName allUsers, Project.NameKey project,
|
||||||
Change change) {
|
Change change) {
|
||||||
super(repoManager, migration, change != null ? change.getId() : null);
|
super(repoManager, migration, change != null ? change.getId() : null);
|
||||||
this.allUsers = allUsersProvider.get();
|
this.allUsers = allUsers;
|
||||||
this.project = project;
|
this.project = project;
|
||||||
this.change = change != null ? new Change(change) : null;
|
this.change = change != null ? new Change(change) : null;
|
||||||
}
|
}
|
||||||
|
@@ -23,7 +23,6 @@ import com.google.gerrit.reviewdb.client.Project;
|
|||||||
import com.google.gerrit.reviewdb.client.RefNames;
|
import com.google.gerrit.reviewdb.client.RefNames;
|
||||||
import com.google.gerrit.reviewdb.client.RevId;
|
import com.google.gerrit.reviewdb.client.RevId;
|
||||||
import com.google.gerrit.server.config.AllUsersName;
|
import com.google.gerrit.server.config.AllUsersName;
|
||||||
import com.google.gerrit.server.config.AllUsersNameProvider;
|
|
||||||
import com.google.gerrit.server.git.GitRepositoryManager;
|
import com.google.gerrit.server.git.GitRepositoryManager;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
import com.google.inject.Singleton;
|
import com.google.inject.Singleton;
|
||||||
@@ -51,10 +50,10 @@ public class DraftCommentNotes extends AbstractChangeNotes<DraftCommentNotes> {
|
|||||||
@Inject
|
@Inject
|
||||||
public Factory(GitRepositoryManager repoManager,
|
public Factory(GitRepositoryManager repoManager,
|
||||||
NotesMigration migration,
|
NotesMigration migration,
|
||||||
AllUsersNameProvider allUsers) {
|
AllUsersName allUsers) {
|
||||||
this.repoManager = repoManager;
|
this.repoManager = repoManager;
|
||||||
this.migration = migration;
|
this.migration = migration;
|
||||||
this.draftsProject = allUsers.get();
|
this.draftsProject = allUsers;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DraftCommentNotes create(Change.Id changeId, Account.Id accountId) {
|
public DraftCommentNotes create(Change.Id changeId, Account.Id accountId) {
|
||||||
|
@@ -44,7 +44,6 @@ import com.google.gerrit.server.account.VersionedAccountQueries;
|
|||||||
import com.google.gerrit.server.change.ChangeTriplet;
|
import com.google.gerrit.server.change.ChangeTriplet;
|
||||||
import com.google.gerrit.server.config.AllProjectsName;
|
import com.google.gerrit.server.config.AllProjectsName;
|
||||||
import com.google.gerrit.server.config.AllUsersName;
|
import com.google.gerrit.server.config.AllUsersName;
|
||||||
import com.google.gerrit.server.config.AllUsersNameProvider;
|
|
||||||
import com.google.gerrit.server.config.GerritServerConfig;
|
import com.google.gerrit.server.config.GerritServerConfig;
|
||||||
import com.google.gerrit.server.config.TrackingFooters;
|
import com.google.gerrit.server.config.TrackingFooters;
|
||||||
import com.google.gerrit.server.git.GitRepositoryManager;
|
import com.google.gerrit.server.git.GitRepositoryManager;
|
||||||
@@ -169,7 +168,7 @@ public class ChangeQueryBuilder extends QueryBuilder<ChangeData> {
|
|||||||
final AccountResolver accountResolver;
|
final AccountResolver accountResolver;
|
||||||
final GroupBackend groupBackend;
|
final GroupBackend groupBackend;
|
||||||
final AllProjectsName allProjectsName;
|
final AllProjectsName allProjectsName;
|
||||||
final AllUsersNameProvider allUsersName;
|
final AllUsersName allUsersName;
|
||||||
final PatchListCache patchListCache;
|
final PatchListCache patchListCache;
|
||||||
final GitRepositoryManager repoManager;
|
final GitRepositoryManager repoManager;
|
||||||
final ProjectCache projectCache;
|
final ProjectCache projectCache;
|
||||||
@@ -201,7 +200,7 @@ public class ChangeQueryBuilder extends QueryBuilder<ChangeData> {
|
|||||||
AccountResolver accountResolver,
|
AccountResolver accountResolver,
|
||||||
GroupBackend groupBackend,
|
GroupBackend groupBackend,
|
||||||
AllProjectsName allProjectsName,
|
AllProjectsName allProjectsName,
|
||||||
AllUsersNameProvider allUsersName,
|
AllUsersName allUsersName,
|
||||||
PatchListCache patchListCache,
|
PatchListCache patchListCache,
|
||||||
GitRepositoryManager repoManager,
|
GitRepositoryManager repoManager,
|
||||||
ProjectCache projectCache,
|
ProjectCache projectCache,
|
||||||
@@ -239,7 +238,7 @@ public class ChangeQueryBuilder extends QueryBuilder<ChangeData> {
|
|||||||
AccountResolver accountResolver,
|
AccountResolver accountResolver,
|
||||||
GroupBackend groupBackend,
|
GroupBackend groupBackend,
|
||||||
AllProjectsName allProjectsName,
|
AllProjectsName allProjectsName,
|
||||||
AllUsersNameProvider allUsersName,
|
AllUsersName allUsersName,
|
||||||
PatchListCache patchListCache,
|
PatchListCache patchListCache,
|
||||||
GitRepositoryManager repoManager,
|
GitRepositoryManager repoManager,
|
||||||
ProjectCache projectCache,
|
ProjectCache projectCache,
|
||||||
@@ -860,8 +859,7 @@ public class ChangeQueryBuilder extends QueryBuilder<ChangeData> {
|
|||||||
|
|
||||||
@Operator
|
@Operator
|
||||||
public Predicate<ChangeData> query(String name) throws QueryParseException {
|
public Predicate<ChangeData> query(String name) throws QueryParseException {
|
||||||
AllUsersName allUsers = args.allUsersName.get();
|
try (Repository git = args.repoManager.openRepository(args.allUsersName)) {
|
||||||
try (Repository git = args.repoManager.openRepository(allUsers)) {
|
|
||||||
VersionedAccountQueries q = VersionedAccountQueries.forUser(self());
|
VersionedAccountQueries q = VersionedAccountQueries.forUser(self());
|
||||||
q.load(git);
|
q.load(git);
|
||||||
String query = q.getQueryList().getQuery(name);
|
String query = q.getQueryList().getQuery(name);
|
||||||
@@ -870,7 +868,7 @@ public class ChangeQueryBuilder extends QueryBuilder<ChangeData> {
|
|||||||
}
|
}
|
||||||
} catch (RepositoryNotFoundException e) {
|
} catch (RepositoryNotFoundException e) {
|
||||||
throw new QueryParseException("Unknown named query (no " +
|
throw new QueryParseException("Unknown named query (no " +
|
||||||
allUsers.get() +" repo): " + name, e);
|
args.allUsersName + " repo): " + name, e);
|
||||||
} catch (IOException | ConfigInvalidException e) {
|
} catch (IOException | ConfigInvalidException e) {
|
||||||
throw new QueryParseException("Error parsing named query: " + name, e);
|
throw new QueryParseException("Error parsing named query: " + name, e);
|
||||||
}
|
}
|
||||||
@@ -886,8 +884,7 @@ public class ChangeQueryBuilder extends QueryBuilder<ChangeData> {
|
|||||||
@Operator
|
@Operator
|
||||||
public Predicate<ChangeData> destination(String name)
|
public Predicate<ChangeData> destination(String name)
|
||||||
throws QueryParseException {
|
throws QueryParseException {
|
||||||
AllUsersName allUsers = args.allUsersName.get();
|
try (Repository git = args.repoManager.openRepository(args.allUsersName)) {
|
||||||
try (Repository git = args.repoManager.openRepository(allUsers)) {
|
|
||||||
VersionedAccountDestinations d =
|
VersionedAccountDestinations d =
|
||||||
VersionedAccountDestinations.forUser(self());
|
VersionedAccountDestinations.forUser(self());
|
||||||
d.load(git);
|
d.load(git);
|
||||||
@@ -898,7 +895,7 @@ public class ChangeQueryBuilder extends QueryBuilder<ChangeData> {
|
|||||||
}
|
}
|
||||||
} catch (RepositoryNotFoundException e) {
|
} catch (RepositoryNotFoundException e) {
|
||||||
throw new QueryParseException("Unknown named destination (no " +
|
throw new QueryParseException("Unknown named destination (no " +
|
||||||
allUsers.get() +" repo): " + name, e);
|
args.allUsersName + " repo): " + name, e);
|
||||||
} catch (IOException | ConfigInvalidException e) {
|
} catch (IOException | ConfigInvalidException e) {
|
||||||
throw new QueryParseException("Error parsing named destination: " + name, e);
|
throw new QueryParseException("Error parsing named destination: " + name, e);
|
||||||
}
|
}
|
||||||
|
@@ -37,6 +37,7 @@ import com.google.gerrit.server.account.CapabilityControl;
|
|||||||
import com.google.gerrit.server.account.FakeRealm;
|
import com.google.gerrit.server.account.FakeRealm;
|
||||||
import com.google.gerrit.server.account.GroupBackend;
|
import com.google.gerrit.server.account.GroupBackend;
|
||||||
import com.google.gerrit.server.account.Realm;
|
import com.google.gerrit.server.account.Realm;
|
||||||
|
import com.google.gerrit.server.config.AllUsersName;
|
||||||
import com.google.gerrit.server.config.AllUsersNameProvider;
|
import com.google.gerrit.server.config.AllUsersNameProvider;
|
||||||
import com.google.gerrit.server.config.AnonymousCowardName;
|
import com.google.gerrit.server.config.AnonymousCowardName;
|
||||||
import com.google.gerrit.server.config.AnonymousCowardNameProvider;
|
import com.google.gerrit.server.config.AnonymousCowardNameProvider;
|
||||||
@@ -97,7 +98,7 @@ public class AbstractChangeNotesTest extends GerritBaseTests {
|
|||||||
private Injector injector;
|
private Injector injector;
|
||||||
private String systemTimeZone;
|
private String systemTimeZone;
|
||||||
|
|
||||||
@Inject private AllUsersNameProvider allUsers;
|
@Inject private AllUsersName allUsers;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() throws Exception {
|
public void setUp() throws Exception {
|
||||||
@@ -125,6 +126,7 @@ public class AbstractChangeNotesTest extends GerritBaseTests {
|
|||||||
@Override
|
@Override
|
||||||
public void configure() {
|
public void configure() {
|
||||||
install(new GitModule());
|
install(new GitModule());
|
||||||
|
bind(AllUsersName.class).toProvider(AllUsersNameProvider.class);
|
||||||
bind(NotesMigration.class).toInstance(MIGRATION);
|
bind(NotesMigration.class).toInstance(MIGRATION);
|
||||||
bind(GitRepositoryManager.class).toInstance(repoManager);
|
bind(GitRepositoryManager.class).toInstance(repoManager);
|
||||||
bind(ProjectCache.class).toProvider(Providers.<ProjectCache> of(null));
|
bind(ProjectCache.class).toProvider(Providers.<ProjectCache> of(null));
|
||||||
@@ -151,7 +153,7 @@ public class AbstractChangeNotesTest extends GerritBaseTests {
|
|||||||
});
|
});
|
||||||
|
|
||||||
injector.injectMembers(this);
|
injector.injectMembers(this);
|
||||||
repoManager.createRepository(allUsers.get());
|
repoManager.createRepository(allUsers);
|
||||||
changeOwner = userFactory.create(co.getId());
|
changeOwner = userFactory.create(co.getId());
|
||||||
otherUser = userFactory.create(ou.getId());
|
otherUser = userFactory.create(ou.getId());
|
||||||
otherUserId = otherUser.getAccountId();
|
otherUserId = otherUser.getAccountId();
|
||||||
|
@@ -29,7 +29,6 @@ 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.server.IdentifiedUser;
|
import com.google.gerrit.server.IdentifiedUser;
|
||||||
import com.google.gerrit.server.config.AllUsersName;
|
import com.google.gerrit.server.config.AllUsersName;
|
||||||
import com.google.gerrit.server.config.AllUsersNameProvider;
|
|
||||||
import com.google.gerrit.server.git.GitRepositoryManager;
|
import com.google.gerrit.server.git.GitRepositoryManager;
|
||||||
import com.google.gerrit.server.notedb.ChangeDraftUpdate;
|
import com.google.gerrit.server.notedb.ChangeDraftUpdate;
|
||||||
import com.google.gerrit.server.notedb.ChangeNotes;
|
import com.google.gerrit.server.notedb.ChangeNotes;
|
||||||
@@ -89,7 +88,7 @@ public class TestChanges {
|
|||||||
|
|
||||||
public static ChangeUpdate newUpdate(Injector injector,
|
public static ChangeUpdate newUpdate(Injector injector,
|
||||||
GitRepositoryManager repoManager, NotesMigration migration, Change c,
|
GitRepositoryManager repoManager, NotesMigration migration, Change c,
|
||||||
final AllUsersNameProvider allUsers, final IdentifiedUser user)
|
final AllUsersName allUsers, final IdentifiedUser user)
|
||||||
throws Exception {
|
throws Exception {
|
||||||
ChangeUpdate update = injector.createChildInjector(new FactoryModule() {
|
ChangeUpdate update = injector.createChildInjector(new FactoryModule() {
|
||||||
@Override
|
@Override
|
||||||
@@ -97,7 +96,6 @@ public class TestChanges {
|
|||||||
factory(ChangeUpdate.Factory.class);
|
factory(ChangeUpdate.Factory.class);
|
||||||
factory(ChangeDraftUpdate.Factory.class);
|
factory(ChangeDraftUpdate.Factory.class);
|
||||||
bind(IdentifiedUser.class).toInstance(user);
|
bind(IdentifiedUser.class).toInstance(user);
|
||||||
bind(AllUsersName.class).toProvider(allUsers);
|
|
||||||
}
|
}
|
||||||
}).getInstance(ChangeUpdate.Factory.class).create(
|
}).getInstance(ChangeUpdate.Factory.class).create(
|
||||||
stubChangeControl(repoManager, migration, c, allUsers, user),
|
stubChangeControl(repoManager, migration, c, allUsers, user),
|
||||||
@@ -131,9 +129,9 @@ public class TestChanges {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ChangeControl stubChangeControl(
|
private static ChangeControl stubChangeControl(
|
||||||
GitRepositoryManager repoManager, NotesMigration migration,
|
GitRepositoryManager repoManager, NotesMigration migration,
|
||||||
Change c, AllUsersNameProvider allUsers,
|
Change c, AllUsersName allUsers,
|
||||||
IdentifiedUser user) throws OrmException {
|
IdentifiedUser user) throws OrmException {
|
||||||
ChangeControl ctl = EasyMock.createMock(ChangeControl.class);
|
ChangeControl ctl = EasyMock.createMock(ChangeControl.class);
|
||||||
expect(ctl.getChange()).andStubReturn(c);
|
expect(ctl.getChange()).andStubReturn(c);
|
||||||
|
Reference in New Issue
Block a user