@Override public <C extends IdentityType> C lookupById(Class<C> attributedType, String id) throws IdentityManagementException { if (attributedType == null) { throw MESSAGES.nullArgument("IdentityType class"); } if (id == null) { throw MESSAGES.nullArgument("Identifier"); } IdentityQueryBuilder queryBuilder = getQueryBuilder(); IdentityQuery<C> query = queryBuilder.createIdentityQuery(attributedType); query.where(queryBuilder.equal(IdentityType.ID, id)); List<C> result = query.getResultList(); C identity = null; if (!result.isEmpty()) { if (result.size() > 1) { throw MESSAGES.attributedTypeAmbiguosFoundWithId(id); } else { identity = result.get(0); } } return identity; }
@Override public <C extends IdentityType> C lookupById(Class<C> attributedType, String id) throws IdentityManagementException { if (attributedType == null) { throw MESSAGES.nullArgument("IdentityType class"); } if (id == null) { throw MESSAGES.nullArgument("Identifier"); } IdentityQueryBuilder queryBuilder = getQueryBuilder(); IdentityQuery<C> query = queryBuilder.createIdentityQuery(attributedType); query.where(queryBuilder.equal(IdentityType.ID, id)); List<C> result = query.getResultList(); C identity = null; if (!result.isEmpty()) { if (result.size() > 1) { throw MESSAGES.attributedTypeAmbiguosFoundWithId(id); } else { identity = result.get(0); } } return identity; }
/** * <p> Returns an {@link Role} instance with the given <code>name</code>. </p> * * @param name The role's name. * * @return An {@link Role} instance or null if the <code>name</code> is null or an empty string. * * @throws IdentityManagementException If the method fails. */ public static Role getRole(IdentityManager identityManager, String name) throws IdentityManagementException { if (identityManager == null) { throw MESSAGES.nullArgument("IdentityManager"); } if (isNullOrEmpty(name)) { return null; } IdentityQueryBuilder queryBuilder = identityManager.getQueryBuilder(); List<Role> roles = queryBuilder.createIdentityQuery(Role.class) .where(queryBuilder.equal(Role.NAME, name)).getResultList(); if (roles.isEmpty()) { return null; } else if (roles.size() == 1) { return roles.get(0); } else { throw new IdentityManagementException("Error - multiple Role objects found with same name"); } }
/** * <p> Returns an {@link Role} instance with the given <code>name</code>. </p> * * @param name The role's name. * * @return An {@link Role} instance or null if the <code>name</code> is null or an empty string. * * @throws IdentityManagementException If the method fails. */ public static Role getRole(IdentityManager identityManager, String name) throws IdentityManagementException { if (identityManager == null) { throw MESSAGES.nullArgument("IdentityManager"); } if (isNullOrEmpty(name)) { return null; } IdentityQueryBuilder queryBuilder = identityManager.getQueryBuilder(); List<Role> roles = queryBuilder.createIdentityQuery(Role.class) .where(queryBuilder.equal(Role.NAME, name)).getResultList(); if (roles.isEmpty()) { return null; } else if (roles.size() == 1) { return roles.get(0); } else { throw new IdentityManagementException("Error - multiple Role objects found with same name"); } }
/** * <p> Returns an {@link Agent} instance with the given <code>loginName</code>. </p> * * @param loginName The agent's login name. * * @return An {@link Agent} instance or null if the <code>loginName</code> is null or an empty string. {@link User} * are also agents, so if the <code>loginName</code> maps to an user, it will be returned. * * @throws IdentityManagementException If the method fails. */ public static Agent getAgent(IdentityManager identityManager, String loginName) throws IdentityManagementException { if (identityManager == null) { throw MESSAGES.nullArgument("IdentityManager"); } if (isNullOrEmpty(loginName)) { return null; } IdentityQueryBuilder queryBuilder = identityManager.getQueryBuilder(); List<Agent> agents = queryBuilder.createIdentityQuery(Agent.class) .where(queryBuilder.equal(Agent.LOGIN_NAME, loginName)).getResultList(); if (agents.isEmpty()) { return null; } else if (agents.size() == 1) { return agents.get(0); } else { throw new IdentityManagementException("Error - multiple Agent objects found with same login name"); } }
/** * <p> Returns an {@link Agent} instance with the given <code>loginName</code>. </p> * * @param loginName The agent's login name. * * @return An {@link Agent} instance or null if the <code>loginName</code> is null or an empty string. {@link User} * are also agents, so if the <code>loginName</code> maps to an user, it will be returned. * * @throws IdentityManagementException If the method fails. */ public static Agent getAgent(IdentityManager identityManager, String loginName) throws IdentityManagementException { if (identityManager == null) { throw MESSAGES.nullArgument("IdentityManager"); } if (isNullOrEmpty(loginName)) { return null; } IdentityQueryBuilder queryBuilder = identityManager.getQueryBuilder(); List<Agent> agents = queryBuilder.createIdentityQuery(Agent.class) .where(queryBuilder.equal(Agent.LOGIN_NAME, loginName)).getResultList(); if (agents.isEmpty()) { return null; } else if (agents.size() == 1) { return agents.get(0); } else { throw new IdentityManagementException("Error - multiple Agent objects found with same login name"); } }
/** * <p> Returns an {@link User} instance with the given <code>loginName</code>. </p> * * @param loginName The agent's login name. * * @return An {@link User} instance or null if the <code>loginName</code> is null or an empty string. * * @throws IdentityManagementException If the method fails. */ public static User getUser(IdentityManager identityManager, String loginName) throws IdentityManagementException { if (identityManager == null) { throw MESSAGES.nullArgument("IdentityManager"); } if (isNullOrEmpty(loginName)) { return null; } IdentityQueryBuilder queryBuilder = identityManager.getQueryBuilder(); List<User> agents = queryBuilder.createIdentityQuery(User.class) .where(queryBuilder.equal(User.LOGIN_NAME, loginName)).getResultList(); if (agents.isEmpty()) { return null; } else if (agents.size() == 1) { return agents.get(0); } else { throw new IdentityManagementException("Error - multiple Agent objects found with same login name"); } }
/** * <p> Returns an {@link User} instance with the given <code>loginName</code>. </p> * * @param loginName The agent's login name. * * @return An {@link User} instance or null if the <code>loginName</code> is null or an empty string. * * @throws IdentityManagementException If the method fails. */ public static User getUser(IdentityManager identityManager, String loginName) throws IdentityManagementException { if (identityManager == null) { throw MESSAGES.nullArgument("IdentityManager"); } if (isNullOrEmpty(loginName)) { return null; } IdentityQueryBuilder queryBuilder = identityManager.getQueryBuilder(); List<User> agents = queryBuilder.createIdentityQuery(User.class) .where(queryBuilder.equal(User.LOGIN_NAME, loginName)).getResultList(); if (agents.isEmpty()) { return null; } else if (agents.size() == 1) { return agents.get(0); } else { throw new IdentityManagementException("Error - multiple Agent objects found with same login name"); } }
String name = paths[paths.length - 1]; IdentityQueryBuilder queryBuilder = identityManager.getQueryBuilder(); IdentityQuery<Group> query = queryBuilder.createIdentityQuery(Group.class) .where(queryBuilder.equal(Group.NAME, name));
String name = paths[paths.length - 1]; IdentityQueryBuilder queryBuilder = identityManager.getQueryBuilder(); IdentityQuery<Group> query = queryBuilder.createIdentityQuery(Group.class) .where(queryBuilder.equal(Group.NAME, name));
@Override protected void doRemove(Partition attributedType) { checkPartitionManagementSupported(); IdentityManager identityManager = createIdentityManager(attributedType); IdentityQueryBuilder queryBuilder = identityManager.getQueryBuilder(); IdentityQuery<IdentityType> query = queryBuilder.createIdentityQuery(IdentityType.class); for (IdentityType identityType : query.getResultList()) { identityManager.remove(identityType); } IdentityContext identityContext = getIdentityContext(); getStoreSelector().getStoreForPartitionOperation(identityContext, attributedType.getClass()).remove(identityContext, attributedType); }
@Override protected void doRemove(Partition attributedType) { checkPartitionManagementSupported(); IdentityManager identityManager = createIdentityManager(attributedType); IdentityQueryBuilder queryBuilder = identityManager.getQueryBuilder(); IdentityQuery<IdentityType> query = queryBuilder.createIdentityQuery(IdentityType.class); for (IdentityType identityType : query.getResultList()) { identityManager.remove(identityType); } IdentityContext identityContext = getIdentityContext(); getStoreSelector().getStoreForPartitionOperation(identityContext, attributedType.getClass()).remove(identityContext, attributedType); }
IdentityQuery<Account> query = (IdentityQuery<Account>) queryBuilder.createIdentityQuery(accountType);
IdentityQuery<Account> query = (IdentityQuery<Account>) queryBuilder.createIdentityQuery(accountType);
IdentityQuery<? extends IdentityType> identityQuery = queryBuilder.createIdentityQuery(identityType.getClass());
IdentityQuery<? extends IdentityType> identityQuery = queryBuilder.createIdentityQuery(identityType.getClass());
IdentityQuery<Account> query = (IdentityQuery<Account>) queryBuilder.createIdentityQuery(accountType);
@Override public SCIMUser getUser(String id) { verifyIdentityManager(); SCIMUser scimUser = new SCIMUser(); IdentityQueryBuilder queryBuilder = identityManager.<User>getQueryBuilder(); IdentityQuery<User> query = queryBuilder.createIdentityQuery(User.class); query.where(queryBuilder.equal(AttributedType.ID, id)); List<User> result = query.getResultList(); User user = null; if (result.size() > 0) { user = result.get(0); scimUser.setId(id); UserName userName = new UserName(); userName.setGivenName(user.getFirstName()); userName.setFamilyName(user.getLastName()); scimUser.setName(userName); } // TODO: populate SCIM object return scimUser; }
IdentityQuery<Account> query = (IdentityQuery<Account>) queryBuilder.createIdentityQuery(accountType);
.createIdentityQuery(attributedType) .where(queryBuilder.equal(AttributedType.QUERY_ATTRIBUTE.byName(property.getName()), roleName)) .getResultList();