Add getSchemeRest to AccountExternalId
Slightly cleans up parsing an externalId string. Signed-off-by: Shawn O. Pearce <sop@google.com>
This commit is contained in:
@@ -218,11 +218,10 @@ class ExternalIdPanel extends Composite {
|
||||
}
|
||||
|
||||
private String describe(final AccountExternalId k) {
|
||||
final String id = k.getExternalId();
|
||||
if (k.isScheme(AccountExternalId.SCHEME_GERRIT)) {
|
||||
// A local user identity should just be itself.
|
||||
//
|
||||
return id.substring(AccountExternalId.SCHEME_GERRIT.length());
|
||||
return k.getSchemeRest(AccountExternalId.SCHEME_GERRIT);
|
||||
|
||||
} else if (k.isScheme(AccountExternalId.SCHEME_MAILTO)) {
|
||||
// Describe a mailto address as just its email address, which
|
||||
@@ -239,9 +238,9 @@ class ExternalIdPanel extends Composite {
|
||||
} else if (k.isScheme(AccountExternalId.LEGACY_GAE)) {
|
||||
return OpenIdUtil.C.nameGoogle() + " (Imported from Google AppEngine)";
|
||||
|
||||
} else {
|
||||
return k.getExternalId();
|
||||
}
|
||||
|
||||
return id;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ public final class AccountExternalId {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (e.getExternalId().startsWith(SCHEME_MAILTO)) {
|
||||
if (e.isScheme(SCHEME_MAILTO)) {
|
||||
// Don't ever consider an email address as a "recent login"
|
||||
//
|
||||
continue;
|
||||
@@ -149,6 +149,10 @@ public final class AccountExternalId {
|
||||
return id != null && id.startsWith(scheme);
|
||||
}
|
||||
|
||||
public String getSchemeRest(final String scheme) {
|
||||
return isScheme(scheme) ? getExternalId().substring(scheme.length()) : null;
|
||||
}
|
||||
|
||||
public boolean isTrusted() {
|
||||
return trusted;
|
||||
}
|
||||
|
||||
@@ -150,7 +150,7 @@ public class AccountManager {
|
||||
private AuthResult create(final ReviewDb db, final AuthRequest who)
|
||||
throws OrmException, AccountException {
|
||||
if (authConfig.isAllowGoogleAccountUpgrade()
|
||||
&& who.getExternalId().startsWith(OpenIdUtil.URL_GOOGLE + "?")
|
||||
&& who.isScheme(OpenIdUtil.URL_GOOGLE + "?")
|
||||
&& who.getEmailAddress() != null) {
|
||||
final List<AccountExternalId> legacyAppEngine =
|
||||
db.accountExternalIds().byExternal(
|
||||
|
||||
@@ -57,8 +57,12 @@ public class AuthRequest {
|
||||
return externalId;
|
||||
}
|
||||
|
||||
public boolean isScheme(final String scheme) {
|
||||
return getExternalId().startsWith(scheme);
|
||||
}
|
||||
|
||||
public String getLocalUser() {
|
||||
if (getExternalId().startsWith(SCHEME_GERRIT)) {
|
||||
if (isScheme(SCHEME_GERRIT)) {
|
||||
return getExternalId().substring(SCHEME_GERRIT.length());
|
||||
}
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user