diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/config/ServerInfoIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/config/ServerInfoIT.java index 54fa74cad6..4157f54bfa 100644 --- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/config/ServerInfoIT.java +++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/config/ServerInfoIT.java @@ -21,7 +21,7 @@ import com.google.gerrit.acceptance.AbstractDaemonTest; import com.google.gerrit.acceptance.GerritConfig; import com.google.gerrit.acceptance.GerritConfigs; import com.google.gerrit.acceptance.RestResponse; -import com.google.gerrit.reviewdb.client.Account; +import com.google.gerrit.extensions.client.AccountFieldName; import com.google.gerrit.reviewdb.client.AuthType; import com.google.gerrit.server.config.AllProjectsNameProvider; import com.google.gerrit.server.config.AllUsersNameProvider; @@ -79,7 +79,7 @@ public class ServerInfoIT extends AbstractDaemonTest { // auth assertThat(i.auth.authType).isEqualTo(AuthType.HTTP); assertThat(i.auth.editableAccountFields).containsExactly( - Account.FieldName.REGISTER_NEW_EMAIL, Account.FieldName.FULL_NAME); + AccountFieldName.REGISTER_NEW_EMAIL, AccountFieldName.FULL_NAME); assertThat(i.auth.useContributorAgreements).isTrue(); assertThat(i.auth.loginUrl).isEqualTo("https://example.com/login"); assertThat(i.auth.loginText).isEqualTo("LOGIN"); @@ -147,8 +147,8 @@ public class ServerInfoIT extends AbstractDaemonTest { // auth assertThat(i.auth.authType).isEqualTo(AuthType.OPENID); assertThat(i.auth.editableAccountFields).containsExactly( - Account.FieldName.REGISTER_NEW_EMAIL, Account.FieldName.FULL_NAME, - Account.FieldName.USER_NAME); + AccountFieldName.REGISTER_NEW_EMAIL, AccountFieldName.FULL_NAME, + AccountFieldName.USER_NAME); assertThat(i.auth.useContributorAgreements).isNull(); assertThat(i.auth.loginUrl).isNull(); assertThat(i.auth.loginText).isNull(); diff --git a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/client/AccountFieldName.java b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/client/AccountFieldName.java new file mode 100644 index 0000000000..07d9f37ed9 --- /dev/null +++ b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/client/AccountFieldName.java @@ -0,0 +1,19 @@ +// Copyright (C) 2016 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package com.google.gerrit.extensions.client; + +public enum AccountFieldName { + FULL_NAME, USER_NAME, REGISTER_NEW_EMAIL +} \ No newline at end of file diff --git a/gerrit-gwtui-common/src/main/java/com/google/gerrit/client/info/AuthInfo.java b/gerrit-gwtui-common/src/main/java/com/google/gerrit/client/info/AuthInfo.java index 0e3c32bedb..520f6417eb 100644 --- a/gerrit-gwtui-common/src/main/java/com/google/gerrit/client/info/AuthInfo.java +++ b/gerrit-gwtui-common/src/main/java/com/google/gerrit/client/info/AuthInfo.java @@ -15,8 +15,7 @@ package com.google.gerrit.client.info; import com.google.gerrit.client.rpc.Natives; -import com.google.gerrit.reviewdb.client.Account; -import com.google.gerrit.reviewdb.client.Account.FieldName; +import com.google.gerrit.extensions.client.AccountFieldName; import com.google.gerrit.reviewdb.client.AuthType; import com.google.gwt.core.client.JavaScriptObject; import com.google.gwt.core.client.JsArrayString; @@ -52,14 +51,14 @@ public class AuthInfo extends JavaScriptObject { return authType() == AuthType.CUSTOM_EXTENSION; } - public final boolean canEdit(Account.FieldName f) { + public final boolean canEdit(AccountFieldName f) { return editableAccountFields().contains(f); } - public final List editableAccountFields() { - List fields = new ArrayList<>(); + public final List editableAccountFields() { + List fields = new ArrayList<>(); for (String f : Natives.asList(_editableAccountFields())) { - fields.add(Account.FieldName.valueOf(f)); + fields.add(AccountFieldName.valueOf(f)); } return fields; } @@ -67,7 +66,7 @@ public class AuthInfo extends JavaScriptObject { public final boolean siteHasUsernames() { if (isCustomExtension() && httpPasswordUrl() != null - && !canEdit(FieldName.USER_NAME)) { + && !canEdit(AccountFieldName.USER_NAME)) { return false; } return true; diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/ContactPanelShort.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/ContactPanelShort.java index e078e60ba1..f5f38fbf6a 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/ContactPanelShort.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/ContactPanelShort.java @@ -24,8 +24,7 @@ import com.google.gerrit.client.rpc.Natives; import com.google.gerrit.client.ui.OnEditEnabler; import com.google.gerrit.common.PageLinks; import com.google.gerrit.common.errors.EmailException; -import com.google.gerrit.reviewdb.client.Account; -import com.google.gerrit.reviewdb.client.Account.FieldName; +import com.google.gerrit.extensions.client.AccountFieldName; import com.google.gwt.core.client.JsArray; import com.google.gwt.event.dom.client.ChangeEvent; import com.google.gwt.event.dom.client.ChangeHandler; @@ -102,7 +101,7 @@ class ContactPanelShort extends Composite { } int row = 0; - if (!Gerrit.info().auth().canEdit(FieldName.USER_NAME) + if (!Gerrit.info().auth().canEdit(AccountFieldName.USER_NAME) && Gerrit.info().auth().siteHasUsernames()) { infoPlainText.resizeRows(infoPlainText.getRowCount() + 1); row(infoPlainText, row++, Util.C.userName(), new UsernameField()); @@ -171,11 +170,11 @@ class ContactPanelShort extends Composite { } private boolean canEditFullName() { - return Gerrit.info().auth().canEdit(Account.FieldName.FULL_NAME); + return Gerrit.info().auth().canEdit(AccountFieldName.FULL_NAME); } private boolean canRegisterNewEmail() { - return Gerrit.info().auth().canEdit(Account.FieldName.REGISTER_NEW_EMAIL); + return Gerrit.info().auth().canEdit(AccountFieldName.REGISTER_NEW_EMAIL); } void hideSaveButton() { diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/RegisterScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/RegisterScreen.java index c32a8462c1..73557aafcb 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/RegisterScreen.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/RegisterScreen.java @@ -20,7 +20,7 @@ import com.google.gerrit.client.ui.AccountScreen; import com.google.gerrit.client.ui.InlineHyperlink; import com.google.gerrit.client.ui.SmallHeading; import com.google.gerrit.common.PageLinks; -import com.google.gerrit.reviewdb.client.Account.FieldName; +import com.google.gerrit.extensions.client.AccountFieldName; import com.google.gwt.i18n.client.LocaleInfo; import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.FormPanel; @@ -70,7 +70,7 @@ public class RegisterScreen extends AccountScreen { formBody.add(contactGroup); if (Gerrit.getUserAccount().username() == null - && Gerrit.info().auth().canEdit(FieldName.USER_NAME)) { + && Gerrit.info().auth().canEdit(AccountFieldName.USER_NAME)) { final FlowPanel fp = new FlowPanel(); fp.setStyleName(Gerrit.RESOURCES.css().registerScreenSection()); fp.add(new SmallHeading(Util.C.welcomeUsernameHeading())); diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/UsernameField.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/UsernameField.java index f3884364e2..d70121bd5b 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/UsernameField.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/UsernameField.java @@ -22,6 +22,7 @@ import com.google.gerrit.client.rpc.GerritCallback; import com.google.gerrit.client.rpc.NativeString; import com.google.gerrit.client.rpc.RestApi; import com.google.gerrit.client.ui.OnEditEnabler; +import com.google.gerrit.extensions.client.AccountFieldName; import com.google.gerrit.reviewdb.client.Account; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; @@ -86,7 +87,7 @@ class UsernameField extends Composite { } private boolean canEditUserName() { - return Gerrit.info().auth().canEdit(Account.FieldName.USER_NAME); + return Gerrit.info().auth().canEdit(AccountFieldName.USER_NAME); } private void confirmSetUserName() { diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/Account.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/Account.java index 9e36fc161c..de2134b6f9 100644 --- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/Account.java +++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/Account.java @@ -55,10 +55,6 @@ import java.sql.Timestamp; * */ public final class Account { - public enum FieldName { - FULL_NAME, USER_NAME, REGISTER_NEW_EMAIL - } - public static final String USER_NAME_PATTERN_FIRST = "[a-zA-Z0-9]"; public static final String USER_NAME_PATTERN_REST = "[a-zA-Z0-9._-]"; public static final String USER_NAME_PATTERN_LAST = "[a-zA-Z0-9]"; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/AbstractRealm.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/AbstractRealm.java index 30420e0567..a0c6118346 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/AbstractRealm.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/AbstractRealm.java @@ -16,8 +16,7 @@ package com.google.gerrit.server.account; import com.google.common.base.Strings; import com.google.common.collect.Sets; -import com.google.gerrit.reviewdb.client.Account; -import com.google.gerrit.reviewdb.client.Account.FieldName; +import com.google.gerrit.extensions.client.AccountFieldName; import com.google.gerrit.reviewdb.client.AccountExternalId; import com.google.gerrit.server.IdentifiedUser; import com.google.gerrit.server.mail.EmailSender; @@ -37,11 +36,11 @@ public abstract class AbstractRealm implements Realm { } @Override - public Set getEditableFields() { - Set fields = new HashSet<>(); - for (Account.FieldName n : Account.FieldName.values()) { + public Set getEditableFields() { + Set fields = new HashSet<>(); + for (AccountFieldName n : AccountFieldName.values()) { if (allowsEdit(n)) { - if (n == Account.FieldName.REGISTER_NEW_EMAIL) { + if (n == AccountFieldName.REGISTER_NEW_EMAIL) { if (emailSender != null && emailSender.isEnabled()) { fields.add(n); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountManager.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountManager.java index 19f9fcff20..178cc79dfb 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountManager.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountManager.java @@ -21,6 +21,7 @@ import com.google.gerrit.common.data.AccessSection; import com.google.gerrit.common.data.GlobalCapability; import com.google.gerrit.common.data.Permission; import com.google.gerrit.common.errors.NameAlreadyUsedException; +import com.google.gerrit.extensions.client.AccountFieldName; import com.google.gerrit.reviewdb.client.Account; import com.google.gerrit.reviewdb.client.AccountExternalId; import com.google.gerrit.reviewdb.client.AccountGroup; @@ -201,14 +202,14 @@ public class AccountManager { db.accountExternalIds().update(Collections.singleton(extId)); } - if (!realm.allowsEdit(Account.FieldName.FULL_NAME) + if (!realm.allowsEdit(AccountFieldName.FULL_NAME) && !Strings.isNullOrEmpty(who.getDisplayName()) && !eq(user.getAccount().getFullName(), who.getDisplayName())) { toUpdate = load(toUpdate, user.getAccountId(), db); toUpdate.setFullName(who.getDisplayName()); } - if (!realm.allowsEdit(Account.FieldName.USER_NAME) + if (!realm.allowsEdit(AccountFieldName.USER_NAME) && who.getUserName() != null && !eq(user.getUserName(), who.getUserName())) { log.warn(String.format("Not changing already set username %s to %s", @@ -340,7 +341,7 @@ public class AccountManager { } else { log.error(errorMessage); } - if (!realm.allowsEdit(Account.FieldName.USER_NAME)) { + if (!realm.allowsEdit(AccountFieldName.USER_NAME)) { // setting the given user name has failed, but the realm does not // allow the user to manually set a user name, // this means we would end with an account without user name diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/CreateEmail.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/CreateEmail.java index 1110acd985..4e68ef0f2b 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/CreateEmail.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/CreateEmail.java @@ -16,6 +16,7 @@ package com.google.gerrit.server.account; import com.google.gerrit.common.errors.EmailException; import com.google.gerrit.extensions.api.accounts.EmailInput; +import com.google.gerrit.extensions.client.AccountFieldName; import com.google.gerrit.extensions.restapi.AuthException; import com.google.gerrit.extensions.restapi.BadRequestException; import com.google.gerrit.extensions.restapi.MethodNotAllowedException; @@ -23,7 +24,6 @@ import com.google.gerrit.extensions.restapi.ResourceConflictException; import com.google.gerrit.extensions.restapi.ResourceNotFoundException; import com.google.gerrit.extensions.restapi.Response; import com.google.gerrit.extensions.restapi.RestModifyView; -import com.google.gerrit.reviewdb.client.Account.FieldName; import com.google.gerrit.reviewdb.client.AuthType; import com.google.gerrit.server.CurrentUser; import com.google.gerrit.server.IdentifiedUser; @@ -96,7 +96,7 @@ public class CreateEmail implements RestModifyView throw new AuthException("not allowed to use no_confirmation"); } - if (!realm.allowsEdit(FieldName.REGISTER_NEW_EMAIL)) { + if (!realm.allowsEdit(AccountFieldName.REGISTER_NEW_EMAIL)) { throw new MethodNotAllowedException("realm does not allow adding emails"); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/DefaultRealm.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/DefaultRealm.java index eb3c9a0d0c..1b4fe1870b 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/DefaultRealm.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/DefaultRealm.java @@ -15,6 +15,7 @@ package com.google.gerrit.server.account; import com.google.common.base.Strings; +import com.google.gerrit.extensions.client.AccountFieldName; import com.google.gerrit.reviewdb.client.Account; import com.google.gerrit.reviewdb.client.AuthType; import com.google.gerrit.server.config.AuthConfig; @@ -39,7 +40,7 @@ public class DefaultRealm extends AbstractRealm { } @Override - public boolean allowsEdit(final Account.FieldName field) { + public boolean allowsEdit(final AccountFieldName field) { if (authConfig.getAuthType() == AuthType.HTTP) { switch (field) { case USER_NAME: diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteEmail.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteEmail.java index 76f63b7352..1f073ae465 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteEmail.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/DeleteEmail.java @@ -14,13 +14,13 @@ package com.google.gerrit.server.account; +import com.google.gerrit.extensions.client.AccountFieldName; import com.google.gerrit.extensions.restapi.AuthException; import com.google.gerrit.extensions.restapi.MethodNotAllowedException; import com.google.gerrit.extensions.restapi.ResourceConflictException; import com.google.gerrit.extensions.restapi.ResourceNotFoundException; import com.google.gerrit.extensions.restapi.Response; import com.google.gerrit.extensions.restapi.RestModifyView; -import com.google.gerrit.reviewdb.client.Account.FieldName; import com.google.gerrit.reviewdb.client.AccountExternalId; import com.google.gerrit.reviewdb.server.ReviewDb; import com.google.gerrit.server.CurrentUser; @@ -67,7 +67,7 @@ public class DeleteEmail implements RestModifyView public Response apply(IdentifiedUser user, String email) throws ResourceNotFoundException, ResourceConflictException, MethodNotAllowedException, OrmException, IOException { - if (!realm.allowsEdit(FieldName.REGISTER_NEW_EMAIL)) { + if (!realm.allowsEdit(AccountFieldName.REGISTER_NEW_EMAIL)) { throw new MethodNotAllowedException("realm does not allow deleting emails"); } AccountExternalId.Key key = new AccountExternalId.Key( diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/FakeRealm.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/FakeRealm.java index d3b938fa17..a53f64ec34 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/FakeRealm.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/FakeRealm.java @@ -14,13 +14,13 @@ package com.google.gerrit.server.account; +import com.google.gerrit.extensions.client.AccountFieldName; import com.google.gerrit.reviewdb.client.Account; -import com.google.gerrit.reviewdb.client.Account.FieldName; /** Fake implementation of {@link Realm} that does not communicate. */ public class FakeRealm extends AbstractRealm { @Override - public boolean allowsEdit(FieldName field) { + public boolean allowsEdit(AccountFieldName field) { return false; } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/PutName.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/PutName.java index e0b69a64ff..74c07e8e5a 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/PutName.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/PutName.java @@ -15,6 +15,7 @@ package com.google.gerrit.server.account; import com.google.common.base.Strings; +import com.google.gerrit.extensions.client.AccountFieldName; import com.google.gerrit.extensions.restapi.AuthException; import com.google.gerrit.extensions.restapi.DefaultInput; import com.google.gerrit.extensions.restapi.MethodNotAllowedException; @@ -22,7 +23,6 @@ import com.google.gerrit.extensions.restapi.ResourceNotFoundException; import com.google.gerrit.extensions.restapi.Response; import com.google.gerrit.extensions.restapi.RestModifyView; import com.google.gerrit.reviewdb.client.Account; -import com.google.gerrit.reviewdb.client.Account.FieldName; import com.google.gerrit.reviewdb.server.ReviewDb; import com.google.gerrit.server.CurrentUser; import com.google.gerrit.server.IdentifiedUser; @@ -74,7 +74,7 @@ public class PutName implements RestModifyView { input = new Input(); } - if (!realm.allowsEdit(FieldName.FULL_NAME)) { + if (!realm.allowsEdit(AccountFieldName.FULL_NAME)) { throw new MethodNotAllowedException("realm does not allow editing name"); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/PutUsername.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/PutUsername.java index e9dc39363f..29168edc22 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/PutUsername.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/PutUsername.java @@ -15,13 +15,13 @@ package com.google.gerrit.server.account; import com.google.gerrit.common.errors.NameAlreadyUsedException; +import com.google.gerrit.extensions.client.AccountFieldName; import com.google.gerrit.extensions.restapi.AuthException; import com.google.gerrit.extensions.restapi.DefaultInput; import com.google.gerrit.extensions.restapi.MethodNotAllowedException; import com.google.gerrit.extensions.restapi.ResourceConflictException; import com.google.gerrit.extensions.restapi.RestModifyView; import com.google.gerrit.extensions.restapi.UnprocessableEntityException; -import com.google.gerrit.reviewdb.client.Account; import com.google.gerrit.reviewdb.server.ReviewDb; import com.google.gerrit.server.CurrentUser; import com.google.gerrit.server.account.PutUsername.Input; @@ -64,7 +64,7 @@ public class PutUsername implements RestModifyView { throw new AuthException("not allowed to set username"); } - if (!realm.allowsEdit(Account.FieldName.USER_NAME)) { + if (!realm.allowsEdit(AccountFieldName.USER_NAME)) { throw new MethodNotAllowedException("realm does not allow editing username"); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/Realm.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/Realm.java index 85fde4e4db..627f529660 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/Realm.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/Realm.java @@ -14,6 +14,7 @@ package com.google.gerrit.server.account; +import com.google.gerrit.extensions.client.AccountFieldName; import com.google.gerrit.reviewdb.client.Account; import com.google.gerrit.server.IdentifiedUser; @@ -21,10 +22,10 @@ import java.util.Set; public interface Realm { /** Can the end-user modify this field of their own account? */ - boolean allowsEdit(Account.FieldName field); + boolean allowsEdit(AccountFieldName field); /** Returns the account fields that the end-user can modify. */ - Set getEditableFields(); + Set getEditableFields(); AuthRequest authenticate(AuthRequest who) throws AccountException; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/auth/ldap/LdapRealm.java b/gerrit-server/src/main/java/com/google/gerrit/server/auth/ldap/LdapRealm.java index 30b08a6c0f..10c5be42ee 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/auth/ldap/LdapRealm.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/auth/ldap/LdapRealm.java @@ -21,6 +21,7 @@ import com.google.common.base.Strings; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import com.google.gerrit.common.data.ParameterizedString; +import com.google.gerrit.extensions.client.AccountFieldName; import com.google.gerrit.reviewdb.client.Account; import com.google.gerrit.reviewdb.client.AccountExternalId; import com.google.gerrit.reviewdb.client.AccountGroup; @@ -67,7 +68,7 @@ class LdapRealm extends AbstractRealm { private final AuthConfig authConfig; private final EmailExpander emailExpander; private final LoadingCache> usernameCache; - private final Set readOnlyAccountFields; + private final Set readOnlyAccountFields; private final boolean fetchMemberOfEagerly; private final Config config; @@ -91,13 +92,13 @@ class LdapRealm extends AbstractRealm { this.readOnlyAccountFields = new HashSet<>(); if (optdef(config, "accountFullName", "DEFAULT") != null) { - readOnlyAccountFields.add(Account.FieldName.FULL_NAME); + readOnlyAccountFields.add(AccountFieldName.FULL_NAME); } if (optdef(config, "accountSshUserName", "DEFAULT") != null) { - readOnlyAccountFields.add(Account.FieldName.USER_NAME); + readOnlyAccountFields.add(AccountFieldName.USER_NAME); } if (!authConfig.isAllowRegisterNewEmail()) { - readOnlyAccountFields.add(Account.FieldName.REGISTER_NEW_EMAIL); + readOnlyAccountFields.add(AccountFieldName.REGISTER_NEW_EMAIL); } fetchMemberOfEagerly = optional(config, "fetchMemberOfEagerly", true); @@ -196,7 +197,7 @@ class LdapRealm extends AbstractRealm { } @Override - public boolean allowsEdit(final Account.FieldName field) { + public boolean allowsEdit(final AccountFieldName field) { return !readOnlyAccountFields.contains(field); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/auth/oauth/OAuthRealm.java b/gerrit-server/src/main/java/com/google/gerrit/server/auth/oauth/OAuthRealm.java index cf9000d502..94a3ac2881 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/auth/oauth/OAuthRealm.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/auth/oauth/OAuthRealm.java @@ -17,9 +17,9 @@ package com.google.gerrit.server.auth.oauth; import com.google.common.base.Strings; import com.google.gerrit.extensions.auth.oauth.OAuthLoginProvider; import com.google.gerrit.extensions.auth.oauth.OAuthUserInfo; +import com.google.gerrit.extensions.client.AccountFieldName; import com.google.gerrit.extensions.registration.DynamicMap; import com.google.gerrit.reviewdb.client.Account; -import com.google.gerrit.reviewdb.client.Account.FieldName; import com.google.gerrit.server.account.AbstractRealm; import com.google.gerrit.server.account.AccountException; import com.google.gerrit.server.account.AccountManager; @@ -37,7 +37,7 @@ import java.util.Set; @Singleton public class OAuthRealm extends AbstractRealm { private final DynamicMap loginProviders; - private final Set editableAccountFields; + private final Set editableAccountFields; @Inject OAuthRealm(DynamicMap loginProviders, @@ -45,15 +45,15 @@ public class OAuthRealm extends AbstractRealm { this.loginProviders = loginProviders; this.editableAccountFields = new HashSet<>(); if (config.getBoolean("oauth", null, "allowEditFullName", false)) { - editableAccountFields.add(FieldName.FULL_NAME); + editableAccountFields.add(AccountFieldName.FULL_NAME); } if (config.getBoolean("oauth", null, "allowRegisterNewEmail", false)) { - editableAccountFields.add(FieldName.REGISTER_NEW_EMAIL); + editableAccountFields.add(AccountFieldName.REGISTER_NEW_EMAIL); } } @Override - public boolean allowsEdit(FieldName field) { + public boolean allowsEdit(AccountFieldName field) { return editableAccountFields.contains(field); } @@ -105,12 +105,12 @@ public class OAuthRealm extends AbstractRealm { } if (!Strings.isNullOrEmpty(userInfo.getEmailAddress()) && (Strings.isNullOrEmpty(who.getUserName()) - || !allowsEdit(FieldName.REGISTER_NEW_EMAIL))) { + || !allowsEdit(AccountFieldName.REGISTER_NEW_EMAIL))) { who.setEmailAddress(userInfo.getEmailAddress()); } if (!Strings.isNullOrEmpty(userInfo.getDisplayName()) && (Strings.isNullOrEmpty(who.getDisplayName()) - || !allowsEdit(FieldName.FULL_NAME))) { + || !allowsEdit(AccountFieldName.FULL_NAME))) { who.setDisplayName(userInfo.getDisplayName()); } return who; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/config/GetServerInfo.java b/gerrit-server/src/main/java/com/google/gerrit/server/config/GetServerInfo.java index 1dc910c8d0..472f1b985c 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/config/GetServerInfo.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/config/GetServerInfo.java @@ -20,6 +20,7 @@ import com.google.common.base.Optional; import com.google.common.base.Strings; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; +import com.google.gerrit.extensions.client.AccountFieldName; import com.google.gerrit.extensions.config.CloneCommand; import com.google.gerrit.extensions.config.DownloadCommand; import com.google.gerrit.extensions.config.DownloadScheme; @@ -28,7 +29,6 @@ import com.google.gerrit.extensions.registration.DynamicMap; import com.google.gerrit.extensions.registration.DynamicSet; import com.google.gerrit.extensions.restapi.RestReadView; import com.google.gerrit.extensions.webui.WebUiPlugin; -import com.google.gerrit.reviewdb.client.Account; import com.google.gerrit.reviewdb.client.AuthType; import com.google.gerrit.server.EnableSignedPush; import com.google.gerrit.server.account.Realm; @@ -340,7 +340,7 @@ public class GetServerInfo implements RestReadView { public static class AuthInfo { public AuthType authType; public Boolean useContributorAgreements; - public List editableAccountFields; + public List editableAccountFields; public String loginUrl; public String loginText; public String switchAccountUrl;