AccountSecurity: Remove unused enterAgreement method

Change-Id: I4741f039bde46030179c850d00e78c586f8e6a64
This commit is contained in:
David Pursehouse
2016-08-20 13:54:48 +09:00
committed by Edwin Kempin
parent 240e2c6d2f
commit b8fe7ffe1c
2 changed files with 1 additions and 86 deletions

View File

@@ -21,7 +21,6 @@ import com.google.gwtjsonrpc.common.AsyncCallback;
import com.google.gwtjsonrpc.common.RemoteJsonService;
import com.google.gwtjsonrpc.common.RpcImpl;
import com.google.gwtjsonrpc.common.RpcImpl.Version;
import com.google.gwtjsonrpc.common.VoidResult;
import java.util.List;
import java.util.Set;
@@ -35,9 +34,4 @@ public interface AccountSecurity extends RemoteJsonService {
@SignInRequired
void deleteExternalIds(Set<AccountExternalId.Key> keys,
AsyncCallback<Set<AccountExternalId.Key>> callback);
@Audit
@SignInRequired
void enterAgreement(String agreementName,
AsyncCallback<VoidResult> callback);
}

View File

@@ -14,66 +14,31 @@
package com.google.gerrit.httpd.rpc.account;
import com.google.gerrit.audit.AuditService;
import com.google.gerrit.common.data.AccountSecurity;
import com.google.gerrit.common.data.ContributorAgreement;
import com.google.gerrit.common.errors.NoSuchEntityException;
import com.google.gerrit.httpd.rpc.BaseServiceImplementation;
import com.google.gerrit.reviewdb.client.Account;
import com.google.gerrit.reviewdb.client.AccountExternalId;
import com.google.gerrit.reviewdb.client.AccountGroup;
import com.google.gerrit.reviewdb.client.AccountGroupMember;
import com.google.gerrit.reviewdb.server.ReviewDb;
import com.google.gerrit.server.CurrentUser;
import com.google.gerrit.server.IdentifiedUser;
import com.google.gerrit.server.account.AccountCache;
import com.google.gerrit.server.account.GroupCache;
import com.google.gerrit.server.extensions.events.AgreementSignup;
import com.google.gerrit.server.project.ProjectCache;
import com.google.gwtjsonrpc.common.AsyncCallback;
import com.google.gwtjsonrpc.common.VoidResult;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import com.google.inject.Provider;
import java.io.IOException;
import java.util.Collections;
import java.util.List;
import java.util.Set;
class AccountSecurityImpl extends BaseServiceImplementation implements
AccountSecurity {
private final ProjectCache projectCache;
private final Provider<IdentifiedUser> user;
private final AccountCache accountCache;
private final DeleteExternalIds.Factory deleteExternalIdsFactory;
private final ExternalIdDetailFactory.Factory externalIdDetailFactory;
private final GroupCache groupCache;
private final AuditService auditService;
private final AgreementSignup agreementSignup;
@Inject
AccountSecurityImpl(final Provider<ReviewDb> schema,
final Provider<CurrentUser> currentUser,
final Provider<IdentifiedUser> u,
final ProjectCache pc,
final AccountCache uac,
final DeleteExternalIds.Factory deleteExternalIdsFactory,
final ExternalIdDetailFactory.Factory externalIdDetailFactory,
final GroupCache groupCache,
final AuditService auditService,
AgreementSignup agreementSignup) {
final ExternalIdDetailFactory.Factory externalIdDetailFactory) {
super(schema, currentUser);
user = u;
projectCache = pc;
accountCache = uac;
this.auditService = auditService;
this.deleteExternalIdsFactory = deleteExternalIdsFactory;
this.externalIdDetailFactory = externalIdDetailFactory;
this.groupCache = groupCache;
this.agreementSignup = agreementSignup;
}
@Override
@@ -86,48 +51,4 @@ class AccountSecurityImpl extends BaseServiceImplementation implements
final AsyncCallback<Set<AccountExternalId.Key>> callback) {
deleteExternalIdsFactory.create(keys).to(callback);
}
@Override
public void enterAgreement(final String agreementName,
final AsyncCallback<VoidResult> callback) {
run(callback, new Action<VoidResult>() {
@Override
public VoidResult run(final ReviewDb db)
throws OrmException, Failure, IOException {
ContributorAgreement ca = projectCache.getAllProjects().getConfig()
.getContributorAgreement(agreementName);
if (ca == null) {
throw new Failure(new NoSuchEntityException());
}
if (ca.getAutoVerify() == null) {
throw new Failure(new IllegalStateException(
"cannot enter a non-autoVerify agreement"));
} else if (ca.getAutoVerify().getUUID() == null) {
throw new Failure(new NoSuchEntityException());
}
AccountGroup group = groupCache.get(ca.getAutoVerify().getUUID());
if (group == null) {
throw new Failure(new NoSuchEntityException());
}
Account account = user.get().getAccount();
agreementSignup.fire(account, ca.getName());
final AccountGroupMember.Key key =
new AccountGroupMember.Key(account.getId(), group.getId());
AccountGroupMember m = db.accountGroupMembers().get(key);
if (m == null) {
m = new AccountGroupMember(key);
auditService.dispatchAddAccountsToGroup(account.getId(), Collections
.singleton(m));
db.accountGroupMembers().insert(Collections.singleton(m));
accountCache.evict(m.getAccountId());
}
return VoidResult.INSTANCE;
}
});
}
}