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);
 

Reply via email to