if (ids instanceof JpaIdentityStore) identityStore = (JpaIdentityStore) ids;
if (principal instanceof String)
{
return isUser ? new SimplePrincipal((String) principal) : new Role((String) principal,
identityStore == null ? false : identityStore.isRoleConditional((String) principal));
}
if (identityStore != null)
{
if (isUser && identityStore.getUserClass().isAssignableFrom(principal.getClass()))
{
return new SimplePrincipal(identityStore.getUserName(principal));
}
if (!isUser && identityStore.getRoleClass().isAssignableFrom(principal.getClass()))
{
String name = identityStore.getRoleName(principal);