Role someRole = // create some role
Role someAnotherRole = //create another role
someRole.setEnabled(true);
someAnotherRole.setEnabled(true);
IdentityManager identityManager = getIdentityManager();
identityManager.update(someRole);
identityManager.update(someAnotherRole);
IdentityQuery<Role> query = identityManager.<Role> createQuery(Role.class);
query.setParameter(Role.ENABLED, true);
// all enabled roles
List<Role> result = query.getResultList();
assertFalse(result.isEmpty());
assertTrue(contains(result, someRole.getName()));
assertTrue(contains(result, someAnotherRole.getName()));
query = identityManager.<Role> createQuery(Role.class);
query.setParameter(Role.ENABLED, false);
// only disabled roles. No roles are disabled.
result = query.getResultList();
assertTrue(result.isEmpty());
someRole.setEnabled(false);
// let's disabled the role and try to find him
identityManager.update(someRole);
query = identityManager.<Role> createQuery(Role.class);
query.setParameter(Role.ENABLED, false);
// get the previously disabled role
result = query.getResultList();
assertFalse(result.isEmpty());
assertTrue(contains(result, someRole.getName()));
assertFalse(contains(result, someAnotherRole.getName()));
someAnotherRole.setEnabled(false);
// let's disabled the role and try to find him
identityManager.update(someAnotherRole);
query = identityManager.<Role> createQuery(Role.class);
query.setParameter(Role.ENABLED, true);
result = query.getResultList();
assertFalse(contains(result, someRole.getName()));
assertFalse(contains(result, someAnotherRole.getName()));