Merge branch 'stable-2.13'
* stable-2.13: SetMembersCommand: Handle REST errors gracefully Change-Id: I59cdf98ef4d24fa3f97fb4faaf7964b03b99b454
This commit is contained in:
@@ -19,6 +19,7 @@ import static java.util.stream.Collectors.toList;
|
||||
|
||||
import com.google.common.base.MoreObjects;
|
||||
import com.google.gerrit.extensions.restapi.IdString;
|
||||
import com.google.gerrit.extensions.restapi.RestApiException;
|
||||
import com.google.gerrit.extensions.restapi.TopLevelResource;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.client.AccountGroup;
|
||||
@@ -83,26 +84,30 @@ public class SetMembersCommand extends SshCommand {
|
||||
|
||||
@Override
|
||||
protected void run() throws UnloggedFailure, Failure, Exception {
|
||||
for (AccountGroup.UUID groupUuid : groups) {
|
||||
GroupResource resource =
|
||||
groupsCollection.parse(TopLevelResource.INSTANCE,
|
||||
IdString.fromUrl(groupUuid.get()));
|
||||
if (!accountsToRemove.isEmpty()) {
|
||||
deleteMembers.apply(resource, fromMembers(accountsToRemove));
|
||||
reportMembersAction("removed from", resource, accountsToRemove);
|
||||
}
|
||||
if (!groupsToRemove.isEmpty()) {
|
||||
deleteIncludedGroups.apply(resource, fromGroups(groupsToRemove));
|
||||
reportGroupsAction("excluded from", resource, groupsToRemove);
|
||||
}
|
||||
if (!accountsToAdd.isEmpty()) {
|
||||
addMembers.apply(resource, fromMembers(accountsToAdd));
|
||||
reportMembersAction("added to", resource, accountsToAdd);
|
||||
}
|
||||
if (!groupsToInclude.isEmpty()) {
|
||||
addIncludedGroups.apply(resource, fromGroups(groupsToInclude));
|
||||
reportGroupsAction("included to", resource, groupsToInclude);
|
||||
try {
|
||||
for (AccountGroup.UUID groupUuid : groups) {
|
||||
GroupResource resource =
|
||||
groupsCollection.parse(TopLevelResource.INSTANCE,
|
||||
IdString.fromUrl(groupUuid.get()));
|
||||
if (!accountsToRemove.isEmpty()) {
|
||||
deleteMembers.apply(resource, fromMembers(accountsToRemove));
|
||||
reportMembersAction("removed from", resource, accountsToRemove);
|
||||
}
|
||||
if (!groupsToRemove.isEmpty()) {
|
||||
deleteIncludedGroups.apply(resource, fromGroups(groupsToRemove));
|
||||
reportGroupsAction("excluded from", resource, groupsToRemove);
|
||||
}
|
||||
if (!accountsToAdd.isEmpty()) {
|
||||
addMembers.apply(resource, fromMembers(accountsToAdd));
|
||||
reportMembersAction("added to", resource, accountsToAdd);
|
||||
}
|
||||
if (!groupsToInclude.isEmpty()) {
|
||||
addIncludedGroups.apply(resource, fromGroups(groupsToInclude));
|
||||
reportGroupsAction("included to", resource, groupsToInclude);
|
||||
}
|
||||
}
|
||||
} catch (RestApiException e) {
|
||||
throw die(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user