Example usage for org.apache.commons.collections4 Predicate Predicate

List of usage examples for org.apache.commons.collections4 Predicate Predicate

Introduction

In this page you can find the example usage for org.apache.commons.collections4 Predicate Predicate.

Prototype

Predicate

Source Link

Usage

From source file:org.apache.syncope.fit.core.reference.SyncTaskITCase.java

@Test
public void sync() throws Exception {
    removeTestUsers();//  w  w w. java2s  . c o  m

    // -----------------------------
    // Create a new user ... it should be updated applying sync policy
    // -----------------------------
    UserTO inUserTO = new UserTO();
    inUserTO.setRealm(SyncopeConstants.ROOT_REALM);
    inUserTO.setPassword("password123");
    String userName = "test9";
    inUserTO.setUsername(userName);
    inUserTO.getPlainAttrs().add(attrTO("firstname", "nome9"));
    inUserTO.getPlainAttrs().add(attrTO("surname", "cognome"));
    inUserTO.getPlainAttrs().add(attrTO("type", "a type"));
    inUserTO.getPlainAttrs().add(attrTO("fullname", "nome cognome"));
    inUserTO.getPlainAttrs().add(attrTO("userId", "puccini@syncope.apache.org"));
    inUserTO.getPlainAttrs().add(attrTO("email", "puccini@syncope.apache.org"));
    inUserTO.getAuxClasses().add("csv");
    inUserTO.getDerAttrs().add(attrTO("csvuserid", null));

    inUserTO = createUser(inUserTO);
    assertNotNull(inUserTO);
    assertFalse(inUserTO.getResources().contains(RESOURCE_NAME_CSV));

    // -----------------------------
    try {
        int usersPre = userService.list(SyncopeClient.getAnyListQueryBuilder()
                .realm(SyncopeConstants.ROOT_REALM).page(1).size(1).build()).getTotalCount();
        assertNotNull(usersPre);

        execProvisioningTask(SYNC_TASK_ID, 50, false);

        // after execution of the sync task the user data should have been synced from CSV
        // and processed by user template
        UserTO userTO = userService.read(inUserTO.getKey());
        assertNotNull(userTO);
        assertEquals(userName, userTO.getUsername());
        assertEquals(ActivitiDetector.isActivitiEnabledForUsers(syncopeService) ? "active" : "created",
                userTO.getStatus());
        assertEquals("test9@syncope.apache.org", userTO.getPlainAttrMap().get("email").getValues().get(0));
        assertEquals("test9@syncope.apache.org", userTO.getPlainAttrMap().get("userId").getValues().get(0));
        assertTrue(Integer.valueOf(userTO.getPlainAttrMap().get("fullname").getValues().get(0)) <= 10);
        assertTrue(userTO.getResources().contains(RESOURCE_NAME_TESTDB));
        assertTrue(userTO.getResources().contains(RESOURCE_NAME_WS2));

        // Matching --> Update (no link)
        assertFalse(userTO.getResources().contains(RESOURCE_NAME_CSV));

        // check for user template
        userTO = readUser("test7");
        assertNotNull(userTO);
        assertEquals("TYPE_OTHER", userTO.getPlainAttrMap().get("type").getValues().get(0));
        assertEquals(3, userTO.getResources().size());
        assertTrue(userTO.getResources().contains(RESOURCE_NAME_TESTDB));
        assertTrue(userTO.getResources().contains(RESOURCE_NAME_WS2));
        assertEquals(1, userTO.getMemberships().size());
        assertEquals(8, userTO.getMemberships().get(0).getRightKey());

        // Unmatching --> Assign (link) - SYNCOPE-658
        assertTrue(userTO.getResources().contains(RESOURCE_NAME_CSV));
        assertEquals(1, CollectionUtils.countMatches(userTO.getDerAttrs(), new Predicate<AttrTO>() {

            @Override
            public boolean evaluate(final AttrTO attributeTO) {
                return "csvuserid".equals(attributeTO.getSchema());
            }
        }));

        userTO = readUser("test8");
        assertNotNull(userTO);
        assertEquals("TYPE_8", userTO.getPlainAttrMap().get("type").getValues().get(0));

        // Check for ignored user - SYNCOPE-663
        try {
            readUser("test2");
            fail();
        } catch (SyncopeClientException e) {
            assertEquals(Response.Status.NOT_FOUND, e.getType().getResponseStatus());
        }

        // check for sync results
        int usersPost = userService.list(SyncopeClient.getAnyListQueryBuilder()
                .realm(SyncopeConstants.ROOT_REALM).page(1).size(1).build()).getTotalCount();
        assertNotNull(usersPost);
        assertEquals(usersPre + 8, usersPost);

        // Check for issue 215:
        // * expected disabled user test1
        // * expected enabled user test2
        userTO = readUser("test1");
        assertNotNull(userTO);
        assertEquals("suspended", userTO.getStatus());

        userTO = readUser("test3");
        assertNotNull(userTO);
        assertEquals("active", userTO.getStatus());

        // SYNCOPE-317
        execProvisioningTask(SYNC_TASK_ID, 50, false);

        final Set<Long> pushTaskIds = new HashSet<>();
        pushTaskIds.add(25L);
        pushTaskIds.add(26L);

        execProvisioningTasks(pushTaskIds, 50, false);
        // Matching --> UNLINK
        assertFalse(readUser("test9").getResources().contains(RESOURCE_NAME_CSV));
        assertFalse(readUser("test7").getResources().contains(RESOURCE_NAME_CSV));
    } finally {
        removeTestUsers();
    }
}

From source file:org.apache.syncope.fit.core.SearchITCase.java

@Test
public void searchUser() {
    // LIKE/*from   w w w.ja  va2s  .  c o m*/
    PagedResult<UserTO> matchingUsers = userService.search(new AnyQuery.Builder()
            .realm(SyncopeConstants.ROOT_REALM).fiql(SyncopeClient.getUserSearchConditionBuilder()
                    .is("fullname").equalTo("*o*").and("fullname").equalTo("*i*").query())
            .build());
    assertNotNull(matchingUsers);
    assertFalse(matchingUsers.getResult().isEmpty());

    for (UserTO user : matchingUsers.getResult()) {
        assertNotNull(user);
    }

    // ISNULL
    matchingUsers = userService.search(new AnyQuery.Builder().realm(SyncopeConstants.ROOT_REALM)
            .fiql(SyncopeClient.getUserSearchConditionBuilder().isNull("loginDate").query()).build());
    assertNotNull(matchingUsers);
    assertFalse(matchingUsers.getResult().isEmpty());

    Collection<UserTO> found = CollectionUtils.select(matchingUsers.getResult(), new Predicate<UserTO>() {

        @Override
        public boolean evaluate(final UserTO user) {
            return "74cd8ece-715a-44a4-a736-e17b46c4e7e6".equals(user.getKey())
                    || "b3cbc78d-32e6-4bd4-92e0-bbe07566a2ee".equals(user.getKey());
        }
    });
    assertEquals(2, found.size());
}

From source file:org.apache.syncope.fit.core.SearchITCase.java

@Test
public void searchByGroup() {
    PagedResult<UserTO> matchingUsers = userService
            .search(new AnyQuery.Builder().realm(SyncopeConstants.ROOT_REALM)
                    .fiql(SyncopeClient.getUserSearchConditionBuilder().inGroups("root").query()).build());
    assertNotNull(matchingUsers);/*from  www  .j  av a 2  s .  com*/
    assertFalse(matchingUsers.getResult().isEmpty());

    assertTrue(IterableUtils.matchesAny(matchingUsers.getResult(), new Predicate<UserTO>() {

        @Override
        public boolean evaluate(final UserTO user) {
            return "1417acbe-cbf6-4277-9372-e75e04f97000".equals(user.getKey());
        }
    }));
}

From source file:org.apache.syncope.fit.core.SearchITCase.java

@Test
public void searchByDynGroup() {
    GroupTO group = GroupITCase.getBasicSampleTO("dynMembership");
    group.setUDynMembershipCond("cool==true");
    group = createGroup(group).getEntity();
    assertNotNull(group);/*from   w w w. ja v  a2  s.  c o  m*/

    PagedResult<UserTO> matchingUsers = userService.search(new AnyQuery.Builder()
            .realm(SyncopeConstants.ROOT_REALM)
            .fiql(SyncopeClient.getUserSearchConditionBuilder().inGroups(group.getKey()).query()).build());
    assertNotNull(matchingUsers);
    assertFalse(matchingUsers.getResult().isEmpty());

    assertTrue(IterableUtils.matchesAny(matchingUsers.getResult(), new Predicate<UserTO>() {

        @Override
        public boolean evaluate(final UserTO user) {
            return "c9b2dec2-00a7-4855-97c0-d854842b4b24".equals(user.getKey());
        }
    }));
}

From source file:org.apache.syncope.fit.core.SearchITCase.java

@Test
public void searchByRole() {
    PagedResult<UserTO> matchingUsers = userService
            .search(new AnyQuery.Builder().realm(SyncopeConstants.ROOT_REALM)
                    .fiql(SyncopeClient.getUserSearchConditionBuilder().inRoles("Other").query()).build());
    assertNotNull(matchingUsers);//from w w w. j  ava  2  s  .c  om
    assertFalse(matchingUsers.getResult().isEmpty());

    assertTrue(IterableUtils.matchesAny(matchingUsers.getResult(), new Predicate<UserTO>() {

        @Override
        public boolean evaluate(final UserTO user) {
            return "1417acbe-cbf6-4277-9372-e75e04f97000".equals(user.getKey());
        }
    }));
}

From source file:org.apache.syncope.fit.core.SearchITCase.java

@Test
public void searchByDynRole() {
    RoleTO role = RoleITCase.getSampleRoleTO("dynMembership");
    role.setDynMembershipCond("cool==true");
    Response response = roleService.create(role);
    role = getObject(response.getLocation(), RoleService.class, RoleTO.class);
    assertNotNull(role);//from  w w  w. j  a v  a 2  s  .  c om

    PagedResult<UserTO> matchingUsers = userService.search(new AnyQuery.Builder()
            .realm(SyncopeConstants.ROOT_REALM)
            .fiql(SyncopeClient.getUserSearchConditionBuilder().inRoles(role.getKey()).query()).build());
    assertNotNull(matchingUsers);
    assertFalse(matchingUsers.getResult().isEmpty());

    assertTrue(IterableUtils.matchesAny(matchingUsers.getResult(), new Predicate<UserTO>() {

        @Override
        public boolean evaluate(final UserTO user) {
            return "c9b2dec2-00a7-4855-97c0-d854842b4b24".equals(user.getKey());
        }
    }));
}

From source file:org.apache.syncope.fit.core.SearchITCase.java

@Test
public void searchUserByResourceName() {
    PagedResult<UserTO> matchingUsers = userService.search(new AnyQuery.Builder()
            .realm(SyncopeConstants.ROOT_REALM)
            .fiql(SyncopeClient.getUserSearchConditionBuilder().hasResources(RESOURCE_NAME_MAPPINGS2).query())
            .build());//from   w w w.j a v a 2 s .c om
    assertNotNull(matchingUsers);
    assertFalse(matchingUsers.getResult().isEmpty());

    assertTrue(IterableUtils.matchesAny(matchingUsers.getResult(), new Predicate<UserTO>() {

        @Override
        public boolean evaluate(final UserTO user) {
            return "74cd8ece-715a-44a4-a736-e17b46c4e7e6".equals(user.getKey());
        }
    }));
}

From source file:org.apache.syncope.fit.core.SearchITCase.java

@Test
public void searchByRelationship() {
    PagedResult<AnyObjectTO> anyObjects = anyObjectService.search(new AnyQuery.Builder()
            .realm(SyncopeConstants.ROOT_REALM).fiql(SyncopeClient.getAnyObjectSearchConditionBuilder("PRINTER")
                    .inRelationships("Canon MF 8030cn").query())
            .build());/*from  ww w .  j  a  va  2 s . c om*/
    assertNotNull(anyObjects);
    assertTrue(IterableUtils.matchesAny(anyObjects.getResult(), new Predicate<AnyObjectTO>() {

        @Override
        public boolean evaluate(final AnyObjectTO anyObject) {
            return "fc6dbc3a-6c07-4965-8781-921e7401a4a5".equals(anyObject.getKey());
        }
    }));

    PagedResult<UserTO> users = userService.search(new AnyQuery.Builder().realm(SyncopeConstants.ROOT_REALM)
            .fiql(SyncopeClient.getUserSearchConditionBuilder().inRelationships("HP LJ 1300n").query())
            .build());
    assertNotNull(users);
    assertTrue(IterableUtils.matchesAny(users.getResult(), new Predicate<UserTO>() {

        @Override
        public boolean evaluate(final UserTO user) {
            return "c9b2dec2-00a7-4855-97c0-d854842b4b24".equals(user.getKey());
        }
    }));
}

From source file:org.apache.syncope.fit.core.SearchITCase.java

@Test
public void searchByRelationshipType() {
    PagedResult<AnyObjectTO> anyObjects = anyObjectService.search(new AnyQuery.Builder()
            .realm(SyncopeConstants.ROOT_REALM).fiql(SyncopeClient.getAnyObjectSearchConditionBuilder("PRINTER")
                    .inRelationshipTypes("neighborhood").query())
            .build());//from  w  w  w  .ja v  a 2 s .  c o  m
    assertNotNull(anyObjects);
    assertTrue(IterableUtils.matchesAny(anyObjects.getResult(), new Predicate<AnyObjectTO>() {

        @Override
        public boolean evaluate(final AnyObjectTO anyObject) {
            return "fc6dbc3a-6c07-4965-8781-921e7401a4a5".equals(anyObject.getKey());
        }
    }));
    assertTrue(IterableUtils.matchesAny(anyObjects.getResult(), new Predicate<AnyObjectTO>() {

        @Override
        public boolean evaluate(final AnyObjectTO anyObject) {
            return "8559d14d-58c2-46eb-a2d4-a7d35161e8f8".equals(anyObject.getKey());
        }
    }));

    PagedResult<UserTO> users = userService.search(new AnyQuery.Builder().realm(SyncopeConstants.ROOT_REALM)
            .fiql(SyncopeClient.getUserSearchConditionBuilder().inRelationshipTypes("neighborhood").query())
            .build());
    assertNotNull(users);
    assertTrue(IterableUtils.matchesAny(users.getResult(), new Predicate<UserTO>() {

        @Override
        public boolean evaluate(final UserTO user) {
            return "c9b2dec2-00a7-4855-97c0-d854842b4b24".equals(user.getKey());
        }
    }));
}

From source file:org.apache.syncope.fit.core.SearchITCase.java

@Test
public void assignable() {
    PagedResult<GroupTO> groups = groupService
            .search(new AnyQuery.Builder().realm("/even/two").page(1).size(1000).fiql(SyncopeClient
                    .getGroupSearchConditionBuilder().isAssignable().and("name").equalTo("*").query()).build());
    assertNotNull(groups);/*w w  w.ja  v a 2  s . c om*/
    assertTrue(IterableUtils.matchesAny(groups.getResult(), new Predicate<GroupTO>() {

        @Override
        public boolean evaluate(final GroupTO group) {
            return "034740a9-fa10-453b-af37-dc7897e98fb1".equals(group.getKey());
        }
    }));
    assertFalse(IterableUtils.matchesAny(groups.getResult(), new Predicate<GroupTO>() {

        @Override
        public boolean evaluate(final GroupTO group) {
            return "e7ff94e8-19c9-4f0a-b8b7-28327edbf6ed".equals(group.getKey());
        }
    }));

    PagedResult<AnyObjectTO> anyObjects = anyObjectService.search(new AnyQuery.Builder().realm("/odd")
            .fiql(SyncopeClient.getAnyObjectSearchConditionBuilder("PRINTER").isAssignable().and("name")
                    .equalTo("*").query())
            .build());
    assertNotNull(anyObjects);
    assertFalse(IterableUtils.matchesAny(anyObjects.getResult(), new Predicate<AnyObjectTO>() {

        @Override
        public boolean evaluate(final AnyObjectTO anyObject) {
            return "9e1d130c-d6a3-48b1-98b3-182477ed0688".equals(anyObject.getKey());
        }
    }));
}