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.gson.JsonSyntaxException;
import com.google.gwtorm.server.OrmException; import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject; import com.google.inject.Inject;
import com.google.inject.Provider;
import org.kohsuke.args4j.Argument; import org.kohsuke.args4j.Argument;
import org.kohsuke.args4j.Option; import org.kohsuke.args4j.Option;
@@ -141,7 +140,7 @@ public class ReviewCommand extends SshCommand {
private AllProjectsName allProjects; private AllProjectsName allProjects;
@Inject @Inject
private Provider<GerritApi> gApi; private GerritApi gApi;
@Inject @Inject
private PatchSetParser psParser; private PatchSetParser psParser;
@@ -251,7 +250,7 @@ public class ReviewCommand extends SshCommand {
private void applyReview(PatchSet patchSet, private void applyReview(PatchSet patchSet,
final ReviewInput review) throws RestApiException { final ReviewInput review) throws RestApiException {
gApi.get().changes() gApi.changes()
.id(patchSet.getId().getParentKey().get()) .id(patchSet.getId().getParentKey().get())
.revision(patchSet.getRevision().get()) .revision(patchSet.getRevision().get())
.review(review); .review(review);
@@ -326,7 +325,7 @@ public class ReviewCommand extends SshCommand {
} }
private ChangeApi changeApi(PatchSet patchSet) throws RestApiException { 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 { 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.CommandMetaData;
import com.google.gerrit.sshd.SshCommand; import com.google.gerrit.sshd.SshCommand;
import com.google.inject.Inject; import com.google.inject.Inject;
import com.google.inject.Provider;
import org.kohsuke.args4j.Argument; import org.kohsuke.args4j.Argument;
import org.kohsuke.args4j.Option; import org.kohsuke.args4j.Option;
@@ -62,16 +61,16 @@ public class SetMembersCommand extends SshCommand {
private List<AccountGroup.UUID> groups = Lists.newArrayList(); private List<AccountGroup.UUID> groups = Lists.newArrayList();
@Inject @Inject
private Provider<AddMembers> addMembers; private AddMembers addMembers;
@Inject @Inject
private Provider<DeleteMembers> deleteMembers; private DeleteMembers deleteMembers;
@Inject @Inject
private Provider<AddIncludedGroups> addIncludedGroups; private AddIncludedGroups addIncludedGroups;
@Inject @Inject
private Provider<DeleteIncludedGroups> deleteIncludedGroups; private DeleteIncludedGroups deleteIncludedGroups;
@Inject @Inject
private GroupsCollection groupsCollection; private GroupsCollection groupsCollection;
@@ -89,19 +88,19 @@ public class SetMembersCommand extends SshCommand {
groupsCollection.parse(TopLevelResource.INSTANCE, groupsCollection.parse(TopLevelResource.INSTANCE,
IdString.fromUrl(groupUuid.get())); IdString.fromUrl(groupUuid.get()));
if (!accountsToRemove.isEmpty()) { if (!accountsToRemove.isEmpty()) {
deleteMembers.get().apply(resource, fromMembers(accountsToRemove)); deleteMembers.apply(resource, fromMembers(accountsToRemove));
reportMembersAction("removed from", resource, accountsToRemove); reportMembersAction("removed from", resource, accountsToRemove);
} }
if (!groupsToRemove.isEmpty()) { if (!groupsToRemove.isEmpty()) {
deleteIncludedGroups.get().apply(resource, fromGroups(groupsToRemove)); deleteIncludedGroups.apply(resource, fromGroups(groupsToRemove));
reportGroupsAction("excluded from", resource, groupsToRemove); reportGroupsAction("excluded from", resource, groupsToRemove);
} }
if (!accountsToAdd.isEmpty()) { if (!accountsToAdd.isEmpty()) {
addMembers.get().apply(resource, fromMembers(accountsToAdd)); addMembers.apply(resource, fromMembers(accountsToAdd));
reportMembersAction("added to", resource, accountsToAdd); reportMembersAction("added to", resource, accountsToAdd);
} }
if (!groupsToInclude.isEmpty()) { if (!groupsToInclude.isEmpty()) {
addIncludedGroups.get().apply(resource, fromGroups(groupsToInclude)); addIncludedGroups.apply(resource, fromGroups(groupsToInclude));
reportGroupsAction("included to", resource, groupsToInclude); reportGroupsAction("included to", resource, groupsToInclude);
} }
} }

View File

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