You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@syncope.apache.org by "gonzalad (JIRA)" <ji...@apache.org> on 2016/07/08 17:25:11 UTC
[jira] [Created] (SYNCOPE-902) Provide helper method to retrieve
all the groups of a user
gonzalad created SYNCOPE-902:
--------------------------------
Summary: Provide helper method to retrieve all the groups of a user
Key: SYNCOPE-902
URL: https://issues.apache.org/jira/browse/SYNCOPE-902
Project: Syncope
Issue Type: Bug
Components: client
Affects Versions: 2.0.0-M4
Reporter: gonzalad
Priority: Minor
Syncope could provide a helper method to retrieve all the groups of a user.
For the moment, we need to code something like :
{code}
UserTO userTO = ...
List<GroupTO> groupTOs = Collections.<GroupTO> emptyList();
List<Long> keys = userTO.getMembershipMap().entrySet().stream()
.filter(entry -> "GROUP".equals(entry.getValue().getRightType()))
.map(entry -> entry.getValue().getRightKey()).collect(Collectors.toList());
if (keys.size() > 0) {
// cannot say I like the next 2 lines
Long firstKey = keys.get(0);
keys.remove(0);
String fiql = SyncopeClient.getGroupSearchConditionBuilder().is("key")
.equalTo(firstKey, keys.toArray(new Long[keys.size()])).query();
PagedResult<GroupTO> groupTOsPage = syncopeClient.getService(GroupService.class)
.search(new AnySearchQuery.Builder().realm(SyncopeConstants.ROOT_REALM).fiql(fiql).build());
groupTOs = (List<GroupTO>) groupTOsPage.getResult();
}
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)