Repository: syncope Updated Branches: refs/heads/SYNCOPE-667 [created] 36bec3875
[SYNCOPE-667] simplification of admin roles filter query used in search Project: http://git-wip-us.apache.org/repos/asf/syncope/repo Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/36bec387 Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/36bec387 Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/36bec387 Branch: refs/heads/SYNCOPE-667 Commit: 36bec3875cbeefbe63654baca858b164e02135d9 Parents: 2f2e67f Author: Guido Wimmel <gwim...@apache.org> Authored: Tue May 12 16:44:39 2015 +0200 Committer: Guido Wimmel <gwim...@apache.org> Committed: Tue May 12 16:44:39 2015 +0200 ---------------------------------------------------------------------- .../core/persistence/dao/impl/SubjectSearchDAOImpl.java | 6 ++---- .../org/apache/syncope/core/rest/AuthenticationTestITCase.java | 4 +++- 2 files changed, 5 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/syncope/blob/36bec387/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/SubjectSearchDAOImpl.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/SubjectSearchDAOImpl.java b/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/SubjectSearchDAOImpl.java index 693091a..5550690 100644 --- a/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/SubjectSearchDAOImpl.java +++ b/core/src/main/java/org/apache/syncope/core/persistence/dao/impl/SubjectSearchDAOImpl.java @@ -72,9 +72,7 @@ public class SubjectSearchDAOImpl extends AbstractDAOImpl implements SubjectSear final StringBuilder adminRolesFilter = new StringBuilder(); if (type == SubjectType.USER) { - adminRolesFilter.append("SELECT syncopeUser_id AS subject_id FROM Membership M1 WHERE syncopeRole_id IN ("). - append("SELECT syncopeRole_id FROM Membership M2 WHERE M2.syncopeUser_id=M1.syncopeUser_id "). - append("AND syncopeRole_id NOT IN ("); + adminRolesFilter.append("SELECT syncopeUser_id AS subject_id FROM Membership WHERE syncopeRole_id NOT IN ("); } adminRolesFilter.append("SELECT id AS "). @@ -94,7 +92,7 @@ public class SubjectSearchDAOImpl extends AbstractDAOImpl implements SubjectSear } if (type == SubjectType.USER) { - adminRolesFilter.append("))"); + adminRolesFilter.append(")"); } return adminRolesFilter.toString(); http://git-wip-us.apache.org/repos/asf/syncope/blob/36bec387/core/src/test/java/org/apache/syncope/core/rest/AuthenticationTestITCase.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/syncope/core/rest/AuthenticationTestITCase.java b/core/src/test/java/org/apache/syncope/core/rest/AuthenticationTestITCase.java index 01e5520..f715c69 100644 --- a/core/src/test/java/org/apache/syncope/core/rest/AuthenticationTestITCase.java +++ b/core/src/test/java/org/apache/syncope/core/rest/AuthenticationTestITCase.java @@ -214,7 +214,7 @@ public class AuthenticationTestITCase extends AbstractTest { getService(UserService.class); PagedResult<UserTO> matchedUsers = userService2.search( - SyncopeClient.getUserSearchConditionBuilder().isNotNull("loginDate").query()); + SyncopeClient.getUserSearchConditionBuilder().isNotNull("id").query()); assertNotNull(matchedUsers); assertFalse(matchedUsers.getResult().isEmpty()); Set<Long> userIds = new HashSet<Long>(matchedUsers.getResult().size()); @@ -222,6 +222,8 @@ public class AuthenticationTestITCase extends AbstractTest { userIds.add(user.getId()); } assertTrue(userIds.contains(1L)); + assertFalse(userIds.contains(2L)); + assertFalse(userIds.contains(5L)); UserService userService3 = clientFactory.create("verdi", "password").getService(UserService.class);