use of org.camunda.bpm.engine.identity.Group in project camunda-bpm-platform by camunda.
the class LdapGroupQueryTest method testPaginationWithAuthenticatedUser.
public void testPaginationWithAuthenticatedUser() {
createGrantAuthorization(GROUP, "management", "oscar", READ);
createGrantAuthorization(GROUP, "consulting", "oscar", READ);
createGrantAuthorization(GROUP, "external", "oscar", READ);
try {
processEngineConfiguration.setAuthorizationEnabled(true);
identityService.setAuthenticatedUserId("oscar");
Set<String> groupNames = new HashSet<String>();
List<Group> groups = identityService.createGroupQuery().listPage(0, 2);
assertEquals(2, groups.size());
checkPagingResults(groupNames, groups.get(0).getId(), groups.get(1).getId());
groups = identityService.createGroupQuery().listPage(2, 2);
assertEquals(1, groups.size());
assertFalse(groupNames.contains(groups.get(0).getId()));
groupNames.add(groups.get(0).getId());
groups = identityService.createGroupQuery().listPage(4, 2);
assertEquals(0, groups.size());
identityService.setAuthenticatedUserId("daniel");
groups = identityService.createGroupQuery().listPage(0, 2);
assertEquals(0, groups.size());
} finally {
processEngineConfiguration.setAuthorizationEnabled(false);
identityService.clearAuthentication();
for (Authorization authorization : authorizationService.createAuthorizationQuery().list()) {
authorizationService.deleteAuthorization(authorization.getId());
}
}
}
use of org.camunda.bpm.engine.identity.Group in project camunda-bpm-platform by camunda.
the class LdapGroupQueryTest method testFilterByGroupIdIn.
public void testFilterByGroupIdIn() {
List<Group> groups = identityService.createGroupQuery().groupIdIn("external", "management").list();
assertEquals(2, groups.size());
for (Group group : groups) {
if (!group.getId().equals("external") && !group.getId().equals("management")) {
fail();
}
}
}
use of org.camunda.bpm.engine.identity.Group in project camunda-bpm-platform by camunda.
the class LdapIdentityProviderSession method findGroupByQueryCriteria.
public List<Group> findGroupByQueryCriteria(LdapGroupQuery query) {
ensureContextInitialized();
String groupBaseDn = composeDn(ldapConfiguration.getGroupSearchBase(), ldapConfiguration.getBaseDn());
if (ldapConfiguration.isSortControlSupported()) {
applyRequestControls(query);
}
NamingEnumeration<SearchResult> enumeration = null;
try {
String filter = getGroupSearchFilter(query);
enumeration = initialContext.search(groupBaseDn, filter, ldapConfiguration.getSearchControls());
// perform client-side paging
int resultCount = 0;
List<Group> groupList = new ArrayList<Group>();
while (enumeration.hasMoreElements() && groupList.size() < query.getMaxResults()) {
SearchResult result = enumeration.nextElement();
GroupEntity group = transformGroup(result);
if (isAuthorized(READ, GROUP, group.getId())) {
if (resultCount >= query.getFirstResult()) {
groupList.add(group);
}
resultCount++;
}
}
return groupList;
} catch (NamingException e) {
throw new IdentityProviderException("Could not query for users", e);
} finally {
try {
if (enumeration != null) {
enumeration.close();
}
} catch (Exception e) {
// ignore silently
}
}
}
use of org.camunda.bpm.engine.identity.Group in project camunda-bpm-platform by camunda.
the class TaskQueryImpl method getGroupsForCandidateUser.
protected List<String> getGroupsForCandidateUser(String candidateUser) {
List<Group> groups = Context.getCommandContext().getReadOnlyIdentityProvider().createGroupQuery().groupMember(candidateUser).list();
List<String> groupIds = new ArrayList<String>();
for (Group group : groups) {
groupIds.add(group.getId());
}
return groupIds;
}
use of org.camunda.bpm.engine.identity.Group in project camunda-bpm-platform by camunda.
the class GroupRestServiceImpl method queryGroups.
public List<GroupDto> queryGroups(GroupQueryDto queryDto, Integer firstResult, Integer maxResults) {
queryDto.setObjectMapper(getObjectMapper());
GroupQuery query = queryDto.toQuery(getProcessEngine());
List<Group> resultList;
if (firstResult != null || maxResults != null) {
resultList = executePaginatedQuery(query, firstResult, maxResults);
} else {
resultList = query.list();
}
return GroupDto.fromGroupList(resultList);
}
Aggregations