AccountExternalIdInfo: Return null for boolean fields in case of false

This is to be consistent with how the values for other boolean fields
are returned.

Change-Id: I10365265fa477613bbf40b043655743d40d6eb3c
Signed-off-by: Edwin Kempin <ekempin@google.com>
This commit is contained in:
Edwin Kempin
2017-01-13 08:23:16 +01:00
parent 08a2e57616
commit c044e7480a
3 changed files with 16 additions and 13 deletions

View File

@@ -66,22 +66,25 @@ public class GetExternalIds implements RestReadView<AccountResource> {
AccountExternalIdInfo info = new AccountExternalIdInfo();
info.identity = id.getExternalId();
info.emailAddress = id.getEmailAddress();
info.trusted = authConfig.isIdentityTrustable(
Collections.singleton(id));
info.trusted =
toBoolean(authConfig.isIdentityTrustable(Collections.singleton(id)));
// The identity can be deleted only if its not the one used to
// establish this web session, and if only if an identity was
// actually used to establish this web session.
if (id.isScheme(SCHEME_USERNAME)) {
info.canDelete = false;
} else {
if (!id.isScheme(SCHEME_USERNAME)) {
CurrentUser.PropertyKey<AccountExternalId.Key> k =
CurrentUser.PropertyKey.create();
AccountExternalId.Key last = resource.getUser().get(k);
info.canDelete = (last != null) && (!last.get().equals(info.identity));
info.canDelete =
toBoolean(last != null && !last.get().equals(info.identity));
}
result.add(info);
}
return result;
}
private static Boolean toBoolean(boolean v) {
return v ? v : null;
}
}