use of com.sun.identity.idm.IdSearchControl in project OpenAM by OpenRock.
the class OpenAMScopeValidator method getTimestamps.
private AMHashMap getTimestamps(String username, String realm, String modifyTimestamp, String createTimestamp) throws IdRepoException, SSOException {
final SSOToken token = AccessController.doPrivileged(AdminTokenAction.getInstance());
final AMIdentityRepository amIdRepo = new AMIdentityRepository(token, realm);
final IdSearchControl searchConfig = new IdSearchControl();
searchConfig.setReturnAttributes(new HashSet<String>(Arrays.asList(modifyTimestamp, createTimestamp)));
searchConfig.setMaxResults(0);
final IdSearchResults searchResults = amIdRepo.searchIdentities(IdType.USER, username, searchConfig);
final Iterator searchResultsItr = searchResults.getResultAttributes().values().iterator();
if (searchResultsItr.hasNext()) {
return (AMHashMap) searchResultsItr.next();
} else {
logger.warning("Error retrieving timestamps from datastore");
throw new IdRepoException();
}
}
use of com.sun.identity.idm.IdSearchControl in project OpenAM by OpenRock.
the class IdRepoTest method deleteIdentity.
@Parameters({ "realm", "uid" })
@AfterTest(groups = { "cli-idrepo", "delete-identities" })
public void deleteIdentity(String realm, String uid) throws CLIException, IdRepoException, SSOException {
String[] param = { realm, uid };
entering("deleteRealm", param);
String[] args = { "delete-identities", CLIConstants.PREFIX_ARGUMENT_LONG + IArgument.REALM_NAME, realm, CLIConstants.PREFIX_ARGUMENT_LONG + IdentityCommand.ARGUMENT_ID_TYPE, "User", CLIConstants.PREFIX_ARGUMENT_LONG + IdentityCommand.ARGUMENT_ID_NAMES, uid };
SSOToken adminSSOToken = getAdminSSOToken();
CLIRequest req = new CLIRequest(null, args, adminSSOToken);
cmdManager.addToRequestQueue(req);
cmdManager.serviceRequestQueue();
AMIdentityRepository amir = new AMIdentityRepository(adminSSOToken, realm);
IdSearchControl isCtl = new IdSearchControl();
IdSearchResults isr = amir.searchIdentities(IdType.USER, uid, isCtl);
Set results = isr.getSearchResults();
assert (results.isEmpty());
exiting("deleteIdentities");
}
use of com.sun.identity.idm.IdSearchControl in project OpenAM by OpenRock.
the class UmaPolicyApplicationListener method getIdentityAttributes.
@SuppressWarnings("unchecked")
private Map<String, Set<String>> getIdentityAttributes(AMIdentity identity) throws IdRepoException, SSOException {
IdSearchControl searchControl = new IdSearchControl();
searchControl.setAllReturnAttributes(true);
searchControl.setMaxResults(0);
SSOToken adminToken = AccessController.doPrivileged(AdminTokenAction.getInstance());
IdSearchResults searchResults = idRepoFactory.create(identity.getRealm(), adminToken).searchIdentities(IdType.AGENT, identity.getName(), searchControl);
if (searchResults.getSearchResults().size() != 1) {
throw new IdRepoException("UmaPolicyApplicationListener.getIdentityAttributes : More than one agent found");
}
return new HashMap<String, Set<String>>((Map) searchResults.getResultAttributes().values().iterator().next());
}
Aggregations