Search in sources :

Example 1 with ExtMap

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);
}
Also used : ExtMap(org.ovirt.engine.api.extensions.ExtMap) Test(org.junit.Test)

Example 2 with 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));
}
Also used : ExtMap(org.ovirt.engine.api.extensions.ExtMap) Collection(java.util.Collection)

Example 3 with ExtMap

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;
}
Also used : ExtMap(org.ovirt.engine.api.extensions.ExtMap) AuthzGroup(org.ovirt.engine.core.common.businessentities.aaa.AuthzGroup) ArrayList(java.util.ArrayList) Collection(java.util.Collection)

Example 4 with ExtMap

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;
}
Also used : ExtMap(org.ovirt.engine.api.extensions.ExtMap) QueryData(org.ovirt.engine.core.aaa.QueryData) DirectoryGroup(org.ovirt.engine.core.aaa.DirectoryGroup) ArrayList(java.util.ArrayList) Collection(java.util.Collection)

Example 5 with ExtMap

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;
}
Also used : DirectoryUser(org.ovirt.engine.core.aaa.DirectoryUser) ExtMap(org.ovirt.engine.api.extensions.ExtMap) QueryData(org.ovirt.engine.core.aaa.QueryData) ArrayList(java.util.ArrayList) Collection(java.util.Collection)

Aggregations

ExtMap (org.ovirt.engine.api.extensions.ExtMap)48 Collection (java.util.Collection)15 ArrayList (java.util.ArrayList)12 HashMap (java.util.HashMap)5 Map (java.util.Map)5 IOException (java.io.IOException)4 AuthenticationProfile (org.ovirt.engine.core.aaa.AuthenticationProfile)4 DirectoryGroup (org.ovirt.engine.core.aaa.DirectoryGroup)4 Properties (java.util.Properties)3 DbUser (org.ovirt.engine.core.common.businessentities.aaa.DbUser)3 ExtensionProxy (org.ovirt.engine.core.extensions.mgr.ExtensionProxy)3 HashSet (java.util.HashSet)2 InitialContext (javax.naming.InitialContext)2 NamingException (javax.naming.NamingException)2 ServletException (javax.servlet.ServletException)2 ExtKey (org.ovirt.engine.api.extensions.ExtKey)2 DirectoryUser (org.ovirt.engine.core.aaa.DirectoryUser)2 QueryData (org.ovirt.engine.core.aaa.QueryData)2 ActionReturnValue (org.ovirt.engine.core.common.action.ActionReturnValue)2 CreateUserSessionParameters (org.ovirt.engine.core.common.action.CreateUserSessionParameters)2