Remove old RPC to remove groups from a group

The RPC for removing groups from a group is not used anymore. This
functionality is now covered by the REST API.

Change-Id: I35e87a751d59de7726ec4bfb9ffe11ee54ad4c87
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
diff --git a/gerrit-common/src/main/java/com/google/gerrit/common/data/GroupAdminService.java b/gerrit-common/src/main/java/com/google/gerrit/common/data/GroupAdminService.java
index ae237e4..cf43f84 100644
--- a/gerrit-common/src/main/java/com/google/gerrit/common/data/GroupAdminService.java
+++ b/gerrit-common/src/main/java/com/google/gerrit/common/data/GroupAdminService.java
@@ -17,14 +17,11 @@
 import com.google.gerrit.common.audit.Audit;
 import com.google.gerrit.common.auth.SignInRequired;
 import com.google.gerrit.reviewdb.client.AccountGroup;
-import com.google.gerrit.reviewdb.client.AccountGroupIncludeByUuid;
 import com.google.gwtjsonrpc.common.AsyncCallback;
 import com.google.gwtjsonrpc.common.RemoteJsonService;
 import com.google.gwtjsonrpc.common.RpcImpl;
-import com.google.gwtjsonrpc.common.VoidResult;
 import com.google.gwtjsonrpc.common.RpcImpl.Version;
-
-import java.util.Set;
+import com.google.gwtjsonrpc.common.VoidResult;
 
 @RpcImpl(version = Version.V2_0)
 public interface GroupAdminService extends RemoteJsonService {
@@ -62,9 +59,4 @@
   @SignInRequired
   void addGroupInclude(AccountGroup.Id groupId, AccountGroup.UUID incGroupUUID,
       String incGroupName, AsyncCallback<GroupDetail> callback);
-
-  @Audit
-  @SignInRequired
-  void deleteGroupIncludes(AccountGroup.Id groupId,
-      Set<AccountGroupIncludeByUuid.Key> keys, AsyncCallback<VoidResult> callback);
 }
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/account/GroupAdminServiceImpl.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/account/GroupAdminServiceImpl.java
index 0ddace2..a8971b6 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/account/GroupAdminServiceImpl.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/account/GroupAdminServiceImpl.java
@@ -22,7 +22,6 @@
 import com.google.gerrit.common.errors.NoSuchEntityException;
 import com.google.gerrit.common.errors.NoSuchGroupException;
 import com.google.gerrit.httpd.rpc.BaseServiceImplementation;
-import com.google.gerrit.reviewdb.client.Account;
 import com.google.gerrit.reviewdb.client.AccountGroup;
 import com.google.gerrit.reviewdb.client.AccountGroupIncludeByUuid;
 import com.google.gerrit.reviewdb.client.AccountGroupIncludeByUuidAudit;
@@ -40,8 +39,6 @@
 import com.google.inject.Provider;
 
 import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
 
 class GroupAdminServiceImpl extends BaseServiceImplementation implements
     GroupAdminService {
@@ -188,64 +185,6 @@
     });
   }
 
-  public void deleteGroupIncludes(final AccountGroup.Id groupId,
-      final Set<AccountGroupIncludeByUuid.Key> keys,
-      final AsyncCallback<VoidResult> callback) {
-    run(callback, new Action<VoidResult>() {
-      public VoidResult run(final ReviewDb db) throws OrmException,
-          NoSuchGroupException, Failure {
-        final GroupControl control = groupControlFactory.validateFor(groupId);
-        AccountGroup group = groupCache.get(groupId);
-        if (group.getType() != AccountGroup.Type.INTERNAL) {
-          throw new Failure(new NameAlreadyUsedException());
-        }
-
-        for (final AccountGroupIncludeByUuid.Key k : keys) {
-          if (!groupId.equals(k.getGroupId())) {
-            throw new Failure(new NoSuchEntityException());
-          }
-        }
-
-        final Account.Id me = getAccountId();
-        final Set<AccountGroup.UUID> groupsToEvict = new HashSet<AccountGroup.UUID>();
-        for (final AccountGroupIncludeByUuid.Key k : keys) {
-          final AccountGroupIncludeByUuid m =
-              db.accountGroupIncludesByUuid().get(k);
-          if (m != null) {
-            if (!control.canRemoveGroup(m.getIncludeUUID())) {
-              throw new Failure(new NoSuchEntityException());
-            }
-
-            AccountGroupIncludeByUuidAudit audit = null;
-            for (AccountGroupIncludeByUuidAudit a : db
-                .accountGroupIncludesByUuidAudit().byGroupInclude(
-                    m.getGroupId(), m.getIncludeUUID())) {
-              if (a.isActive()) {
-                audit = a;
-                break;
-              }
-            }
-
-            if (audit != null) {
-              audit.removed(me);
-              db.accountGroupIncludesByUuidAudit().update(
-                  Collections.singleton(audit));
-            }
-            db.accountGroupIncludesByUuid().delete(Collections.singleton(m));
-            groupsToEvict.add(k.getIncludeUUID());
-          }
-        }
-        for (AccountGroup.UUID uuid : groupsToEvict) {
-          groupIncludeCache.evictMemberIn(uuid);
-        }
-        if (!groupsToEvict.isEmpty()) {
-          groupIncludeCache.evictMembersOf(group.getGroupUUID());
-        }
-        return VoidResult.INSTANCE;
-      }
-    });
-  }
-
   private void assertAmGroupOwner(final ReviewDb db, final AccountGroup group)
       throws Failure {
     try {