diff --git a/java/com/google/gerrit/acceptance/AbstractDaemonTest.java b/java/com/google/gerrit/acceptance/AbstractDaemonTest.java index 97394c7893..c631acab70 100644 --- a/java/com/google/gerrit/acceptance/AbstractDaemonTest.java +++ b/java/com/google/gerrit/acceptance/AbstractDaemonTest.java @@ -805,7 +805,7 @@ public abstract class AbstractDaemonTest { } protected Account getAccount(Account.Id accountId) { - return getAccountState(accountId).getAccount(); + return getAccountState(accountId).account(); } protected AccountState getAccountState(Account.Id accountId) { diff --git a/java/com/google/gerrit/acceptance/testsuite/account/AccountOperationsImpl.java b/java/com/google/gerrit/acceptance/testsuite/account/AccountOperationsImpl.java index ec2d75e450..d46cb972a9 100644 --- a/java/com/google/gerrit/acceptance/testsuite/account/AccountOperationsImpl.java +++ b/java/com/google/gerrit/acceptance/testsuite/account/AccountOperationsImpl.java @@ -61,9 +61,9 @@ public class AccountOperationsImpl implements AccountOperations { private Account.Id createAccount(TestAccountCreation accountCreation) throws Exception { AccountsUpdate.AccountUpdater accountUpdater = (account, updateBuilder) -> - fillBuilder(updateBuilder, accountCreation, account.getAccount().id()); + fillBuilder(updateBuilder, accountCreation, account.account().id()); AccountState createdAccount = createAccount(accountUpdater); - return createdAccount.getAccount().id(); + return createdAccount.account().id(); } private AccountState createAccount(AccountsUpdate.AccountUpdater accountUpdater) @@ -129,13 +129,13 @@ public class AccountOperationsImpl implements AccountOperations { } private TestAccount toTestAccount(AccountState accountState) { - Account account = accountState.getAccount(); + Account account = accountState.account(); return TestAccount.builder() .accountId(account.id()) .preferredEmail(Optional.ofNullable(account.preferredEmail())) .fullname(Optional.ofNullable(account.fullName())) - .username(accountState.getUserName()) - .active(accountState.getAccount().isActive()) + .username(accountState.userName()) + .active(accountState.account().isActive()) .build(); } diff --git a/java/com/google/gerrit/elasticsearch/ElasticAccountIndex.java b/java/com/google/gerrit/elasticsearch/ElasticAccountIndex.java index 10ecd68c5d..f7533a4496 100644 --- a/java/com/google/gerrit/elasticsearch/ElasticAccountIndex.java +++ b/java/com/google/gerrit/elasticsearch/ElasticAccountIndex.java @@ -85,7 +85,7 @@ public class ElasticAccountIndex extends AbstractElasticIndex getAllowedUserIds(IdentifiedUser user) { Set result = new HashSet<>(); result.addAll(user.getEmailAddresses()); - for (ExternalId extId : user.state().getExternalIds()) { + for (ExternalId extId : user.state().externalIds()) { if (extId.isScheme(SCHEME_GPGKEY)) { continue; // Omit GPG keys. } diff --git a/java/com/google/gerrit/gpg/server/PostGpgKeys.java b/java/com/google/gerrit/gpg/server/PostGpgKeys.java index bfd7d27e68..62c8660270 100644 --- a/java/com/google/gerrit/gpg/server/PostGpgKeys.java +++ b/java/com/google/gerrit/gpg/server/PostGpgKeys.java @@ -304,12 +304,12 @@ public class PostGpgKeys implements RestModifyView a.getAccount().id().toString()) + .map(a -> a.account().id().toString()) .collect(joining(", ", msg, "]")); throw new IllegalStateException(msg); } - return accountStates.get(0).getAccount(); + return accountStates.get(0).account(); } private Map toJson( diff --git a/java/com/google/gerrit/httpd/ContainerAuthFilter.java b/java/com/google/gerrit/httpd/ContainerAuthFilter.java index 03ed90dc02..517d5dbec3 100644 --- a/java/com/google/gerrit/httpd/ContainerAuthFilter.java +++ b/java/com/google/gerrit/httpd/ContainerAuthFilter.java @@ -112,13 +112,13 @@ class ContainerAuthFilter implements Filter { username = username.toLowerCase(Locale.US); } Optional who = - accountCache.getByUsername(username).filter(a -> a.getAccount().isActive()); + accountCache.getByUsername(username).filter(a -> a.account().isActive()); if (!who.isPresent()) { rsp.sendError(SC_UNAUTHORIZED); return false; } WebSession ws = session.get(); - ws.setUserAccountId(who.get().getAccount().id()); + ws.setUserAccountId(who.get().account().id()); ws.setAccessPathOk(AccessPath.GIT, true); ws.setAccessPathOk(AccessPath.REST_API, true); return true; diff --git a/java/com/google/gerrit/httpd/ProjectBasicAuthFilter.java b/java/com/google/gerrit/httpd/ProjectBasicAuthFilter.java index aa38c27489..95b044781b 100644 --- a/java/com/google/gerrit/httpd/ProjectBasicAuthFilter.java +++ b/java/com/google/gerrit/httpd/ProjectBasicAuthFilter.java @@ -129,7 +129,7 @@ class ProjectBasicAuthFilter implements Filter { } Optional accountState = - accountCache.getByUsername(username).filter(a -> a.getAccount().isActive()); + accountCache.getByUsername(username).filter(a -> a.account().isActive()); if (!accountState.isPresent()) { logger.atWarning().log( "Authentication failed for %s: account inactive or not provisioned in Gerrit", username); @@ -141,7 +141,7 @@ class ProjectBasicAuthFilter implements Filter { GitBasicAuthPolicy gitBasicAuthPolicy = authConfig.getGitBasicAuthPolicy(); if (gitBasicAuthPolicy == GitBasicAuthPolicy.HTTP || gitBasicAuthPolicy == GitBasicAuthPolicy.HTTP_LDAP) { - if (PasswordVerifier.checkPassword(who.getExternalIds(), username, password)) { + if (PasswordVerifier.checkPassword(who.externalIds(), username, password)) { return succeedAuthentication(who); } } @@ -158,7 +158,7 @@ class ProjectBasicAuthFilter implements Filter { setUserIdentified(whoAuthResult.getAccountId()); return true; } catch (NoSuchUserException e) { - if (PasswordVerifier.checkPassword(who.getExternalIds(), username, password)) { + if (PasswordVerifier.checkPassword(who.externalIds(), username, password)) { return succeedAuthentication(who); } logger.atWarning().withCause(e).log(authenticationFailedMsg(username, req)); @@ -178,7 +178,7 @@ class ProjectBasicAuthFilter implements Filter { } private boolean succeedAuthentication(AccountState who) { - setUserIdentified(who.getAccount().id()); + setUserIdentified(who.account().id()); return true; } diff --git a/java/com/google/gerrit/httpd/ProjectOAuthFilter.java b/java/com/google/gerrit/httpd/ProjectOAuthFilter.java index 3bb728f362..0aa9c79c03 100644 --- a/java/com/google/gerrit/httpd/ProjectOAuthFilter.java +++ b/java/com/google/gerrit/httpd/ProjectOAuthFilter.java @@ -152,7 +152,7 @@ class ProjectOAuthFilter implements Filter { } Optional who = - accountCache.getByUsername(authInfo.username).filter(a -> a.getAccount().isActive()); + accountCache.getByUsername(authInfo.username).filter(a -> a.account().isActive()); if (!who.isPresent()) { logger.atWarning().log( authenticationFailedMsg(authInfo.username, req) @@ -161,7 +161,7 @@ class ProjectOAuthFilter implements Filter { return false; } - Account account = who.get().getAccount(); + Account account = who.get().account(); AuthRequest authRequest = AuthRequest.forExternalUser(authInfo.username); authRequest.setEmailAddress(account.preferredEmail()); authRequest.setDisplayName(account.fullName()); diff --git a/java/com/google/gerrit/httpd/RunAsFilter.java b/java/com/google/gerrit/httpd/RunAsFilter.java index 0055fc7b62..b985741dcd 100644 --- a/java/com/google/gerrit/httpd/RunAsFilter.java +++ b/java/com/google/gerrit/httpd/RunAsFilter.java @@ -105,7 +105,7 @@ class RunAsFilter implements Filter { Account.Id target; try { - target = accountResolver.resolve(runas).asUnique().getAccount().id(); + target = accountResolver.resolve(runas).asUnique().account().id(); } catch (UnprocessableEntityException e) { replyError(req, res, SC_FORBIDDEN, "no account matches " + RUN_AS, null); return; diff --git a/java/com/google/gerrit/httpd/auth/become/BecomeAnyAccountLoginServlet.java b/java/com/google/gerrit/httpd/auth/become/BecomeAnyAccountLoginServlet.java index 3eb4bcc72a..a600454d89 100644 --- a/java/com/google/gerrit/httpd/auth/become/BecomeAnyAccountLoginServlet.java +++ b/java/com/google/gerrit/httpd/auth/become/BecomeAnyAccountLoginServlet.java @@ -153,10 +153,10 @@ class BecomeAnyAccountLoginServlet extends HttpServlet { if (!accountState.isPresent()) { continue; } - Account account = accountState.get().getAccount(); + Account account = accountState.get().account(); String displayName; - if (accountState.get().getUserName().isPresent()) { - displayName = accountState.get().getUserName().get(); + if (accountState.get().userName().isPresent()) { + displayName = accountState.get().userName().get(); } else if (account.fullName() != null && !account.fullName().isEmpty()) { displayName = account.fullName(); } else if (account.preferredEmail() != null) { @@ -176,7 +176,7 @@ class BecomeAnyAccountLoginServlet extends HttpServlet { } private Optional auth(Optional account) { - return account.map(a -> new AuthResult(a.getAccount().id(), null, false)); + return account.map(a -> new AuthResult(a.account().id(), null, false)); } private AuthResult auth(Account.Id account) { @@ -196,7 +196,7 @@ class BecomeAnyAccountLoginServlet extends HttpServlet { getServletContext().log("Multiple accounts with username " + userName + " found"); return null; } - return auth(accountStates.get(0).getAccount().id()); + return auth(accountStates.get(0).account().id()); } private Optional byPreferredEmail(String email) { diff --git a/java/com/google/gerrit/lucene/LuceneAccountIndex.java b/java/com/google/gerrit/lucene/LuceneAccountIndex.java index 8e67fda33b..27aa37f249 100644 --- a/java/com/google/gerrit/lucene/LuceneAccountIndex.java +++ b/java/com/google/gerrit/lucene/LuceneAccountIndex.java @@ -62,7 +62,7 @@ public class LuceneAccountIndex extends AbstractLuceneIndex getUserName() { - return state().getUserName(); + return state().userName(); } /** @return unique name of the user for logging, never {@code null} */ @@ -339,7 +339,7 @@ public class IdentifiedUser extends CurrentUser { * @return the account of the identified user, an empty account if the account is missing */ public Account getAccount() { - return state().getAccount(); + return state().account(); } public boolean hasEmailAddress(String email) { @@ -376,7 +376,7 @@ public class IdentifiedUser extends CurrentUser { @Override public GroupMembership getEffectiveGroups() { if (effectiveGroups == null) { - if (authConfig.isIdentityTrustable(state().getExternalIds())) { + if (authConfig.isIdentityTrustable(state().externalIds())) { effectiveGroups = groupBackend.membershipsOf(this); logger.atFinest().log( "Known groups of %s: %s", getLoggableName(), lazy(effectiveGroups::getKnownGroups)); diff --git a/java/com/google/gerrit/server/account/AbstractRealm.java b/java/com/google/gerrit/server/account/AbstractRealm.java index e61736dca1..380001d833 100644 --- a/java/com/google/gerrit/server/account/AbstractRealm.java +++ b/java/com/google/gerrit/server/account/AbstractRealm.java @@ -53,7 +53,7 @@ public abstract class AbstractRealm implements Realm { @Override public boolean hasEmailAddress(IdentifiedUser user, String email) { - for (ExternalId ext : user.state().getExternalIds()) { + for (ExternalId ext : user.state().externalIds()) { if (email != null && email.equalsIgnoreCase(ext.email())) { return true; } @@ -63,7 +63,7 @@ public abstract class AbstractRealm implements Realm { @Override public Set getEmailAddresses(IdentifiedUser user) { - Collection ids = user.state().getExternalIds(); + Collection ids = user.state().externalIds(); Set emails = Sets.newHashSetWithExpectedSize(ids.size()); for (ExternalId ext : ids) { if (!Strings.isNullOrEmpty(ext.email())) { diff --git a/java/com/google/gerrit/server/account/AccountCacheImpl.java b/java/com/google/gerrit/server/account/AccountCacheImpl.java index fe386ee4df..0decc91e6d 100644 --- a/java/com/google/gerrit/server/account/AccountCacheImpl.java +++ b/java/com/google/gerrit/server/account/AccountCacheImpl.java @@ -133,7 +133,7 @@ public class AccountCacheImpl implements AccountCache { } for (Future> f : futures) { try { - f.get().ifPresent(s -> accountStates.put(s.getAccount().id(), s)); + f.get().ifPresent(s -> accountStates.put(s.account().id(), s)); } catch (InterruptedException | ExecutionException e) { logger.atSevere().withCause(e).log("Cannot load AccountState"); } diff --git a/java/com/google/gerrit/server/account/AccountControl.java b/java/com/google/gerrit/server/account/AccountControl.java index fc0bfd0805..05749a1bf9 100644 --- a/java/com/google/gerrit/server/account/AccountControl.java +++ b/java/com/google/gerrit/server/account/AccountControl.java @@ -133,7 +133,7 @@ public class AccountControl { new OtherUser() { @Override Account.Id getId() { - return otherUser.getAccount().id(); + return otherUser.account().id(); } @Override diff --git a/java/com/google/gerrit/server/account/AccountDeactivator.java b/java/com/google/gerrit/server/account/AccountDeactivator.java index 1bd17bc807..3465459102 100644 --- a/java/com/google/gerrit/server/account/AccountDeactivator.java +++ b/java/com/google/gerrit/server/account/AccountDeactivator.java @@ -100,15 +100,15 @@ public class AccountDeactivator implements Runnable { } private boolean processAccount(AccountState accountState) { - if (!accountState.getUserName().isPresent()) { + if (!accountState.userName().isPresent()) { return false; } - String userName = accountState.getUserName().get(); + String userName = accountState.userName().get(); logger.atFine().log("processing account %s", userName); try { - if (realm.accountBelongsToRealm(accountState.getExternalIds()) && !realm.isActive(userName)) { - sif.deactivate(accountState.getAccount().id()); + if (realm.accountBelongsToRealm(accountState.externalIds()) && !realm.isActive(userName)) { + sif.deactivate(accountState.account().id()); logger.atInfo().log("deactivated account %s", userName); return true; } @@ -117,7 +117,7 @@ public class AccountDeactivator implements Runnable { } catch (Exception e) { logger.atSevere().withCause(e).log( "Error deactivating account: %s (%s) %s", - userName, accountState.getAccount().id(), e.getMessage()); + userName, accountState.account().id(), e.getMessage()); } return false; } diff --git a/java/com/google/gerrit/server/account/AccountManager.java b/java/com/google/gerrit/server/account/AccountManager.java index 09757ebdbf..c5d291e581 100644 --- a/java/com/google/gerrit/server/account/AccountManager.java +++ b/java/com/google/gerrit/server/account/AccountManager.java @@ -151,7 +151,7 @@ public class AccountManager { } // Account exists - Optional act = updateAccountActiveStatus(who, accountState.get().getAccount()); + Optional act = updateAccountActiveStatus(who, accountState.get().account()); if (!act.isPresent()) { // The account was deleted since we checked for it last time. This should never happen // since we don't support deletion of accounts. @@ -207,7 +207,7 @@ public class AccountManager { throw new AccountException("Unable to deactivate account " + account.id(), e); } } - return byIdCache.get(account.id()).map(AccountState::getAccount); + return byIdCache.get(account.id()).map(AccountState::account); } private boolean shouldUpdateActiveStatus(AuthRequest authRequest) { @@ -337,7 +337,7 @@ public class AccountManager { addGroupMember(adminGroupUuid, user); } - realm.onCreateAccount(who, accountState.getAccount()); + realm.onCreateAccount(who, accountState.account()); return new AuthResult(newId, extId.key(), true); } @@ -421,7 +421,7 @@ public class AccountManager { to, (a, u) -> { u.addExternalId(newExtId); - if (who.getEmailAddress() != null && a.getAccount().preferredEmail() == null) { + if (who.getEmailAddress() != null && a.account().preferredEmail() == null) { u.setPreferredEmail(who.getEmailAddress()); } }); @@ -450,7 +450,7 @@ public class AccountManager { to, (a, u) -> { Set filteredExtIdsByScheme = - a.getExternalIds().stream() + a.externalIds().stream() .filter(e -> e.key().isScheme(who.getExternalIdKey().scheme())) .collect(toImmutableSet()); if (filteredExtIdsByScheme.isEmpty()) { @@ -514,9 +514,9 @@ public class AccountManager { from, (a, u) -> { u.deleteExternalIds(extIds); - if (a.getAccount().preferredEmail() != null + if (a.account().preferredEmail() != null && extIds.stream() - .anyMatch(e -> a.getAccount().preferredEmail().equals(e.email()))) { + .anyMatch(e -> a.account().preferredEmail().equals(e.email()))) { u.setPreferredEmail(null); } }); diff --git a/java/com/google/gerrit/server/account/AccountResolver.java b/java/com/google/gerrit/server/account/AccountResolver.java index d07765ccd9..058cb62d5f 100644 --- a/java/com/google/gerrit/server/account/AccountResolver.java +++ b/java/com/google/gerrit/server/account/AccountResolver.java @@ -113,9 +113,9 @@ public class AccountResolver { } private static String formatForException(Result result, AccountState state) { - return state.getAccount().id() + return state.account().id() + ": " - + state.getAccount().getNameEmail(result.accountResolver().anonymousCowardName); + + state.account().getNameEmail(result.accountResolver().anonymousCowardName); } public static boolean isSelf(String input) { @@ -135,7 +135,7 @@ public class AccountResolver { } private ImmutableList canonicalize(List list) { - TreeSet set = new TreeSet<>(comparing(a -> a.getAccount().id().get())); + TreeSet set = new TreeSet<>(comparing(a -> a.account().id().get())); set.addAll(requireNonNull(list)); return ImmutableList.copyOf(set); } @@ -160,7 +160,7 @@ public class AccountResolver { } public ImmutableSet asIdSet() { - return list.stream().map(a -> a.getAccount().id()).collect(toImmutableSet()); + return list.stream().map(a -> a.account().id()).collect(toImmutableSet()); } public AccountState asUnique() throws UnresolvableAccountException { @@ -192,7 +192,7 @@ public class AccountResolver { return self.get().asIdentifiedUser(); } return userFactory.runAs( - null, list.get(0).getAccount().id(), requireNonNull(caller).getRealUser()); + null, list.get(0).account().id(), requireNonNull(caller).getRealUser()); } @VisibleForTesting @@ -349,7 +349,7 @@ public class AccountResolver { String name = nameOrEmail.substring(0, lt - 1); ImmutableList nameMatches = allMatches.stream() - .filter(a -> name.equals(a.getAccount().fullName())) + .filter(a -> name.equals(a.account().fullName())) .collect(toImmutableList()); return !nameMatches.isEmpty() ? nameMatches.stream() : allMatches.stream(); } @@ -558,7 +558,7 @@ public class AccountResolver { } private Predicate accountActivityPredicate() { - return (AccountState accountState) -> accountState.getAccount().isActive(); + return (AccountState accountState) -> accountState.account().isActive(); } @VisibleForTesting diff --git a/java/com/google/gerrit/server/account/AccountState.java b/java/com/google/gerrit/server/account/AccountState.java index dd81c93ca9..745f197dac 100644 --- a/java/com/google/gerrit/server/account/AccountState.java +++ b/java/com/google/gerrit/server/account/AccountState.java @@ -14,6 +14,7 @@ package com.google.gerrit.server.account; +import com.google.auto.value.AutoValue; import com.google.common.base.MoreObjects; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; @@ -39,7 +40,8 @@ import org.eclipse.jgit.lib.ObjectId; *

Most callers should not construct AccountStates directly but rather lookup accounts via the * account cache (see {@link AccountCache#get(Account.Id)}). */ -public class AccountState { +@AutoValue +public abstract class AccountState { /** * Creates an AccountState from the given account config. * @@ -90,13 +92,22 @@ public class AccountState { // an open Repository instance. ImmutableMap> projectWatches = accountConfig.getProjectWatches(); - GeneralPreferencesInfo generalPreferences = accountConfig.getGeneralPreferences(); - DiffPreferencesInfo diffPreferences = accountConfig.getDiffPreferences(); - EditPreferencesInfo editPreferences = accountConfig.getEditPreferences(); + Preferences.General generalPreferences = + Preferences.General.fromInfo(accountConfig.getGeneralPreferences()); + Preferences.Diff diffPreferences = + Preferences.Diff.fromInfo(accountConfig.getDiffPreferences()); + Preferences.Edit editPreferences = + Preferences.Edit.fromInfo(accountConfig.getEditPreferences()); return Optional.of( - new AccountState( - account, extIds, projectWatches, generalPreferences, diffPreferences, editPreferences)); + new AutoValue_AccountState( + account, + extIds, + ExternalId.getUserName(extIds), + projectWatches, + generalPreferences, + diffPreferences, + editPreferences)); } /** @@ -118,44 +129,20 @@ public class AccountState { * @return the account state */ public static AccountState forAccount(Account account, Collection extIds) { - return new AccountState( + return new AutoValue_AccountState( account, ImmutableSet.copyOf(extIds), + ExternalId.getUserName(extIds), ImmutableMap.of(), - GeneralPreferencesInfo.defaults(), - DiffPreferencesInfo.defaults(), - EditPreferencesInfo.defaults()); - } - - private final Account account; - private final ImmutableSet externalIds; - private final Optional userName; - private final ImmutableMap> projectWatches; - private final Preferences.General generalPreferences; - private final Preferences.Diff diffPreferences; - private final Preferences.Edit editPreferences; - - private AccountState( - Account account, - ImmutableSet externalIds, - ImmutableMap> projectWatches, - GeneralPreferencesInfo generalPreferences, - DiffPreferencesInfo diffPreferences, - EditPreferencesInfo editPreferences) { - this.account = account; - this.externalIds = externalIds; - this.userName = ExternalId.getUserName(externalIds); - this.projectWatches = projectWatches; - this.generalPreferences = Preferences.General.fromInfo(generalPreferences); - this.diffPreferences = Preferences.Diff.fromInfo(diffPreferences); - this.editPreferences = Preferences.Edit.fromInfo(editPreferences); + Preferences.General.fromInfo(GeneralPreferencesInfo.defaults()), + Preferences.Diff.fromInfo(DiffPreferencesInfo.defaults()), + Preferences.Edit.fromInfo(EditPreferencesInfo.defaults())); } /** Get the cached account metadata. */ - public Account getAccount() { - return account; - } - + public abstract Account account(); + /** The external identities that identify the account holder. */ + public abstract ImmutableSet externalIds(); /** * Get the username, if one has been declared for this user. * @@ -164,39 +151,36 @@ public class AccountState { * @return the username, {@link Optional#empty()} if the user has no username, or if the username * is empty */ - public Optional getUserName() { - return userName; - } - - /** The external identities that identify the account holder. */ - public ImmutableSet getExternalIds() { - return externalIds; - } - + public abstract Optional userName(); /** The project watches of the account. */ - public ImmutableMap> getProjectWatches() { - return projectWatches; - } + public abstract ImmutableMap> projectWatches(); + /** The general preferences of the account. */ /** The general preferences of the account. */ - public GeneralPreferencesInfo getGeneralPreferences() { - return generalPreferences.toInfo(); + public GeneralPreferencesInfo generalPreferences() { + return immutableGeneralPreferences().toInfo(); } /** The diff preferences of the account. */ - public DiffPreferencesInfo getDiffPreferences() { - return diffPreferences.toInfo(); + public DiffPreferencesInfo diffPreferences() { + return immutableDiffPreferences().toInfo(); } /** The edit preferences of the account. */ - public EditPreferencesInfo getEditPreferences() { - return editPreferences.toInfo(); + public EditPreferencesInfo editPreferences() { + return immutableEditPreferences().toInfo(); } @Override - public String toString() { + public final String toString() { MoreObjects.ToStringHelper h = MoreObjects.toStringHelper(this); - h.addValue(getAccount().id()); + h.addValue(account().id()); return h.toString(); } + + protected abstract Preferences.General immutableGeneralPreferences(); + + protected abstract Preferences.Diff immutableDiffPreferences(); + + protected abstract Preferences.Edit immutableEditPreferences(); } diff --git a/java/com/google/gerrit/server/account/AccountsConsistencyChecker.java b/java/com/google/gerrit/server/account/AccountsConsistencyChecker.java index 6ec3a05ae3..289a587790 100644 --- a/java/com/google/gerrit/server/account/AccountsConsistencyChecker.java +++ b/java/com/google/gerrit/server/account/AccountsConsistencyChecker.java @@ -35,9 +35,9 @@ public class AccountsConsistencyChecker { List problems = new ArrayList<>(); for (AccountState accountState : accounts.all()) { - Account account = accountState.getAccount(); + Account account = accountState.account(); if (account.preferredEmail() != null) { - if (!accountState.getExternalIds().stream() + if (!accountState.externalIds().stream() .anyMatch(e -> account.preferredEmail().equals(e.email()))) { addError( String.format( diff --git a/java/com/google/gerrit/server/account/Emails.java b/java/com/google/gerrit/server/account/Emails.java index 1d53ed2ca9..ee2b672bf6 100644 --- a/java/com/google/gerrit/server/account/Emails.java +++ b/java/com/google/gerrit/server/account/Emails.java @@ -82,7 +82,7 @@ public class Emails { } return executeIndexQuery(() -> queryProvider.get().byPreferredEmail(email).stream()) - .map(a -> a.getAccount().id()) + .map(a -> a.account().id()) .collect(toImmutableSet()); } @@ -102,7 +102,7 @@ public class Emails { if (!emailsToBackfill.isEmpty()) { executeIndexQuery( () -> queryProvider.get().byPreferredEmail(emailsToBackfill).entries().stream()) - .forEach(e -> result.put(e.getKey(), e.getValue().getAccount().id())); + .forEach(e -> result.put(e.getKey(), e.getValue().account().id())); } return ImmutableSetMultimap.copyOf(result); } diff --git a/java/com/google/gerrit/server/account/GroupMembers.java b/java/com/google/gerrit/server/account/GroupMembers.java index d7e97ba551..1ce3ccf9b0 100644 --- a/java/com/google/gerrit/server/account/GroupMembers.java +++ b/java/com/google/gerrit/server/account/GroupMembers.java @@ -131,7 +131,7 @@ public class GroupMembers { .filter(groupControl::canSeeMember) .map(accountCache::get) .flatMap(Streams::stream) - .map(AccountState::getAccount) + .map(AccountState::account) .collect(toImmutableSet()); Set indirectMembers = new HashSet<>(); diff --git a/java/com/google/gerrit/server/account/InternalAccountDirectory.java b/java/com/google/gerrit/server/account/InternalAccountDirectory.java index dde8f25a9d..160e355eac 100644 --- a/java/com/google/gerrit/server/account/InternalAccountDirectory.java +++ b/java/com/google/gerrit/server/account/InternalAccountDirectory.java @@ -105,7 +105,7 @@ public class InternalAccountDirectory extends AccountDirectory { AccountState state = accountStates.get(id); if (state != null) { if (!options.contains(FillOptions.SECONDARY_EMAILS) - || Objects.equals(currentUserId, state.getAccount().id()) + || Objects.equals(currentUserId, state.account().id()) || canModifyAccount) { fill(info, accountStates.get(id), options); } else { @@ -120,7 +120,7 @@ public class InternalAccountDirectory extends AccountDirectory { } private void fill(AccountInfo info, AccountState accountState, Set options) { - Account account = accountState.getAccount(); + Account account = accountState.account(); if (options.contains(FillOptions.ID)) { info._accountId = account.id().get(); } else { @@ -130,17 +130,17 @@ public class InternalAccountDirectory extends AccountDirectory { if (options.contains(FillOptions.NAME)) { info.name = Strings.emptyToNull(account.fullName()); if (info.name == null) { - info.name = accountState.getUserName().orElse(null); + info.name = accountState.userName().orElse(null); } } if (options.contains(FillOptions.EMAIL)) { info.email = account.preferredEmail(); } if (options.contains(FillOptions.SECONDARY_EMAILS)) { - info.secondaryEmails = getSecondaryEmails(account, accountState.getExternalIds()); + info.secondaryEmails = getSecondaryEmails(account, accountState.externalIds()); } if (options.contains(FillOptions.USERNAME)) { - info.username = accountState.getUserName().orElse(null); + info.username = accountState.userName().orElse(null); } if (options.contains(FillOptions.STATUS)) { diff --git a/java/com/google/gerrit/server/account/SetInactiveFlag.java b/java/com/google/gerrit/server/account/SetInactiveFlag.java index da2d640b01..5d0b6eccb5 100644 --- a/java/com/google/gerrit/server/account/SetInactiveFlag.java +++ b/java/com/google/gerrit/server/account/SetInactiveFlag.java @@ -56,7 +56,7 @@ public class SetInactiveFlag { "Deactivate Account via API", accountId, (a, u) -> { - if (!a.getAccount().isActive()) { + if (!a.account().isActive()) { alreadyInactive.set(true); } else { try { @@ -89,7 +89,7 @@ public class SetInactiveFlag { "Activate Account via API", accountId, (a, u) -> { - if (a.getAccount().isActive()) { + if (a.account().isActive()) { alreadyActive.set(true); } else { try { diff --git a/java/com/google/gerrit/server/api/groups/GroupsImpl.java b/java/com/google/gerrit/server/api/groups/GroupsImpl.java index a46b59a20b..95dcad436b 100644 --- a/java/com/google/gerrit/server/api/groups/GroupsImpl.java +++ b/java/com/google/gerrit/server/api/groups/GroupsImpl.java @@ -141,7 +141,7 @@ class GroupsImpl implements Groups { if (req.getUser() != null) { try { - list.setUser(accountResolver.resolve(req.getUser()).asUnique().getAccount().id()); + list.setUser(accountResolver.resolve(req.getUser()).asUnique().account().id()); } catch (Exception e) { throw asRestApiException("Error looking up user " + req.getUser(), e); } diff --git a/java/com/google/gerrit/server/args4j/AccountIdHandler.java b/java/com/google/gerrit/server/args4j/AccountIdHandler.java index 36ae88a2d0..26bef4c00e 100644 --- a/java/com/google/gerrit/server/args4j/AccountIdHandler.java +++ b/java/com/google/gerrit/server/args4j/AccountIdHandler.java @@ -62,7 +62,7 @@ public class AccountIdHandler extends OptionHandler { Account.Id accountId; try { try { - accountId = accountResolver.resolve(token).asUnique().getAccount().id(); + accountId = accountResolver.resolve(token).asUnique().account().id(); } catch (UnprocessableEntityException e) { switch (authType) { case HTTP_LDAP: diff --git a/java/com/google/gerrit/server/auth/InternalAuthBackend.java b/java/com/google/gerrit/server/auth/InternalAuthBackend.java index 2821bf6aa3..2f8886b88b 100644 --- a/java/com/google/gerrit/server/auth/InternalAuthBackend.java +++ b/java/com/google/gerrit/server/auth/InternalAuthBackend.java @@ -56,14 +56,14 @@ public class InternalAuthBackend implements AuthBackend { AccountState who = accountCache.getByUsername(username).orElseThrow(UnknownUserException::new); - if (!who.getAccount().isActive()) { + if (!who.account().isActive()) { throw new UserNotAllowedException( "Authentication failed for " + username + ": account inactive or not provisioned in Gerrit"); } - if (!PasswordVerifier.checkPassword(who.getExternalIds(), username, req.getPassword().get())) { + if (!PasswordVerifier.checkPassword(who.externalIds(), username, req.getPassword().get())) { throw new InvalidCredentialsException(); } return new AuthUser(AuthUser.UUID.create(username), username); diff --git a/java/com/google/gerrit/server/auth/ldap/LdapGroupBackend.java b/java/com/google/gerrit/server/auth/ldap/LdapGroupBackend.java index 2433f674f3..4a75158870 100644 --- a/java/com/google/gerrit/server/auth/ldap/LdapGroupBackend.java +++ b/java/com/google/gerrit/server/auth/ldap/LdapGroupBackend.java @@ -179,7 +179,7 @@ public class LdapGroupBackend implements GroupBackend { @Override public GroupMembership membershipsOf(IdentifiedUser user) { - String id = findId(user.state().getExternalIds()); + String id = findId(user.state().externalIds()); if (id == null) { return GroupMembership.EMPTY; } diff --git a/java/com/google/gerrit/server/change/AbandonOp.java b/java/com/google/gerrit/server/change/AbandonOp.java index 31332ecd48..230a03c50a 100644 --- a/java/com/google/gerrit/server/change/AbandonOp.java +++ b/java/com/google/gerrit/server/change/AbandonOp.java @@ -112,7 +112,7 @@ public class AbandonOp implements BatchUpdateOp { try { ReplyToChangeSender cm = abandonedSenderFactory.create(ctx.getProject(), change.getId()); if (accountState != null) { - cm.setFrom(accountState.getAccount().id()); + cm.setFrom(accountState.account().id()); } cm.setChangeMessage(message.getMessage(), ctx.getWhen()); cm.setNotify(notify); diff --git a/java/com/google/gerrit/server/change/ChangeResource.java b/java/com/google/gerrit/server/change/ChangeResource.java index d8d82c628d..4566919a3f 100644 --- a/java/com/google/gerrit/server/change/ChangeResource.java +++ b/java/com/google/gerrit/server/change/ChangeResource.java @@ -223,9 +223,8 @@ public class ChangeResource implements RestResource, HasETag { } private void hashAccount(Hasher h, AccountState accountState, byte[] buf) { - h.putInt(accountState.getAccount().id().get()); - h.putString( - MoreObjects.firstNonNull(accountState.getAccount().metaId(), ZERO_ID_STRING), UTF_8); - accountState.getExternalIds().stream().forEach(e -> hashObjectId(h, e.blobId(), buf)); + h.putInt(accountState.account().id().get()); + h.putString(MoreObjects.firstNonNull(accountState.account().metaId(), ZERO_ID_STRING), UTF_8); + accountState.externalIds().stream().forEach(e -> hashObjectId(h, e.blobId(), buf)); } } diff --git a/java/com/google/gerrit/server/change/DeleteReviewerOp.java b/java/com/google/gerrit/server/change/DeleteReviewerOp.java index 4cb06ba84b..7a6c11f00b 100644 --- a/java/com/google/gerrit/server/change/DeleteReviewerOp.java +++ b/java/com/google/gerrit/server/change/DeleteReviewerOp.java @@ -108,7 +108,7 @@ public class DeleteReviewerOp implements BatchUpdateOp { @Override public boolean updateChange(ChangeContext ctx) throws AuthException, ResourceNotFoundException, PermissionBackendException, IOException { - Account.Id reviewerId = reviewer.getAccount().id(); + Account.Id reviewerId = reviewer.account().id(); // Check of removing this reviewer (even if there is no vote processed by the loop below) is OK removeReviewerControl.checkRemoveReviewer(ctx.getNotes(), ctx.getUser(), reviewerId); @@ -125,7 +125,7 @@ public class DeleteReviewerOp implements BatchUpdateOp { } StringBuilder msg = new StringBuilder(); - msg.append("Removed reviewer " + reviewer.getAccount().fullName()); + msg.append("Removed reviewer " + reviewer.account().fullName()); StringBuilder removedVotesMsg = new StringBuilder(); removedVotesMsg.append(" with the following votes:\n\n"); List del = new ArrayList<>(); @@ -212,13 +212,13 @@ public class DeleteReviewerOp implements BatchUpdateOp { NotifyResolver.Result notify) throws EmailException { Account.Id userId = user.get().getAccountId(); - if (userId.equals(reviewer.getAccount().id())) { + if (userId.equals(reviewer.account().id())) { // The user knows they removed themselves, don't bother emailing them. return; } DeleteReviewerSender cm = deleteReviewerSenderFactory.create(projectName, change.getId()); cm.setFrom(userId); - cm.addReviewers(Collections.singleton(reviewer.getAccount().id())); + cm.addReviewers(Collections.singleton(reviewer.account().id())); cm.setChangeMessage(changeMessage.getMessage(), changeMessage.getWrittenOn()); cm.setNotify(notify); cm.send(); diff --git a/java/com/google/gerrit/server/change/NotifyResolver.java b/java/com/google/gerrit/server/change/NotifyResolver.java index 62c0fdf300..491885dcfb 100644 --- a/java/com/google/gerrit/server/change/NotifyResolver.java +++ b/java/com/google/gerrit/server/change/NotifyResolver.java @@ -99,7 +99,7 @@ public class NotifyResolver { List problems = new ArrayList<>(inputs.size()); for (String nameOrEmail : inputs) { try { - r.add(accountResolver.resolve(nameOrEmail).asUnique().getAccount().id()); + r.add(accountResolver.resolve(nameOrEmail).asUnique().account().id()); } catch (UnprocessableEntityException e) { problems.add(e.getMessage()); } diff --git a/java/com/google/gerrit/server/events/EventFactory.java b/java/com/google/gerrit/server/events/EventFactory.java index bc91807f56..4d5f158732 100644 --- a/java/com/google/gerrit/server/events/EventFactory.java +++ b/java/com/google/gerrit/server/events/EventFactory.java @@ -571,9 +571,9 @@ public class EventFactory { */ public AccountAttribute asAccountAttribute(AccountState accountState) { AccountAttribute who = new AccountAttribute(); - who.name = accountState.getAccount().fullName(); - who.email = accountState.getAccount().preferredEmail(); - who.username = accountState.getUserName().orElse(null); + who.name = accountState.account().fullName(); + who.email = accountState.account().preferredEmail(); + who.username = accountState.userName().orElse(null); return who; } diff --git a/java/com/google/gerrit/server/extensions/events/EventUtil.java b/java/com/google/gerrit/server/extensions/events/EventUtil.java index 8b58f4ff1c..1c4cf4f6d6 100644 --- a/java/com/google/gerrit/server/extensions/events/EventUtil.java +++ b/java/com/google/gerrit/server/extensions/events/EventUtil.java @@ -89,14 +89,14 @@ public class EventUtil { } public AccountInfo accountInfo(AccountState accountState) { - if (accountState == null || accountState.getAccount().id() == null) { + if (accountState == null || accountState.account().id() == null) { return null; } - Account account = accountState.getAccount(); + Account account = accountState.account(); AccountInfo accountInfo = new AccountInfo(account.id().get()); accountInfo.email = account.preferredEmail(); accountInfo.name = account.fullName(); - accountInfo.username = accountState.getUserName().orElse(null); + accountInfo.username = accountState.userName().orElse(null); return accountInfo; } @@ -106,8 +106,7 @@ public class EventUtil { for (Map.Entry e : approvals.entrySet()) { Integer value = e.getValue() != null ? Integer.valueOf(e.getValue()) : null; result.put( - e.getKey(), - new ApprovalInfo(accountState.getAccount().id().get(), value, null, null, ts)); + e.getKey(), new ApprovalInfo(accountState.account().id().get(), value, null, null, ts)); } return result; } diff --git a/java/com/google/gerrit/server/git/receive/ReceiveCommits.java b/java/com/google/gerrit/server/git/receive/ReceiveCommits.java index 3dcb695d48..f67f465f30 100644 --- a/java/com/google/gerrit/server/git/receive/ReceiveCommits.java +++ b/java/com/google/gerrit/server/git/receive/ReceiveCommits.java @@ -1578,10 +1578,10 @@ class ReceiveCommits { this.cmd = cmd; this.draft = cmd.getRefName().startsWith(MagicBranch.NEW_DRAFT_CHANGE); this.labelTypes = labelTypes; - GeneralPreferencesInfo prefs = user.state().getGeneralPreferences(); + GeneralPreferencesInfo prefs = user.state().generalPreferences(); this.defaultPublishComments = prefs != null - ? firstNonNull(user.state().getGeneralPreferences().publishCommentsOnPush, false) + ? firstNonNull(user.state().generalPreferences().publishCommentsOnPush, false) : false; } @@ -1696,7 +1696,7 @@ class ReceiveCommits { } return projectState.is(BooleanProjectConfig.WORK_IN_PROGRESS_BY_DEFAULT) - || firstNonNull(user.state().getGeneralPreferences().workInProgressByDefault, false); + || firstNonNull(user.state().generalPreferences().workInProgressByDefault, false); } NotifyResolver.Result getNotifyForNewChange() { diff --git a/java/com/google/gerrit/server/git/receive/ReplaceOp.java b/java/com/google/gerrit/server/git/receive/ReplaceOp.java index a9a49bfda3..8640670d56 100644 --- a/java/com/google/gerrit/server/git/receive/ReplaceOp.java +++ b/java/com/google/gerrit/server/git/receive/ReplaceOp.java @@ -544,7 +544,7 @@ public class ReplaceOp implements BatchUpdateOp { try { ReplacePatchSetSender cm = replacePatchSetFactory.create(projectState.getNameKey(), notes.getChangeId()); - cm.setFrom(ctx.getAccount().getAccount().id()); + cm.setFrom(ctx.getAccount().account().id()); cm.setPatchSet(newPatchSet, info); cm.setChangeMessage(msg.getMessage(), ctx.getWhen()); cm.setNotify(ctx.getNotify(notes.getChangeId())); diff --git a/java/com/google/gerrit/server/group/db/AuditLogFormatter.java b/java/com/google/gerrit/server/group/db/AuditLogFormatter.java index 454ce685a2..f263d18bcf 100644 --- a/java/com/google/gerrit/server/group/db/AuditLogFormatter.java +++ b/java/com/google/gerrit/server/group/db/AuditLogFormatter.java @@ -51,7 +51,7 @@ public class AuditLogFormatter { } private static Optional getAccount(AccountCache accountCache, Account.Id accountId) { - return accountCache.get(accountId).map(AccountState::getAccount); + return accountCache.get(accountId).map(AccountState::account); } private static Optional getGroup( diff --git a/java/com/google/gerrit/server/index/account/AccountField.java b/java/com/google/gerrit/server/index/account/AccountField.java index f425339174..c6835a0c3e 100644 --- a/java/com/google/gerrit/server/index/account/AccountField.java +++ b/java/com/google/gerrit/server/index/account/AccountField.java @@ -44,7 +44,7 @@ import org.eclipse.jgit.lib.ObjectId; /** Secondary index schemas for accounts. */ public class AccountField { public static final FieldDef ID = - integer("id").stored().build(a -> a.getAccount().id().get()); + integer("id").stored().build(a -> a.account().id().get()); /** * External IDs. @@ -54,7 +54,7 @@ public class AccountField { */ public static final FieldDef> EXTERNAL_ID = exact("external_id") - .buildRepeatable(a -> Iterables.transform(a.getExternalIds(), id -> id.key().get())); + .buildRepeatable(a -> Iterables.transform(a.externalIds(), id -> id.key().get())); /** * Fuzzy prefix match on name and email parts. @@ -69,7 +69,7 @@ public class AccountField { public static final FieldDef> NAME_PART = prefix("name") .buildRepeatable( - a -> getNameParts(a, Iterables.transform(a.getExternalIds(), ExternalId::email))); + a -> getNameParts(a, Iterables.transform(a.externalIds(), ExternalId::email))); /** * Fuzzy prefix match on name and preferred email parts. Parts of secondary emails are not @@ -77,13 +77,13 @@ public class AccountField { */ public static final FieldDef> NAME_PART_NO_SECONDARY_EMAIL = prefix("name2") - .buildRepeatable(a -> getNameParts(a, Arrays.asList(a.getAccount().preferredEmail()))); + .buildRepeatable(a -> getNameParts(a, Arrays.asList(a.account().preferredEmail()))); public static final FieldDef FULL_NAME = - exact("full_name").build(a -> a.getAccount().fullName()); + exact("full_name").build(a -> a.account().fullName()); public static final FieldDef ACTIVE = - exact("inactive").build(a -> a.getAccount().isActive() ? "1" : "0"); + exact("inactive").build(a -> a.account().isActive() ? "1" : "0"); /** * All emails (preferred email + secondary emails). Use this field only if the current user is @@ -95,9 +95,9 @@ public class AccountField { prefix("email") .buildRepeatable( a -> - FluentIterable.from(a.getExternalIds()) + FluentIterable.from(a.externalIds()) .transform(ExternalId::email) - .append(Collections.singleton(a.getAccount().preferredEmail())) + .append(Collections.singleton(a.account().preferredEmail())) .filter(Objects::nonNull) .transform(String::toLowerCase) .toSet()); @@ -106,24 +106,24 @@ public class AccountField { prefix("preferredemail") .build( a -> { - String preferredEmail = a.getAccount().preferredEmail(); + String preferredEmail = a.account().preferredEmail(); return preferredEmail != null ? preferredEmail.toLowerCase() : null; }); public static final FieldDef PREFERRED_EMAIL_EXACT = - exact("preferredemail_exact").build(a -> a.getAccount().preferredEmail()); + exact("preferredemail_exact").build(a -> a.account().preferredEmail()); public static final FieldDef REGISTERED = - timestamp("registered").build(a -> a.getAccount().registeredOn()); + timestamp("registered").build(a -> a.account().registeredOn()); public static final FieldDef USERNAME = - exact("username").build(a -> a.getUserName().map(String::toLowerCase).orElse("")); + exact("username").build(a -> a.userName().map(String::toLowerCase).orElse("")); public static final FieldDef> WATCHED_PROJECT = exact("watchedproject") .buildRepeatable( a -> - FluentIterable.from(a.getProjectWatches().keySet()) + FluentIterable.from(a.projectWatches().keySet()) .transform(k -> k.project().get()) .toSet()); @@ -138,14 +138,14 @@ public class AccountField { storedOnly("ref_state") .buildRepeatable( a -> { - if (a.getAccount().metaId() == null) { + if (a.account().metaId() == null) { return ImmutableList.of(); } return ImmutableList.of( RefState.create( - RefNames.refsUsers(a.getAccount().id()), - ObjectId.fromString(a.getAccount().metaId())) + RefNames.refsUsers(a.account().id()), + ObjectId.fromString(a.account().metaId())) // We use the default AllUsers name to avoid having to pass around that // variable just for indexing. // This field is only used for staleness detection which will discover the @@ -163,13 +163,13 @@ public class AccountField { storedOnly("external_id_state") .buildRepeatable( a -> - a.getExternalIds().stream() + a.externalIds().stream() .filter(e -> e.blobId() != null) .map(ExternalId::toByteArray) .collect(toSet())); private static final Set getNameParts(AccountState a, Iterable emails) { - String fullName = a.getAccount().fullName(); + String fullName = a.account().fullName(); Set parts = SchemaUtil.getNameParts(fullName, emails); // Additional values not currently added by getPersonParts. diff --git a/java/com/google/gerrit/server/mail/MailUtil.java b/java/com/google/gerrit/server/mail/MailUtil.java index 26ebb5c96a..be01aa931c 100644 --- a/java/com/google/gerrit/server/mail/MailUtil.java +++ b/java/com/google/gerrit/server/mail/MailUtil.java @@ -62,7 +62,7 @@ public class MailUtil { @SuppressWarnings("deprecation") private static Account.Id toAccountId(AccountResolver accountResolver, String nameOrEmail) throws UnprocessableEntityException, IOException, ConfigInvalidException { - return accountResolver.resolveByNameOrEmail(nameOrEmail).asUnique().getAccount().id(); + return accountResolver.resolveByNameOrEmail(nameOrEmail).asUnique().account().id(); } private static boolean isReviewer(FooterLine candidateFooterLine) { diff --git a/java/com/google/gerrit/server/mail/receive/MailProcessor.java b/java/com/google/gerrit/server/mail/receive/MailProcessor.java index 034bcc9d3e..4f23fe2d7b 100644 --- a/java/com/google/gerrit/server/mail/receive/MailProcessor.java +++ b/java/com/google/gerrit/server/mail/receive/MailProcessor.java @@ -205,7 +205,7 @@ public class MailProcessor { logger.atWarning().log("Mail: Account %s doesn't exist. Will delete message.", accountId); return; } - if (!accountState.get().getAccount().isActive()) { + if (!accountState.get().account().isActive()) { logger.atWarning().log("Mail: Account %s is inactive. Will delete message.", accountId); sendRejectionEmail(message, InboundEmailRejectionSender.Error.INACTIVE_ACCOUNT); return; diff --git a/java/com/google/gerrit/server/mail/send/ChangeEmail.java b/java/com/google/gerrit/server/mail/send/ChangeEmail.java index 949541eb7c..21c796a216 100644 --- a/java/com/google/gerrit/server/mail/send/ChangeEmail.java +++ b/java/com/google/gerrit/server/mail/send/ChangeEmail.java @@ -334,7 +334,7 @@ public abstract class ChangeEmail extends NotificationEmail { protected void removeUsersThatIgnoredTheChange() { for (Map.Entry> e : stars.asMap().entrySet()) { if (e.getValue().contains(StarredChangesUtil.IGNORE_LABEL)) { - args.accountCache.get(e.getKey()).ifPresent(a -> removeUser(a.getAccount())); + args.accountCache.get(e.getKey()).ifPresent(a -> removeUser(a.account())); } } } diff --git a/java/com/google/gerrit/server/mail/send/FromAddressGeneratorProvider.java b/java/com/google/gerrit/server/mail/send/FromAddressGeneratorProvider.java index c5f0257241..bd42c26453 100644 --- a/java/com/google/gerrit/server/mail/send/FromAddressGeneratorProvider.java +++ b/java/com/google/gerrit/server/mail/send/FromAddressGeneratorProvider.java @@ -123,7 +123,7 @@ public class FromAddressGeneratorProvider implements Provider a = accountCache.get(fromId).map(AccountState::getAccount); + Optional a = accountCache.get(fromId).map(AccountState::account); String fullName = a.map(Account::fullName).orElse(null); String userEmail = a.map(Account::preferredEmail).orElse(null); if (canRelay(userEmail)) { @@ -208,7 +208,7 @@ public class FromAddressGeneratorProvider implements Provider a.getAccount().fullName()).orElse(null); + String fullName = accountCache.get(fromId).map(a -> a.account().fullName()).orElse(null); if (fullName == null || "".equals(fullName)) { fullName = anonymousCowardName; } diff --git a/java/com/google/gerrit/server/mail/send/OutgoingEmail.java b/java/com/google/gerrit/server/mail/send/OutgoingEmail.java index 61b5327374..3e32628cd3 100644 --- a/java/com/google/gerrit/server/mail/send/OutgoingEmail.java +++ b/java/com/google/gerrit/server/mail/send/OutgoingEmail.java @@ -116,7 +116,7 @@ public abstract class OutgoingEmail { if (fromId != null) { Optional fromUser = args.accountCache.get(fromId); if (fromUser.isPresent()) { - GeneralPreferencesInfo senderPrefs = fromUser.get().getGeneralPreferences(); + GeneralPreferencesInfo senderPrefs = fromUser.get().generalPreferences(); if (senderPrefs != null && senderPrefs.getEmailStrategy() == CC_ON_OWN_COMMENTS) { // If we are impersonating a user, make sure they receive a CC of // this message so they can always review and audit what we sent @@ -127,7 +127,7 @@ public abstract class OutgoingEmail { // If they don't want a copy, but we queued one up anyway, // drop them from the recipient lists. // - removeUser(fromUser.get().getAccount()); + removeUser(fromUser.get().account()); } } } @@ -137,8 +137,8 @@ public abstract class OutgoingEmail { for (Account.Id id : rcptTo) { Optional thisUser = args.accountCache.get(id); if (thisUser.isPresent()) { - Account thisUserAccount = thisUser.get().getAccount(); - GeneralPreferencesInfo prefs = thisUser.get().getGeneralPreferences(); + Account thisUserAccount = thisUser.get().account(); + GeneralPreferencesInfo prefs = thisUser.get().generalPreferences(); if (prefs == null || prefs.getEmailStrategy() == DISABLED) { removeUser(thisUserAccount); } else if (useHtml() && prefs.getEmailFormat() == EmailFormat.PLAINTEXT) { @@ -248,7 +248,7 @@ public abstract class OutgoingEmail { protected String getFromLine() { StringBuilder f = new StringBuilder(); - Optional account = args.accountCache.get(fromId).map(AccountState::getAccount); + Optional account = args.accountCache.get(fromId).map(AccountState::account); if (account.isPresent()) { String name = account.get().fullName(); String email = account.get().preferredEmail(); @@ -324,7 +324,7 @@ public abstract class OutgoingEmail { return args.gerritPersonIdent.getName(); } - Optional account = args.accountCache.get(accountId).map(AccountState::getAccount); + Optional account = args.accountCache.get(accountId).map(AccountState::account); String name = null; if (account.isPresent()) { name = account.get().fullName(); @@ -346,7 +346,7 @@ public abstract class OutgoingEmail { * @return name/email of account, or Anonymous Coward if unset. */ protected String getNameEmailFor(Account.Id accountId) { - Optional account = args.accountCache.get(accountId).map(AccountState::getAccount); + Optional account = args.accountCache.get(accountId).map(AccountState::account); if (account.isPresent()) { String name = account.get().fullName(); String email = account.get().preferredEmail(); @@ -374,7 +374,7 @@ public abstract class OutgoingEmail { return null; } - Account account = accountState.get().getAccount(); + Account account = accountState.get().account(); String name = account.fullName(); String email = account.preferredEmail(); if (name != null && email != null) { @@ -384,7 +384,7 @@ public abstract class OutgoingEmail { } else if (name != null) { return name; } - return accountState.get().getUserName().orElse(null); + return accountState.get().userName().orElse(null); } protected boolean shouldSendMessage() { @@ -505,7 +505,7 @@ public abstract class OutgoingEmail { } private Address toAddress(Account.Id id) { - Optional accountState = args.accountCache.get(id).map(AccountState::getAccount); + Optional accountState = args.accountCache.get(id).map(AccountState::account); if (!accountState.isPresent()) { return null; } diff --git a/java/com/google/gerrit/server/mail/send/ProjectWatch.java b/java/com/google/gerrit/server/mail/send/ProjectWatch.java index 8b426ac2d1..37ef801379 100644 --- a/java/com/google/gerrit/server/mail/send/ProjectWatch.java +++ b/java/com/google/gerrit/server/mail/send/ProjectWatch.java @@ -66,9 +66,8 @@ public class ProjectWatch { Set projectWatchers = new HashSet<>(); for (AccountState a : args.accountQueryProvider.get().byWatchedProject(project)) { - Account.Id accountId = a.getAccount().id(); - for (Map.Entry> e : - a.getProjectWatches().entrySet()) { + Account.Id accountId = a.account().id(); + for (Map.Entry> e : a.projectWatches().entrySet()) { if (project.equals(e.getKey().project()) && add(matching, accountId, e.getKey(), e.getValue(), type)) { // We only want to prevent matching All-Projects if this filter hits @@ -78,10 +77,9 @@ public class ProjectWatch { } for (AccountState a : args.accountQueryProvider.get().byWatchedProject(args.allProjectsName)) { - for (Map.Entry> e : - a.getProjectWatches().entrySet()) { + for (Map.Entry> e : a.projectWatches().entrySet()) { if (args.allProjectsName.equals(e.getKey().project())) { - Account.Id accountId = a.getAccount().id(); + Account.Id accountId = a.account().id(); if (!projectWatchers.contains(accountId)) { add(matching, accountId, e.getKey(), e.getValue(), type); } diff --git a/java/com/google/gerrit/server/query/account/AccountQueryProcessor.java b/java/com/google/gerrit/server/query/account/AccountQueryProcessor.java index 19d221595f..2e29bbd4f6 100644 --- a/java/com/google/gerrit/server/query/account/AccountQueryProcessor.java +++ b/java/com/google/gerrit/server/query/account/AccountQueryProcessor.java @@ -77,6 +77,6 @@ public class AccountQueryProcessor extends QueryProcessor { @Override protected String formatForLogging(AccountState accountState) { - return accountState.getAccount().id().toString(); + return accountState.account().id().toString(); } } diff --git a/java/com/google/gerrit/server/query/account/CanSeeChangePredicate.java b/java/com/google/gerrit/server/query/account/CanSeeChangePredicate.java index c2d8de9ef2..0252a0689c 100644 --- a/java/com/google/gerrit/server/query/account/CanSeeChangePredicate.java +++ b/java/com/google/gerrit/server/query/account/CanSeeChangePredicate.java @@ -37,7 +37,7 @@ public class CanSeeChangePredicate extends PostFilterPredicate { public boolean match(AccountState accountState) { try { permissionBackend - .absentUser(accountState.getAccount().id()) + .absentUser(accountState.account().id()) .change(changeNotes) .check(ChangePermission.READ); return true; diff --git a/java/com/google/gerrit/server/query/account/InternalAccountQuery.java b/java/com/google/gerrit/server/query/account/InternalAccountQuery.java index 09c2d51209..ef6f2cb70f 100644 --- a/java/com/google/gerrit/server/query/account/InternalAccountQuery.java +++ b/java/com/google/gerrit/server/query/account/InternalAccountQuery.java @@ -76,8 +76,7 @@ public class InternalAccountQuery extends InternalQuery a.getAccount().id().toString()).collect(toList())); + msg, accountStates.stream().map(a -> a.account().id().toString()).collect(toList())); logger.atWarning().log(msg.toString()); } return null; @@ -103,7 +102,7 @@ public class InternalAccountQuery extends InternalQuery a.getAccount().preferredEmail().equals(email)) + .filter(a -> a.account().preferredEmail().equals(email)) .collect(toList()); } @@ -136,7 +135,7 @@ public class InternalAccountQuery extends InternalQuery matchingAccounts = r.get(i).stream() - .filter(a -> a.getAccount().preferredEmail().equals(email)) + .filter(a -> a.account().preferredEmail().equals(email)) .collect(toSet()); accountsByEmail.putAll(email, matchingAccounts); } diff --git a/java/com/google/gerrit/server/query/change/IsWatchedByPredicate.java b/java/com/google/gerrit/server/query/change/IsWatchedByPredicate.java index 6028f2df9f..218a89d6a0 100644 --- a/java/com/google/gerrit/server/query/change/IsWatchedByPredicate.java +++ b/java/com/google/gerrit/server/query/change/IsWatchedByPredicate.java @@ -93,7 +93,7 @@ public class IsWatchedByPredicate extends AndPredicate { throws QueryParseException { CurrentUser user = args.getUser(); if (user.isIdentifiedUser()) { - return user.asIdentifiedUser().state().getProjectWatches().keySet(); + return user.asIdentifiedUser().state().projectWatches().keySet(); } return Collections.emptySet(); } diff --git a/java/com/google/gerrit/server/restapi/account/GetDiffPreferences.java b/java/com/google/gerrit/server/restapi/account/GetDiffPreferences.java index c9773f5774..e6c17a90dd 100644 --- a/java/com/google/gerrit/server/restapi/account/GetDiffPreferences.java +++ b/java/com/google/gerrit/server/restapi/account/GetDiffPreferences.java @@ -59,7 +59,7 @@ public class GetDiffPreferences implements RestReadView { return Response.ok( accountCache .get(id) - .map(AccountState::getDiffPreferences) + .map(AccountState::diffPreferences) .orElseThrow(() -> new ResourceNotFoundException(IdString.fromDecoded(id.toString())))); } } diff --git a/java/com/google/gerrit/server/restapi/account/GetEditPreferences.java b/java/com/google/gerrit/server/restapi/account/GetEditPreferences.java index ae3a2155e3..ccc678fbf2 100644 --- a/java/com/google/gerrit/server/restapi/account/GetEditPreferences.java +++ b/java/com/google/gerrit/server/restapi/account/GetEditPreferences.java @@ -59,7 +59,7 @@ public class GetEditPreferences implements RestReadView { return Response.ok( accountCache .get(id) - .map(AccountState::getEditPreferences) + .map(AccountState::editPreferences) .orElseThrow(() -> new ResourceNotFoundException(IdString.fromDecoded(id.toString())))); } } diff --git a/java/com/google/gerrit/server/restapi/account/GetPreferences.java b/java/com/google/gerrit/server/restapi/account/GetPreferences.java index 90884c7a13..508d2943c3 100644 --- a/java/com/google/gerrit/server/restapi/account/GetPreferences.java +++ b/java/com/google/gerrit/server/restapi/account/GetPreferences.java @@ -65,7 +65,7 @@ public class GetPreferences implements RestReadView { GeneralPreferencesInfo preferencesInfo = accountCache .get(id) - .map(AccountState::getGeneralPreferences) + .map(AccountState::generalPreferences) .orElseThrow(() -> new ResourceNotFoundException(IdString.fromDecoded(id.toString()))); return Response.ok(unsetDownloadSchemeIfUnsupported(preferencesInfo)); } diff --git a/java/com/google/gerrit/server/restapi/account/GetWatchedProjects.java b/java/com/google/gerrit/server/restapi/account/GetWatchedProjects.java index d60bfd5b16..fbf1770030 100644 --- a/java/com/google/gerrit/server/restapi/account/GetWatchedProjects.java +++ b/java/com/google/gerrit/server/restapi/account/GetWatchedProjects.java @@ -66,7 +66,7 @@ public class GetWatchedProjects implements RestReadView { Account.Id accountId = rsrc.getUser().getAccountId(); AccountState account = accounts.get(accountId).orElseThrow(ResourceNotFoundException::new); return Response.ok( - account.getProjectWatches().entrySet().stream() + account.projectWatches().entrySet().stream() .map(e -> toProjectWatchInfo(e.getKey(), e.getValue())) .sorted( comparing((ProjectWatchInfo pwi) -> pwi.project) diff --git a/java/com/google/gerrit/server/restapi/account/PutAgreement.java b/java/com/google/gerrit/server/restapi/account/PutAgreement.java index 5985e17018..991f43c079 100644 --- a/java/com/google/gerrit/server/restapi/account/PutAgreement.java +++ b/java/com/google/gerrit/server/restapi/account/PutAgreement.java @@ -93,7 +93,7 @@ public class PutAgreement implements RestModifyView { .get() .update("Set Full Name via API", user.getAccountId(), u -> u.setFullName(newName)) .orElseThrow(() -> new ResourceNotFoundException("account not found")); - return Strings.isNullOrEmpty(accountState.getAccount().fullName()) + return Strings.isNullOrEmpty(accountState.account().fullName()) ? Response.none() - : Response.ok(accountState.getAccount().fullName()); + : Response.ok(accountState.account().fullName()); } } diff --git a/java/com/google/gerrit/server/restapi/account/PutPreferred.java b/java/com/google/gerrit/server/restapi/account/PutPreferred.java index 3799b24e57..2ddea2f05d 100644 --- a/java/com/google/gerrit/server/restapi/account/PutPreferred.java +++ b/java/com/google/gerrit/server/restapi/account/PutPreferred.java @@ -85,13 +85,13 @@ public class PutPreferred implements RestModifyView { - if (preferredEmail.equals(a.getAccount().preferredEmail())) { + if (preferredEmail.equals(a.account().preferredEmail())) { alreadyPreferred.set(true); } else { // check if the user has a matching email String matchingEmail = null; for (String email : - a.getExternalIds().stream() + a.externalIds().stream() .map(ExternalId::email) .filter(Objects::nonNull) .collect(toSet())) { @@ -128,7 +128,7 @@ public class PutPreferred implements RestModifyView { .get() .update("Set Status via API", user.getAccountId(), u -> u.setStatus(newStatus)) .orElseThrow(() -> new ResourceNotFoundException("account not found")); - return Strings.isNullOrEmpty(accountState.getAccount().status()) + return Strings.isNullOrEmpty(accountState.account().status()) ? Response.none() - : Response.ok(accountState.getAccount().status()); + : Response.ok(accountState.account().status()); } } diff --git a/java/com/google/gerrit/server/restapi/account/QueryAccounts.java b/java/com/google/gerrit/server/restapi/account/QueryAccounts.java index 55019f46c1..fb2d7d1dce 100644 --- a/java/com/google/gerrit/server/restapi/account/QueryAccounts.java +++ b/java/com/google/gerrit/server/restapi/account/QueryAccounts.java @@ -210,7 +210,7 @@ public class QueryAccounts implements RestReadView { } QueryResult result = queryProcessor.query(queryPred); for (AccountState accountState : result.entities()) { - Account.Id id = accountState.getAccount().id(); + Account.Id id = accountState.account().id(); matches.put(id, accountLoader.get(id)); } diff --git a/java/com/google/gerrit/server/restapi/account/SetDiffPreferences.java b/java/com/google/gerrit/server/restapi/account/SetDiffPreferences.java index 1a63993193..2d188970b8 100644 --- a/java/com/google/gerrit/server/restapi/account/SetDiffPreferences.java +++ b/java/com/google/gerrit/server/restapi/account/SetDiffPreferences.java @@ -70,7 +70,7 @@ public class SetDiffPreferences implements RestModifyView u.setDiffPreferences(input)) - .map(AccountState::getDiffPreferences) + .map(AccountState::diffPreferences) .orElseThrow(() -> new ResourceNotFoundException(IdString.fromDecoded(id.toString())))); } } diff --git a/java/com/google/gerrit/server/restapi/account/SetEditPreferences.java b/java/com/google/gerrit/server/restapi/account/SetEditPreferences.java index c85adde3d4..b5c7305ab1 100644 --- a/java/com/google/gerrit/server/restapi/account/SetEditPreferences.java +++ b/java/com/google/gerrit/server/restapi/account/SetEditPreferences.java @@ -71,7 +71,7 @@ public class SetEditPreferences implements RestModifyView u.setEditPreferences(input)) - .map(AccountState::getEditPreferences) + .map(AccountState::editPreferences) .orElseThrow(() -> new ResourceNotFoundException(IdString.fromDecoded(id.toString())))); } } diff --git a/java/com/google/gerrit/server/restapi/account/SetPreferences.java b/java/com/google/gerrit/server/restapi/account/SetPreferences.java index 54f0d9b7d3..ad22851b82 100644 --- a/java/com/google/gerrit/server/restapi/account/SetPreferences.java +++ b/java/com/google/gerrit/server/restapi/account/SetPreferences.java @@ -75,7 +75,7 @@ public class SetPreferences implements RestModifyView u.setGeneralPreferences(input)) - .map(AccountState::getGeneralPreferences) + .map(AccountState::generalPreferences) .orElseThrow(() -> new ResourceNotFoundException(IdString.fromDecoded(id.toString())))); } diff --git a/java/com/google/gerrit/server/restapi/change/CreateChange.java b/java/com/google/gerrit/server/restapi/change/CreateChange.java index c6c9595354..564f9e767e 100644 --- a/java/com/google/gerrit/server/restapi/change/CreateChange.java +++ b/java/com/google/gerrit/server/restapi/change/CreateChange.java @@ -258,7 +258,7 @@ public class CreateChange input.workInProgress = true; } else { input.workInProgress = - firstNonNull(me.state().getGeneralPreferences().workInProgressByDefault, false); + firstNonNull(me.state().generalPreferences().workInProgressByDefault, false); } } @@ -426,15 +426,14 @@ public class CreateChange commitMessage = ChangeIdUtil.insertId(commitMessage, id); } - if (Boolean.TRUE.equals(me.state().getGeneralPreferences().signedOffBy)) { + if (Boolean.TRUE.equals(me.state().generalPreferences().signedOffBy)) { commitMessage = Joiner.on("\n") .join( commitMessage.trim(), String.format( "%s%s", - SIGNED_OFF_BY_TAG, - me.state().getAccount().getNameEmail(anonymousCowardName))); + SIGNED_OFF_BY_TAG, me.state().account().getNameEmail(anonymousCowardName))); } return commitMessage; diff --git a/java/com/google/gerrit/server/restapi/change/DeleteAssignee.java b/java/com/google/gerrit/server/restapi/change/DeleteAssignee.java index 2a4f16be48..01945fd4b4 100644 --- a/java/com/google/gerrit/server/restapi/change/DeleteAssignee.java +++ b/java/com/google/gerrit/server/restapi/change/DeleteAssignee.java @@ -104,7 +104,7 @@ public class DeleteAssignee extends RetryingRestModifyView { throws UnprocessableEntityException, IOException, ConfigInvalidException { AccountResolver.Result result = accountResolver.resolve(nameOrEmailOrId); try { - return result.asUnique().getAccount(); + return result.asUnique().account(); } catch (UnresolvableAccountException e) { switch (authType) { case HTTP_LDAP: @@ -193,7 +193,7 @@ public class AddMembers implements RestModifyView { req.setSkipAuthentication(true); return accountCache .get(accountManager.authenticate(req).getAccountId()) - .map(AccountState::getAccount); + .map(AccountState::account); } catch (AccountException e) { return Optional.empty(); } diff --git a/java/com/google/gerrit/server/restapi/group/DeleteMembers.java b/java/com/google/gerrit/server/restapi/group/DeleteMembers.java index 5d1d4478cd..3428779b0d 100644 --- a/java/com/google/gerrit/server/restapi/group/DeleteMembers.java +++ b/java/com/google/gerrit/server/restapi/group/DeleteMembers.java @@ -68,7 +68,7 @@ public class DeleteMembers implements RestModifyView { Set membersToRemove = new HashSet<>(); for (String nameOrEmail : input.members) { - membersToRemove.add(accountResolver.resolve(nameOrEmail).asUnique().getAccount().id()); + membersToRemove.add(accountResolver.resolve(nameOrEmail).asUnique().account().id()); } AccountGroup.UUID groupUuid = internalGroup.getGroupUUID(); try { diff --git a/java/com/google/gerrit/server/restapi/project/CheckAccess.java b/java/com/google/gerrit/server/restapi/project/CheckAccess.java index 516e126032..78ffddaa10 100644 --- a/java/com/google/gerrit/server/restapi/project/CheckAccess.java +++ b/java/com/google/gerrit/server/restapi/project/CheckAccess.java @@ -73,7 +73,7 @@ public class CheckAccess implements RestModifyView account = - args.accountCache.get(submitter.accountId()).map(AccountState::getAccount); + args.accountCache.get(submitter.accountId()).map(AccountState::account); if (account.isPresent() && account.get().fullName() != null) { return " by " + account.get().fullName(); } diff --git a/java/com/google/gerrit/server/update/Context.java b/java/com/google/gerrit/server/update/Context.java index 8704cf03fe..12ea9864a0 100644 --- a/java/com/google/gerrit/server/update/Context.java +++ b/java/com/google/gerrit/server/update/Context.java @@ -114,7 +114,7 @@ public interface Context { /** * Get the account of the user performing the update. * - *

Convenience method for {@code getIdentifiedUser().getAccount()}. + *

Convenience method for {@code getIdentifiedUser().account()}. * * @see CurrentUser#asIdentifiedUser() * @return account. diff --git a/java/com/google/gerrit/sshd/GerritGSSAuthenticator.java b/java/com/google/gerrit/sshd/GerritGSSAuthenticator.java index 01a8cb6253..72a6f3a315 100644 --- a/java/com/google/gerrit/sshd/GerritGSSAuthenticator.java +++ b/java/com/google/gerrit/sshd/GerritGSSAuthenticator.java @@ -66,7 +66,7 @@ class GerritGSSAuthenticator extends GSSAuthenticator { } Optional account = - accounts.getByUsername(username).map(AccountState::getAccount).filter(Account::isActive); + accounts.getByUsername(username).map(AccountState::account).filter(Account::isActive); if (!account.isPresent()) { return false; } diff --git a/java/com/google/gerrit/sshd/commands/LsUserRefs.java b/java/com/google/gerrit/sshd/commands/LsUserRefs.java index ae3d59e587..648256aafd 100644 --- a/java/com/google/gerrit/sshd/commands/LsUserRefs.java +++ b/java/com/google/gerrit/sshd/commands/LsUserRefs.java @@ -76,7 +76,7 @@ public class LsUserRefs extends SshCommand { protected void run() throws Failure { Account.Id userAccountId; try { - userAccountId = accountResolver.resolve(userName).asUnique().getAccount().id(); + userAccountId = accountResolver.resolve(userName).asUnique().account().id(); } catch (UnprocessableEntityException e) { stdout.println(e.getMessage()); stdout.flush(); diff --git a/java/com/google/gerrit/sshd/commands/SetMembersCommand.java b/java/com/google/gerrit/sshd/commands/SetMembersCommand.java index 578f6fea84..de3d4f0033 100644 --- a/java/com/google/gerrit/sshd/commands/SetMembersCommand.java +++ b/java/com/google/gerrit/sshd/commands/SetMembersCommand.java @@ -140,7 +140,7 @@ public class SetMembersCommand extends SshCommand { return "n/a"; } return MoreObjects.firstNonNull( - accountState.get().getAccount().preferredEmail(), "n/a"); + accountState.get().account().preferredEmail(), "n/a"); }) .collect(joining(", ")); out.write( diff --git a/javatests/com/google/gerrit/acceptance/api/accounts/AccountIT.java b/javatests/com/google/gerrit/acceptance/api/accounts/AccountIT.java index eb59669c7a..47bc7b3fef 100644 --- a/javatests/com/google/gerrit/acceptance/api/accounts/AccountIT.java +++ b/javatests/com/google/gerrit/acceptance/api/accounts/AccountIT.java @@ -433,7 +433,7 @@ public class AccountIT extends AbstractDaemonTest { "Create Account Atomically", accountId, u -> u.setFullName(fullName).addExternalId(extId)); - assertThat(accountState.getAccount().fullName()).isEqualTo(fullName); + assertThat(accountState.account().fullName()).isEqualTo(fullName); AccountInfo info = gApi.accounts().id(accountId.get()).get(); assertThat(info.name).isEqualTo(fullName); @@ -473,7 +473,7 @@ public class AccountIT extends AbstractDaemonTest { .get() .update("Set status", anonymousCoward.id(), u -> u.setStatus(status)); assertThat(accountState).isPresent(); - Account account = accountState.get().getAccount(); + Account account = accountState.get().account(); assertThat(account.fullName()).isNull(); assertThat(account.status()).isEqualTo(status); assertUserBranch(anonymousCoward.id(), null, status); @@ -596,7 +596,7 @@ public class AccountIT extends AbstractDaemonTest { new AccountActivationValidationListener() { @Override public void validateActivation(AccountState account) throws ValidationException { - String preferredEmail = account.getAccount().preferredEmail(); + String preferredEmail = account.account().preferredEmail(); if (preferredEmail == null || !preferredEmail.endsWith("@activatable.com")) { throw new ValidationException("not allowed to active account"); } @@ -604,7 +604,7 @@ public class AccountIT extends AbstractDaemonTest { @Override public void validateDeactivation(AccountState account) throws ValidationException { - String preferredEmail = account.getAccount().preferredEmail(); + String preferredEmail = account.account().preferredEmail(); if (preferredEmail == null || !preferredEmail.endsWith("@deactivatable.com")) { throw new ValidationException("not allowed to deactive account"); } @@ -2461,21 +2461,20 @@ public class AccountIT extends AbstractDaemonTest { @Test public void checkMetaId() throws Exception { // metaId is set when account is loaded - assertThat(accounts.get(admin.id()).get().getAccount().metaId()) - .isEqualTo(getMetaId(admin.id())); + assertThat(accounts.get(admin.id()).get().account().metaId()).isEqualTo(getMetaId(admin.id())); // metaId is set when account is created AccountsUpdate au = accountsUpdateProvider.get(); Account.Id accountId = Account.id(seq.nextAccountId()); AccountState accountState = au.insert("Create Test Account", accountId, u -> {}); - assertThat(accountState.getAccount().metaId()).isEqualTo(getMetaId(accountId)); + assertThat(accountState.account().metaId()).isEqualTo(getMetaId(accountId)); // metaId is set when account is updated Optional updatedAccountState = au.update("Set Full Name", accountId, u -> u.setFullName("foo")); assertThat(updatedAccountState).isPresent(); - Account updatedAccount = updatedAccountState.get().getAccount(); - assertThat(accountState.getAccount().metaId()).isNotEqualTo(updatedAccount.metaId()); + Account updatedAccount = updatedAccountState.get().account(); + assertThat(accountState.account().metaId()).isNotEqualTo(updatedAccount.metaId()); assertThat(updatedAccount.metaId()).isEqualTo(getMetaId(accountId)); } @@ -2621,7 +2620,7 @@ public class AccountIT extends AbstractDaemonTest { assertThat(doneBgUpdate.get()).isTrue(); assertThat(updatedAccountState).isPresent(); - Account updatedAccount = updatedAccountState.get().getAccount(); + Account updatedAccount = updatedAccountState.get().account(); assertThat(updatedAccount.status()).isEqualTo(status); assertThat(updatedAccount.fullName()).isEqualTo(fullName); @@ -2678,7 +2677,7 @@ public class AccountIT extends AbstractDaemonTest { () -> update.update("Set Full Name", admin.id(), u -> u.setFullName(fullName))); assertThat(bgCounter.get()).isEqualTo(status.size()); - Account updatedAccount = accounts.get(admin.id()).get().getAccount(); + Account updatedAccount = accounts.get(admin.id()).get().account(); assertThat(updatedAccount.status()).isEqualTo(Iterables.getLast(status)); assertThat(updatedAccount.fullName()).isEqualTo(admin.fullName()); @@ -2730,12 +2729,12 @@ public class AccountIT extends AbstractDaemonTest { "Set Status", admin.id(), (a, u) -> { - if ("A-1".equals(a.getAccount().status())) { + if ("A-1".equals(a.account().status())) { bgCounterA1.getAndIncrement(); u.setStatus("B-1"); } - if ("A-2".equals(a.getAccount().status())) { + if ("A-2".equals(a.account().status())) { bgCounterA2.getAndIncrement(); u.setStatus("B-2"); } @@ -2745,8 +2744,8 @@ public class AccountIT extends AbstractDaemonTest { assertThat(bgCounterA2.get()).isEqualTo(1); assertThat(updatedAccountState).isPresent(); - assertThat(updatedAccountState.get().getAccount().status()).isEqualTo("B-2"); - assertThat(accounts.get(admin.id()).get().getAccount().status()).isEqualTo("B-2"); + assertThat(updatedAccountState.get().account().status()).isEqualTo("B-2"); + assertThat(accounts.get(admin.id()).get().account().status()).isEqualTo("B-2"); assertThat(gApi.accounts().id(admin.id().get()).get().status).isEqualTo("B-2"); } @@ -2812,12 +2811,12 @@ public class AccountIT extends AbstractDaemonTest { "Update External ID", accountId, (a, u) -> { - if (a.getExternalIds().contains(extIdA1)) { + if (a.externalIds().contains(extIdA1)) { bgCounterA1.getAndIncrement(); u.replaceExternalId(extIdA1, extIdB1); } - if (a.getExternalIds().contains(extIdA2)) { + if (a.externalIds().contains(extIdA2)) { bgCounterA2.getAndIncrement(); u.replaceExternalId(extIdA2, extIdB2); } @@ -2827,8 +2826,8 @@ public class AccountIT extends AbstractDaemonTest { assertThat(bgCounterA2.get()).isEqualTo(1); assertThat(updatedAccount).isPresent(); - assertThat(updatedAccount.get().getExternalIds()).containsExactly(extIdB2); - assertThat(accounts.get(accountId).get().getExternalIds()).containsExactly(extIdB2); + assertThat(updatedAccount.get().externalIds()).containsExactly(extIdB2); + assertThat(accounts.get(accountId).get().externalIds()).containsExactly(extIdB2); assertThat( gApi.accounts().id(accountId.get()).getExternalIds().stream() .map(i -> i.identity) diff --git a/javatests/com/google/gerrit/acceptance/api/accounts/AccountIndexerIT.java b/javatests/com/google/gerrit/acceptance/api/accounts/AccountIndexerIT.java index 75a727dfcb..e7ae49afb8 100644 --- a/javatests/com/google/gerrit/acceptance/api/accounts/AccountIndexerIT.java +++ b/javatests/com/google/gerrit/acceptance/api/accounts/AccountIndexerIT.java @@ -66,7 +66,7 @@ public class AccountIndexerIT { List matchedAccountStates = accountQueryProvider.get().byPreferredEmail(preferredEmail); assertThat(matchedAccountStates).hasSize(1); - assertThat(matchedAccountStates.get(0).getAccount().id()).isEqualTo(accountId); + assertThat(matchedAccountStates.get(0).account().id()).isEqualTo(accountId); } @Test @@ -82,7 +82,7 @@ public class AccountIndexerIT { List matchedAccountStates = accountQueryProvider.get().byPreferredEmail(preferredEmail); assertThat(matchedAccountStates).hasSize(1); - assertThat(matchedAccountStates.get(0).getAccount().id()).isEqualTo(accountId); + assertThat(matchedAccountStates.get(0).account().id()).isEqualTo(accountId); } @Test @@ -91,10 +91,10 @@ public class AccountIndexerIT { loadAccountToCache(accountId); String status = "ooo"; updateAccountWithoutCacheOrIndex(accountId, newAccountUpdate().setStatus(status).build()); - assertThat(accountCache.get(accountId).get().getAccount().status()).isNull(); + assertThat(accountCache.get(accountId).get().account().status()).isNull(); accountIndexer.index(accountId); - assertThat(accountCache.get(accountId).get().getAccount().status()).isEqualTo(status); + assertThat(accountCache.get(accountId).get().account().status()).isEqualTo(status); } @Test @@ -109,7 +109,7 @@ public class AccountIndexerIT { List matchedAccountStates = accountQueryProvider.get().byPreferredEmail(preferredEmail); assertThat(matchedAccountStates).hasSize(1); - assertThat(matchedAccountStates.get(0).getAccount().id()).isEqualTo(accountId); + assertThat(matchedAccountStates.get(0).account().id()).isEqualTo(accountId); } @Test diff --git a/javatests/com/google/gerrit/acceptance/api/accounts/AccountManagerIT.java b/javatests/com/google/gerrit/acceptance/api/accounts/AccountManagerIT.java index c48ee9d2ca..9ccb74b8d0 100644 --- a/javatests/com/google/gerrit/acceptance/api/accounts/AccountManagerIT.java +++ b/javatests/com/google/gerrit/acceptance/api/accounts/AccountManagerIT.java @@ -192,7 +192,7 @@ public class AccountManagerIT extends AbstractDaemonTest { Optional accountState = accounts.get(accountId); assertThat(accountState).isPresent(); - assertThat(accountState.get().getAccount().preferredEmail()).isEqualTo(newEmail); + assertThat(accountState.get().account().preferredEmail()).isEqualTo(newEmail); } @Test @@ -217,7 +217,7 @@ public class AccountManagerIT extends AbstractDaemonTest { Optional accountState = accounts.get(accountId); assertThat(accountState).isPresent(); - assertThat(accountState.get().getAccount().fullName()).isEqualTo(newName); + assertThat(accountState.get().account().fullName()).isEqualTo(newName); } @Test @@ -296,7 +296,7 @@ public class AccountManagerIT extends AbstractDaemonTest { assertAuthResultForExistingAccount(authResult, accountId, gerritExtIdKey); Optional accountState = accounts.get(accountId); assertThat(accountState).isPresent(); - assertThat(accountState.get().getAccount().isActive()).isTrue(); + assertThat(accountState.get().account().isActive()).isTrue(); } @Test @@ -317,7 +317,7 @@ public class AccountManagerIT extends AbstractDaemonTest { assertAuthResultForExistingAccount(authResult, accountId, gerritExtIdKey); Optional accountState = accounts.get(accountId); assertThat(accountState).isPresent(); - assertThat(accountState.get().getAccount().isActive()).isTrue(); + assertThat(accountState.get().account().isActive()).isTrue(); } @Test @@ -341,7 +341,7 @@ public class AccountManagerIT extends AbstractDaemonTest { Optional accountState = accounts.get(accountId); assertThat(accountState).isPresent(); - assertThat(accountState.get().getAccount().isActive()).isFalse(); + assertThat(accountState.get().account().isActive()).isFalse(); } @Test @@ -433,7 +433,7 @@ public class AccountManagerIT extends AbstractDaemonTest { // Verify that the preferred email was not updated. Optional accountState = accounts.get(accountId); assertThat(accountState).isPresent(); - assertThat(accountState.get().getAccount().preferredEmail()).isEqualTo(email); + assertThat(accountState.get().account().preferredEmail()).isEqualTo(email); } @Test diff --git a/javatests/com/google/gerrit/acceptance/rest/account/ExternalIdIT.java b/javatests/com/google/gerrit/acceptance/rest/account/ExternalIdIT.java index e9e8b7f662..2bba4e61a7 100644 --- a/javatests/com/google/gerrit/acceptance/rest/account/ExternalIdIT.java +++ b/javatests/com/google/gerrit/acceptance/rest/account/ExternalIdIT.java @@ -112,7 +112,7 @@ public class ExternalIdIT extends AbstractDaemonTest { @Test public void getExternalIds() throws Exception { - Collection expectedIds = getAccountState(user.id()).getExternalIds(); + Collection expectedIds = getAccountState(user.id()).externalIds(); List expectedIdInfos = toExternalIdInfos(expectedIds); RestResponse response = userRestSession.get("/accounts/self/external.ids"); @@ -142,7 +142,7 @@ public class ExternalIdIT extends AbstractDaemonTest { .add(allowCapability(GlobalCapability.ACCESS_DATABASE).group(REGISTERED_USERS)) .update(); - Collection expectedIds = getAccountState(admin.id()).getExternalIds(); + Collection expectedIds = getAccountState(admin.id()).externalIds(); List expectedIdInfos = toExternalIdInfos(expectedIds); RestResponse response = userRestSession.get("/accounts/" + admin.id() + "/external.ids"); diff --git a/javatests/com/google/gerrit/acceptance/server/account/AccountResolverIT.java b/javatests/com/google/gerrit/acceptance/server/account/AccountResolverIT.java index 7627e65ea8..68f10e6b93 100644 --- a/javatests/com/google/gerrit/acceptance/server/account/AccountResolverIT.java +++ b/javatests/com/google/gerrit/acceptance/server/account/AccountResolverIT.java @@ -340,6 +340,6 @@ public class AccountResolverIT extends AbstractDaemonTest { accountsUpdateProvider .get() .update("Force set preferred email", id, (s, u) -> u.setPreferredEmail(email)); - assertThat(result.map(a -> a.getAccount().preferredEmail())).hasValue(email); + assertThat(result.map(a -> a.account().preferredEmail())).hasValue(email); } } diff --git a/javatests/com/google/gerrit/gpg/GerritPublicKeyCheckerTest.java b/javatests/com/google/gerrit/gpg/GerritPublicKeyCheckerTest.java index bc035afdc6..1f101efbb6 100644 --- a/javatests/com/google/gerrit/gpg/GerritPublicKeyCheckerTest.java +++ b/javatests/com/google/gerrit/gpg/GerritPublicKeyCheckerTest.java @@ -198,7 +198,7 @@ public class GerritPublicKeyCheckerTest { .update( "Delete External IDs", user.getAccountId(), - (a, u) -> u.deleteExternalIds(a.getExternalIds())); + (a, u) -> u.deleteExternalIds(a.externalIds())); reloadUser(); TestKey key = validKeyWithSecondUserId(); diff --git a/javatests/com/google/gerrit/server/account/AccountResolverTest.java b/javatests/com/google/gerrit/server/account/AccountResolverTest.java index e9e5e54927..f5788ca721 100644 --- a/javatests/com/google/gerrit/server/account/AccountResolverTest.java +++ b/javatests/com/google/gerrit/server/account/AccountResolverTest.java @@ -84,7 +84,7 @@ public class AccountResolverTest { @Override public String toString() { return accounts.stream() - .map(a -> a.getAccount().id().toString()) + .map(a -> a.account().id().toString()) .collect(joining(",", pattern + "(", ")")); } } @@ -156,7 +156,7 @@ public class AccountResolverTest { // Searchers always short-circuit when finding a non-empty result list, and this one didn't // filter out inactive results, so the second searcher never ran. assertThat(result.asIdSet()).containsExactlyElementsIn(ids(1)); - assertThat(getOnlyElement(result.asList()).getAccount().isActive()).isFalse(); + assertThat(getOnlyElement(result.asList()).account().isActive()).isFalse(); assertThat(filteredInactiveIds(result)).isEmpty(); } @@ -173,7 +173,7 @@ public class AccountResolverTest { // and this one didn't filter out inactive results, // so the second searcher never ran. assertThat(result.asIdSet()).containsExactlyElementsIn(ids(1)); - assertThat(getOnlyElement(result.asList()).getAccount().isActive()).isFalse(); + assertThat(getOnlyElement(result.asList()).account().isActive()).isFalse(); assertThat(filteredInactiveIds(result)).isEmpty(); } @@ -255,8 +255,8 @@ public class AccountResolverTest { AccountState account = newAccount(1); ImmutableList> searchers = ImmutableList.of(new TestSearcher("foo", false, account)); - assertThat(search("foo", searchers, allVisible()).asUnique().getAccount().id()) - .isEqualTo(account.getAccount().id()); + assertThat(search("foo", searchers, allVisible()).asUnique().account().id()) + .isEqualTo(account.account().id()); } @Test @@ -375,18 +375,16 @@ public class AccountResolverTest { } private Predicate activityPrediate() { - return (AccountState accountState) -> accountState.getAccount().isActive(); + return (AccountState accountState) -> accountState.account().isActive(); } private static Supplier> only(int... ids) { ImmutableSet idSet = Arrays.stream(ids).mapToObj(Account::id).collect(toImmutableSet()); - return () -> a -> idSet.contains(a.getAccount().id()); + return () -> a -> idSet.contains(a.account().id()); } private static ImmutableSet filteredInactiveIds(Result result) { - return result.filteredInactive().stream() - .map(a -> a.getAccount().id()) - .collect(toImmutableSet()); + return result.filteredInactive().stream().map(a -> a.account().id()).collect(toImmutableSet()); } } diff --git a/javatests/com/google/gerrit/server/mail/send/FromAddressGeneratorProviderTest.java b/javatests/com/google/gerrit/server/mail/send/FromAddressGeneratorProviderTest.java index 6b0945c41e..27f5938e19 100644 --- a/javatests/com/google/gerrit/server/mail/send/FromAddressGeneratorProviderTest.java +++ b/javatests/com/google/gerrit/server/mail/send/FromAddressGeneratorProviderTest.java @@ -347,8 +347,8 @@ public class FromAddressGeneratorProviderTest { private Account.Id user(String name, String email) { final AccountState s = makeUser(name, email); - when(accountCache.get(eq(s.getAccount().id()))).thenReturn(Optional.of(s)); - return s.getAccount().id(); + when(accountCache.get(eq(s.account().id()))).thenReturn(Optional.of(s)); + return s.account().id(); } private void verifyAccountCacheGet(Account.Id id) { @@ -357,7 +357,7 @@ public class FromAddressGeneratorProviderTest { private Account.Id userNoLookup(String name, String email) { final AccountState s = makeUser(name, email); - return s.getAccount().id(); + return s.account().id(); } private AccountState makeUser(String name, String email) { diff --git a/javatests/com/google/gerrit/server/query/account/AbstractQueryAccountsTest.java b/javatests/com/google/gerrit/server/query/account/AbstractQueryAccountsTest.java index 33f47b2f2d..fce3744c6d 100644 --- a/javatests/com/google/gerrit/server/query/account/AbstractQueryAccountsTest.java +++ b/javatests/com/google/gerrit/server/query/account/AbstractQueryAccountsTest.java @@ -816,7 +816,7 @@ public abstract class AbstractQueryAccountsTest extends GerritServerTests { } protected void assertAccounts(List accounts, AccountInfo... expectedAccounts) { - assertThat(accounts.stream().map(a -> a.getAccount().id().get()).collect(toList())) + assertThat(accounts.stream().map(a -> a.account().id().get()).collect(toList())) .containsExactlyElementsIn( Arrays.asList(expectedAccounts).stream().map(a -> a._accountId).collect(toList())); } diff --git a/plugins/reviewnotes b/plugins/reviewnotes index 3667220b86..10dd13408a 160000 --- a/plugins/reviewnotes +++ b/plugins/reviewnotes @@ -1 +1 @@ -Subproject commit 3667220b860d444406ca5fa5cc27d87858642596 +Subproject commit 10dd13408ac80985fabd1b90da81887fa0472c58 diff --git a/plugins/singleusergroup b/plugins/singleusergroup index 731af7e23c..3c4e63c409 160000 --- a/plugins/singleusergroup +++ b/plugins/singleusergroup @@ -1 +1 @@ -Subproject commit 731af7e23c5a235c5ce087aaeb44dc8a12070bcb +Subproject commit 3c4e63c40937a9b47c9536851ae4c286ec94db3f