Merge "SSH: Don't use singletons with providers"
This commit is contained in:
@@ -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 {
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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());
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user