Merge "SSH: Don't use singletons with providers"

This commit is contained in:
Hugo Arès
2016-04-15 12:22:23 +00:00
committed by Gerrit Code Review
3 changed files with 15 additions and 19 deletions

View File

@@ -42,7 +42,6 @@ import com.google.gerrit.util.cli.CmdLineParser;
import com.google.gson.JsonSyntaxException;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import com.google.inject.Provider;
import org.kohsuke.args4j.Argument;
import org.kohsuke.args4j.Option;
@@ -141,7 +140,7 @@ public class ReviewCommand extends SshCommand {
private AllProjectsName allProjects;
@Inject
private Provider<GerritApi> gApi;
private GerritApi gApi;
@Inject
private PatchSetParser psParser;
@@ -251,7 +250,7 @@ public class ReviewCommand extends SshCommand {
private void applyReview(PatchSet patchSet,
final ReviewInput review) throws RestApiException {
gApi.get().changes()
gApi.changes()
.id(patchSet.getId().getParentKey().get())
.revision(patchSet.getRevision().get())
.review(review);
@@ -326,7 +325,7 @@ public class ReviewCommand extends SshCommand {
}
private ChangeApi changeApi(PatchSet patchSet) throws RestApiException {
return gApi.get().changes().id(patchSet.getId().getParentKey().get());
return gApi.changes().id(patchSet.getId().getParentKey().get());
}
private RevisionApi revisionApi(PatchSet patchSet) throws RestApiException {

View File

@@ -34,7 +34,6 @@ import com.google.gerrit.server.group.GroupsCollection;
import com.google.gerrit.sshd.CommandMetaData;
import com.google.gerrit.sshd.SshCommand;
import com.google.inject.Inject;
import com.google.inject.Provider;
import org.kohsuke.args4j.Argument;
import org.kohsuke.args4j.Option;
@@ -62,16 +61,16 @@ public class SetMembersCommand extends SshCommand {
private List<AccountGroup.UUID> groups = Lists.newArrayList();
@Inject
private Provider<AddMembers> addMembers;
private AddMembers addMembers;
@Inject
private Provider<DeleteMembers> deleteMembers;
private DeleteMembers deleteMembers;
@Inject
private Provider<AddIncludedGroups> addIncludedGroups;
private AddIncludedGroups addIncludedGroups;
@Inject
private Provider<DeleteIncludedGroups> deleteIncludedGroups;
private DeleteIncludedGroups deleteIncludedGroups;
@Inject
private GroupsCollection groupsCollection;
@@ -89,19 +88,19 @@ public class SetMembersCommand extends SshCommand {
groupsCollection.parse(TopLevelResource.INSTANCE,
IdString.fromUrl(groupUuid.get()));
if (!accountsToRemove.isEmpty()) {
deleteMembers.get().apply(resource, fromMembers(accountsToRemove));
deleteMembers.apply(resource, fromMembers(accountsToRemove));
reportMembersAction("removed from", resource, accountsToRemove);
}
if (!groupsToRemove.isEmpty()) {
deleteIncludedGroups.get().apply(resource, fromGroups(groupsToRemove));
deleteIncludedGroups.apply(resource, fromGroups(groupsToRemove));
reportGroupsAction("excluded from", resource, groupsToRemove);
}
if (!accountsToAdd.isEmpty()) {
addMembers.get().apply(resource, fromMembers(accountsToAdd));
addMembers.apply(resource, fromMembers(accountsToAdd));
reportMembersAction("added to", resource, accountsToAdd);
}
if (!groupsToInclude.isEmpty()) {
addIncludedGroups.get().apply(resource, fromGroups(groupsToInclude));
addIncludedGroups.apply(resource, fromGroups(groupsToInclude));
reportGroupsAction("included to", resource, groupsToInclude);
}
}

View File

@@ -82,10 +82,10 @@ public class SetReviewersCommand extends SshCommand {
private ReviewerResource.Factory reviewerFactory;
@Inject
private Provider<PostReviewers> postReviewersProvider;
private PostReviewers postReviewers;
@Inject
private Provider<DeleteReviewer> deleteReviewerProvider;
private DeleteReviewer deleteReviewer;
@Inject
private Provider<CurrentUser> userProvider;
@@ -123,12 +123,11 @@ public class SetReviewersCommand extends SshCommand {
// Remove reviewers
//
DeleteReviewer delete = deleteReviewerProvider.get();
for (Account.Id reviewer : toRemove) {
ReviewerResource rsrc = reviewerFactory.create(changeRsrc, reviewer);
String error = null;
try {
delete.apply(rsrc, new DeleteReviewer.Input());
deleteReviewer.apply(rsrc, new DeleteReviewer.Input());
} catch (ResourceNotFoundException e) {
error = String.format("could not remove %s: not found", reviewer);
} catch (Exception e) {
@@ -143,14 +142,13 @@ public class SetReviewersCommand extends SshCommand {
// Add reviewers
//
PostReviewers post = postReviewersProvider.get();
for (String reviewer : toAdd) {
AddReviewerInput input = new AddReviewerInput();
input.reviewer = reviewer;
input.confirmed = true;
String error;
try {
error = post.apply(changeRsrc, input).error;
error = postReviewers.apply(changeRsrc, input).error;
} catch (Exception e) {
error = String.format("could not add %s: %s", reviewer, e.getMessage());
}