use of org.ovirt.engine.api.extensions.ExtMap in project ovirt-engine by oVirt.
the class JsonObjectSerializationEntitiesTest method serializeAndDeserializeExtMap.
@Test
public void serializeAndDeserializeExtMap() throws Exception {
ExtMap data = new ExtMap();
data.put(Authn.AuthRecord.PRINCIPAL, "user1@BRQ-OPENLDAP.RHEV.LAB.ENG.BRQ.REDHAT.COM");
String json = serialize(data);
assertTrue(json.length() > 0);
ExtMap extMap = deserialize(json, ExtMap.class);
assertNotNull(extMap);
assertEquals(data, extMap);
}
use of org.ovirt.engine.api.extensions.ExtMap in project ovirt-engine by oVirt.
the class GetDirectoryUserByPrincipalQuery method executeQueryCommand.
@Override
protected void executeQueryCommand() {
Map<String, Object> response = SsoOAuthServiceUtils.fetchPrincipalRecord(getSessionDataContainer().getSsoAccessToken(getParameters().getSessionId()), getParameters().getAuthz(), getParameters().getPrincnipal(), false, false);
ExtMap principalRecord = null;
if (response.containsKey("result")) {
Collection<ExtMap> records = (Collection<ExtMap>) response.get("result");
if (!records.isEmpty()) {
principalRecord = records.iterator().next();
}
}
getQueryReturnValue().setReturnValue(directoryUtils.mapPrincipalRecordToDirectoryUser(getParameters().getAuthz(), principalRecord));
}
use of org.ovirt.engine.api.extensions.ExtMap in project ovirt-engine by oVirt.
the class GetAuthzGroupsByUserIdQuery method getDirectoryUser.
private Collection<AuthzGroup> getDirectoryUser(DbUser dbUser) {
Collection<AuthzGroup> groups = new ArrayList<>();
if (dbUser != null) {
Map<String, Object> response = SsoOAuthServiceUtils.findPrincipalsByIds(getSessionDataContainer().getSsoAccessToken(getParameters().getSessionId()), dbUser.getDomain(), dbUser.getNamespace(), Arrays.asList(dbUser.getExternalId()), true, true);
Collection<ExtMap> principalRecords = Collections.emptyList();
if (response.containsKey("result")) {
principalRecords = (Collection<ExtMap>) response.get("result");
}
if (!principalRecords.isEmpty()) {
ExtMap principalRecord = principalRecords.iterator().next();
directoryUtils.flatGroups(principalRecord);
for (ExtMap group : principalRecord.<Collection<ExtMap>>get(PrincipalRecord.GROUPS, Collections.<ExtMap>emptyList())) {
groups.add(new AuthzGroup(dbUser.getDomain(), group.get(GroupRecord.NAMESPACE), group.get(GroupRecord.NAME), group.get(GroupRecord.ID)));
}
}
}
return groups;
}
use of org.ovirt.engine.api.extensions.ExtMap in project ovirt-engine by oVirt.
the class SearchQuery method searchDirectoryGroups.
private List<DirectoryGroup> searchDirectoryGroups() {
// Parse the query:
QueryData data = initQueryData(true);
if (data == null) {
return Collections.emptyList();
}
List<DirectoryGroup> results = new ArrayList<>();
Map<String, Object> response = SsoOAuthServiceUtils.searchGroups(sessionDataContainer.getSsoAccessToken(getParameters().getSessionId()), getParamsMap(data));
if (response.containsKey("result")) {
Collection<ExtMap> groups = (Collection<ExtMap>) response.get("result");
results = groups.stream().map((ExtMap g) -> directoryUtils.mapGroupRecordToDirectoryGroup(data.getAuthz(), g)).collect(Collectors.toList());
}
return results;
}
use of org.ovirt.engine.api.extensions.ExtMap in project ovirt-engine by oVirt.
the class SearchQuery method searchDirectoryUsers.
private List<DirectoryUser> searchDirectoryUsers() {
// Parse the query:
QueryData data = initQueryData(true);
if (data == null) {
return Collections.emptyList();
}
List<DirectoryUser> results = new ArrayList<>();
Map<String, Object> response = SsoOAuthServiceUtils.searchUsers(sessionDataContainer.getSsoAccessToken(getParameters().getSessionId()), getParamsMap(data));
if (response.containsKey("result")) {
Collection<ExtMap> users = (Collection<ExtMap>) response.get("result");
results = users.stream().map((ExtMap u) -> directoryUtils.mapPrincipalRecordToDirectoryUser(data.getAuthz(), u)).collect(Collectors.toList());
}
return results;
}
Aggregations