You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@turbine.apache.org by gk...@apache.org on 2023/10/11 10:15:14 UTC

[turbine-fulcrum-security] 02/02: Add default constructor for TurbineUserImpl, add tests for retrieveUserList,format tests, use SharedPool2DataSourceFactory in test/Torque.properties, fix retrieveUserList in MemoryUserManagerImpl, add instance check for argument Criteria in retrieveUserList(Object) methods, cleanup test and use non deprecated Integer initializers

This is an automated email from the ASF dual-hosted git repository.

gk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/turbine-fulcrum-security.git

commit e9ea8750e0f332b54af2a16f464e4c393e2dc712
Author: Georg Kallidis <gk...@apache.org>
AuthorDate: Wed Oct 11 12:11:39 2023 +0200

    Add default constructor for TurbineUserImpl, add tests for retrieveUserList,format tests, use SharedPool2DataSourceFactory in test/Torque.properties, fix retrieveUserList in MemoryUserManagerImpl, add instance check for argument Criteria in retrieveUserList(Object) methods, cleanup test and use non deprecated Integer initializers
---
 .../model/turbine/entity/impl/TurbineUserImpl.java |   6 +
 .../fulcrum/security/model/ACLFactoryTest.java     |  28 ++--
 .../security/memory/MemoryUserManagerImpl.java     |   4 +-
 .../security/torque/TorqueAbstractUserManager.java |   5 +-
 .../turbine/TorqueTurbineUserManagerImpl.java      |   7 +-
 torque/src/test/Torque.properties                  |   2 +-
 .../security/torque/TorqueUserManagerTest.java     | 130 ++++++++++--------
 .../torque/turbine/TurbineUserManagerTest.java     | 149 ++++++++++-----------
 8 files changed, 177 insertions(+), 154 deletions(-)

diff --git a/api/src/java/org/apache/fulcrum/security/model/turbine/entity/impl/TurbineUserImpl.java b/api/src/java/org/apache/fulcrum/security/model/turbine/entity/impl/TurbineUserImpl.java
index c253562..faa397b 100644
--- a/api/src/java/org/apache/fulcrum/security/model/turbine/entity/impl/TurbineUserImpl.java
+++ b/api/src/java/org/apache/fulcrum/security/model/turbine/entity/impl/TurbineUserImpl.java
@@ -42,6 +42,12 @@ public class TurbineUserImpl extends AbstractTurbineSecurityEntityImpl implement
     private String lastName;
     private String email;
     private transient byte[] objectData;
+    
+    
+    public TurbineUserImpl()
+    {
+      
+    }
 
     /**
      * Get the password
diff --git a/api/src/test/org/apache/fulcrum/security/model/ACLFactoryTest.java b/api/src/test/org/apache/fulcrum/security/model/ACLFactoryTest.java
index 45cf646..1f7b135 100644
--- a/api/src/test/org/apache/fulcrum/security/model/ACLFactoryTest.java
+++ b/api/src/test/org/apache/fulcrum/security/model/ACLFactoryTest.java
@@ -1,5 +1,8 @@
 package org.apache.fulcrum.security.model;
 
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -48,11 +51,6 @@ import org.apache.fulcrum.security.model.turbine.entity.impl.TurbineRoleImpl;
 import org.apache.fulcrum.security.model.turbine.entity.impl.TurbineUserImpl;
 import org.apache.fulcrum.security.util.RoleSet;
 import org.apache.fulcrum.testcontainer.BaseUnit5Test;
-
-import static org.junit.Assert.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
 import org.junit.jupiter.api.Test;
 
 /**
@@ -81,16 +79,16 @@ public class ACLFactoryTest extends BaseUnit5Test
         //factory.ge
         TurbineUser user = new TurbineUserImpl();
         user.setName("bob");
-        user.setId(new Integer(1));
+        user.setId( Integer.valueOf( 1 ));
         TurbineGroup group = new TurbineGroupImpl();
         group.setName("group1");
-        group.setId(new Integer(1));
+        group.setId( Integer.valueOf(1));
         TurbineRole role = new TurbineRoleImpl();
         role.setName("role1");
-        role.setId(new Integer(1));
+        role.setId( Integer.valueOf(1));
         TurbinePermission permission = new TurbinePermissionImpl();
         permission.setName("permission1");
-        permission.setId(new Integer(1));
+        permission.setId( Integer.valueOf(1));
         role.addPermission(permission);
         TurbineUserGroupRole ugr = new TurbineUserGroupRole();
         ugr.setGroup(group);
@@ -125,16 +123,16 @@ public class ACLFactoryTest extends BaseUnit5Test
         
         DynamicUser user = new DynamicUserImpl();
         user.setName("bob");
-        user.setId(new Integer(1));
+        user.setId( Integer.valueOf(1));
         DynamicGroup group = new DynamicGroupImpl();
         group.setName("group1");
-        group.setId(new Integer(1));
+        group.setId(  Integer.valueOf(1));
         DynamicRole role = new DynamicRoleImpl();
         role.setName("role1");
-        role.setId(new Integer(1));
+        role.setId( Integer.valueOf(1));
         DynamicPermission permission = new DynamicPermissionImpl();
         permission.setName("permission1");
-        permission.setId(new Integer(1));
+        permission.setId(Integer.valueOf(1));
         role.addPermission(permission);
         group.addRole(role);
         user.addGroup(group);
@@ -153,10 +151,10 @@ public class ACLFactoryTest extends BaseUnit5Test
         ACLFactory factory = (ACLFactory) lookup(ACLFactory.ROLE);
         BasicUser user = new BasicUserImpl();
         user.setName("bob");
-        user.setId(new Integer(1));
+        user.setId( Integer.valueOf(1));
         BasicGroup group = new BasicGroupImpl();
         group.setName("group1");
-        group.setId(new Integer(1));
+        group.setId( Integer.valueOf(1));
         user.addGroup(group);
         AccessControlList acl = factory.getAccessControlList(user);
         assertTrue(acl instanceof BasicAccessControlList);
diff --git a/memory/src/java/org/apache/fulcrum/security/memory/MemoryUserManagerImpl.java b/memory/src/java/org/apache/fulcrum/security/memory/MemoryUserManagerImpl.java
index dc64fd9..eb24e8c 100644
--- a/memory/src/java/org/apache/fulcrum/security/memory/MemoryUserManagerImpl.java
+++ b/memory/src/java/org/apache/fulcrum/security/memory/MemoryUserManagerImpl.java
@@ -77,7 +77,9 @@ public class MemoryUserManagerImpl extends AbstractUserManager {
     @Override
     public <T extends User> UserSet<T> retrieveUserList(Object criteria) throws DataBackendException
     {
-        List filteredusers = users.stream().filter( x-> x.getName().contains( criteria.toString() ) ).collect( Collectors.toList() );
+        List filteredusers = users.stream()
+                .filter(  x-> x.getName().toLowerCase().contains( criteria.toString().toLowerCase() ) )
+                .collect( Collectors.toList() );
         return new UserSet(filteredusers);
     }
 
diff --git a/torque/src/java/org/apache/fulcrum/security/torque/TorqueAbstractUserManager.java b/torque/src/java/org/apache/fulcrum/security/torque/TorqueAbstractUserManager.java
index cfc2a18..e6637b3 100644
--- a/torque/src/java/org/apache/fulcrum/security/torque/TorqueAbstractUserManager.java
+++ b/torque/src/java/org/apache/fulcrum/security/torque/TorqueAbstractUserManager.java
@@ -292,6 +292,9 @@ public abstract class TorqueAbstractUserManager extends AbstractUserManager {
     @Override
     public <T extends User> UserSet<T> retrieveUserList(Object criteriaO) throws DataBackendException
     {
+        if (! (criteriaO instanceof Criteria)) {
+            throw new DataBackendException("Query object has to be of type " + Criteria.class.getName());
+        }
         Criteria criteria = (Criteria) criteriaO;
         UserSet<T> userSet = new UserSet<T>();
         Connection con = null;
@@ -311,7 +314,7 @@ public abstract class TorqueAbstractUserManager extends AbstractUserManager {
             Transaction.commit(con);
             con = null;
         } catch (TorqueException e) {
-            throw new DataBackendException("Error retrieving all users", e);
+            throw new DataBackendException("Error retrieving filtered user list.", e);
         } finally {
             if (con != null) {
                 Transaction.safeRollback(con);
diff --git a/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineUserManagerImpl.java b/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineUserManagerImpl.java
index ae2112a..b091be5 100644
--- a/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineUserManagerImpl.java
+++ b/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineUserManagerImpl.java
@@ -240,7 +240,10 @@ public class TorqueTurbineUserManagerImpl extends PeerUserManager implements Tur
    public <T extends User> UserSet<T> retrieveUserList(Object criteriaObject) throws DataBackendException
     {
        
-        Criteria criteria = (Criteria) criteriaObject;
+       if (! (criteriaObject instanceof Criteria)) {
+           throw new DataBackendException("Query object has to be of type " + Criteria.class.getName());
+       } 
+       Criteria criteria = (Criteria) criteriaObject;
         UserSet<T> userSet = new UserSet<T>();
         Connection con = null;
     
@@ -263,7 +266,7 @@ public class TorqueTurbineUserManagerImpl extends PeerUserManager implements Tur
         }
         catch (TorqueException e)
         {
-            throw new DataBackendException("Error retrieving all users", e);
+            throw new DataBackendException("Error retrieving filtered user list", e);
         }
         finally
         {
diff --git a/torque/src/test/Torque.properties b/torque/src/test/Torque.properties
index e8f5338..577af56 100644
--- a/torque/src/test/Torque.properties
+++ b/torque/src/test/Torque.properties
@@ -26,7 +26,7 @@ torque.database.default = fulcrum
 torque.database.fulcrum.adapter = hsqldb
 
 # Using commons-dbcp
-torque.dsfactory.fulcrum.factory = org.apache.torque.dsfactory.SharedPoolDataSourceFactory
+torque.dsfactory.fulcrum.factory = org.apache.torque.dsfactory.SharedPool2DataSourceFactory
 torque.dsfactory.fulcrum.connection.driver = org.hsqldb.jdbcDriver
 torque.dsfactory.fulcrum.connection.url =jdbc:hsqldb:.
 torque.dsfactory.fulcrum.connection.user = sa
diff --git a/torque/src/test/org/apache/fulcrum/security/torque/TorqueUserManagerTest.java b/torque/src/test/org/apache/fulcrum/security/torque/TorqueUserManagerTest.java
index 2d593e0..4f6bcab 100644
--- a/torque/src/test/org/apache/fulcrum/security/torque/TorqueUserManagerTest.java
+++ b/torque/src/test/org/apache/fulcrum/security/torque/TorqueUserManagerTest.java
@@ -18,12 +18,18 @@ package org.apache.fulcrum.security.torque;
  * under the License.
  */
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.fail;
 
 import org.apache.fulcrum.security.SecurityService;
 import org.apache.fulcrum.security.model.test.AbstractUserManagerTest;
+import org.apache.fulcrum.security.torque.om.BaseTorqueTurbineUserPeer;
+import org.apache.fulcrum.security.util.UserSet;
+import org.apache.torque.ColumnImpl;
+import org.apache.torque.criteria.Criteria;
+import org.apache.torque.criteria.SqlEnum;
 import org.junit.jupiter.api.BeforeEach;
-
+import org.junit.jupiter.api.Test;
 
 /**
  * @author <a href="mailto:tv@apache.org">Thomas Vandahl</a>
@@ -40,73 +46,83 @@ public class TorqueUserManagerTest extends AbstractUserManagerTest
     {
         try
         {
-            hsqlDB = new HsqlDB("src/test/fulcrum-basic-schema.sql");
-            hsqlDB.addSQL("src/test/fulcrum-dynamic-schema.sql");
-            hsqlDB.addSQL("src/test/fulcrum-turbine-schema.sql");
-            hsqlDB.addSQL("src/test/id-table-schema.sql");
-            hsqlDB.addSQL("src/test/fulcrum-basic-schema-idtable-init.sql");
-            hsqlDB.addSQL("src/test/fulcrum-dynamic-schema-idtable-init.sql");
-            hsqlDB.addSQL("src/test/fulcrum-turbine-schema-idtable-init.sql");
+            hsqlDB = new HsqlDB( "src/test/fulcrum-basic-schema.sql" );
+            hsqlDB.addSQL( "src/test/fulcrum-dynamic-schema.sql" );
+            hsqlDB.addSQL( "src/test/fulcrum-turbine-schema.sql" );
+            hsqlDB.addSQL( "src/test/id-table-schema.sql" );
+            hsqlDB.addSQL( "src/test/fulcrum-basic-schema-idtable-init.sql" );
+            hsqlDB.addSQL( "src/test/fulcrum-dynamic-schema-idtable-init.sql" );
+            hsqlDB.addSQL( "src/test/fulcrum-turbine-schema-idtable-init.sql" );
 
-            this.setRoleFileName("src/test/DynamicTorqueRoleConfig.xml");
-            this.setConfigurationFileName("src/test/DynamicTorqueComponentConfig.xml");
-            securityService = (SecurityService) lookup(SecurityService.ROLE);
+            this.setRoleFileName( "src/test/DynamicTorqueRoleConfig.xml" );
+            this.setConfigurationFileName( "src/test/DynamicTorqueComponentConfig.xml" );
+            securityService = (SecurityService) lookup( SecurityService.ROLE );
             userManager = securityService.getUserManager();
-        }
-        catch (Exception e)
+        } catch (Exception e)
         {
-            fail(e.toString());
+            fail( e.toString() );
         }
     }
 
+    @Test
     @Override
-	public void tearDown()
+    public void testRetrieveUserList() throws Exception
     {
-/*
- *        // cleanup tables
- *        try
- *        {
- *            Criteria criteria = new Criteria();
- *            criteria.where(TorqueDynamicUserGroupPeer.USER_ID, 0, Criteria.GREATER_THAN);
- *            TorqueDynamicUserGroupPeer.doDelete(criteria);
- *
- *            criteria = new Criteria();
- *            criteria.where(TorqueDynamicGroupRolePeer.GROUP_ID, 0, Criteria.GREATER_THAN);
- *            TorqueDynamicGroupRolePeer.doDelete(criteria);
- *
- *            criteria = new Criteria();
- *            criteria.where(TorqueDynamicRolePermissionPeer.ROLE_ID, 0, Criteria.GREATER_THAN);
- *            TorqueDynamicRolePermissionPeer.doDelete(criteria);
- *
- *            criteria = new Criteria();
- *            criteria.where(TorqueDynamicUserDelegatesPeer.DELEGATEE_USER_ID, 0, Criteria.GREATER_THAN);
- *            TorqueDynamicUserDelegatesPeer.doDelete(criteria);
- *
- *            criteria = new Criteria();
- *            criteria.where(TorqueUserPeer.USER_ID, 0, Criteria.GREATER_THAN);
- *            TorqueUserPeer.doDelete(criteria);
- *
- *            criteria = new Criteria();
- *            criteria.where(TorqueGroupPeer.GROUP_ID, 0, Criteria.GREATER_THAN);
- *            TorqueGroupPeer.doDelete(criteria);
- *
- *            criteria = new Criteria();
- *            criteria.where(TorqueRolePeer.ROLE_ID, 0, Criteria.GREATER_THAN);
- *            TorqueRolePeer.doDelete(criteria);
- *
- *            criteria = new Criteria();
- *            criteria.where(TorquePermissionPeer.PERMISSION_ID, 0, Criteria.GREATER_THAN);
- *            TorquePermissionPeer.doDelete(criteria);
- *        }
- *        catch (TorqueException e)
- *        {
- *            fail(e.toString());
- *        }
- */
+        int size = userManager.getAllUsers().size();
+        assertEquals( 0, size );
+        user = userManager.getUserInstance( "Bob" );
+        userManager.addUser( user, "" );
+        user = userManager.getUserInstance( "Claire" );
+        userManager.addUser( user, "" );
+        user = userManager.getUserInstance( "Clairanne" );
+        userManager.addUser( user, "" );
+        UserSet allUserSet = userManager.getAllUsers();
+        assertEquals( 3, allUserSet.size() );
+
+        Criteria nameCriteria1 = new Criteria().where( new ColumnImpl( "FULCRUM_DYNAMIC_USER", "LOGIN_NAME" ),
+                "claire" );
+        UserSet userSet1 = userManager.retrieveUserList( nameCriteria1 );
+        assertEquals( 1, userSet1.size() );
+        Criteria nameCriteria2 = new Criteria().where( new ColumnImpl( "FULCRUM_DYNAMIC_USER", "LOGIN_NAME" ), "clair%",
+                Criteria.LIKE );
+        UserSet userSet = userManager.retrieveUserList( nameCriteria2 );
+        assertEquals( 2, userSet.size() );
+    }
+
+    @Override
+    public void tearDown()
+    {
+        /*
+         * // cleanup tables try { Criteria criteria = new Criteria();
+         * criteria.where(TorqueDynamicUserGroupPeer.USER_ID, 0, Criteria.GREATER_THAN);
+         * TorqueDynamicUserGroupPeer.doDelete(criteria);
+         *
+         * criteria = new Criteria(); criteria.where(TorqueDynamicGroupRolePeer.GROUP_ID, 0,
+         * Criteria.GREATER_THAN); TorqueDynamicGroupRolePeer.doDelete(criteria);
+         *
+         * criteria = new Criteria(); criteria.where(TorqueDynamicRolePermissionPeer.ROLE_ID, 0,
+         * Criteria.GREATER_THAN); TorqueDynamicRolePermissionPeer.doDelete(criteria);
+         *
+         * criteria = new Criteria();
+         * criteria.where(TorqueDynamicUserDelegatesPeer.DELEGATEE_USER_ID, 0,
+         * Criteria.GREATER_THAN); TorqueDynamicUserDelegatesPeer.doDelete(criteria);
+         *
+         * criteria = new Criteria(); criteria.where(TorqueUserPeer.USER_ID, 0,
+         * Criteria.GREATER_THAN); TorqueUserPeer.doDelete(criteria);
+         *
+         * criteria = new Criteria(); criteria.where(TorqueGroupPeer.GROUP_ID, 0,
+         * Criteria.GREATER_THAN); TorqueGroupPeer.doDelete(criteria);
+         *
+         * criteria = new Criteria(); criteria.where(TorqueRolePeer.ROLE_ID, 0,
+         * Criteria.GREATER_THAN); TorqueRolePeer.doDelete(criteria);
+         *
+         * criteria = new Criteria(); criteria.where(TorquePermissionPeer.PERMISSION_ID, 0,
+         * Criteria.GREATER_THAN); TorquePermissionPeer.doDelete(criteria); } catch
+         * (TorqueException e) { fail(e.toString()); }
+         */
         user = null;
         userManager = null;
         securityService = null;
     }
 
-
 }
diff --git a/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineUserManagerTest.java b/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineUserManagerTest.java
index 482a920..caf102e 100644
--- a/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineUserManagerTest.java
+++ b/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineUserManagerTest.java
@@ -66,11 +66,10 @@ import org.junit.jupiter.api.Test;
  * @author <a href="mailto:gk@apache.org">Georg Kallidis</a>
  * @version $Id$
  */
-public class TurbineUserManagerTest
-    extends BaseUnit5Test
-   
+public class TurbineUserManagerTest extends BaseUnit5Test
+
 {
-	
+
     private User user;
 
     private UserManager userManager;
@@ -84,10 +83,10 @@ public class TurbineUserManagerTest
     private Group group;
 
     private Role role;
-    
+
     private Logger logger = LogManager.getLogger();
-	
-	private static HsqlDB hsqlDB = null;
+
+    private static HsqlDB hsqlDB = null;
 
     @BeforeEach
     public void setUp()
@@ -111,14 +110,12 @@ public class TurbineUserManagerTest
             role.setName( TEST_ROLE );
             securityService.getRoleManager().addRole( role );
 
-        }
-        catch ( Exception e )
+        } catch (Exception e)
         {
             fail( e.toString() );
         }
     }
 
-
     @AfterEach
     public void tearDown()
     {
@@ -156,14 +153,12 @@ public class TurbineUserManagerTest
 
             con.commit();
             con = null;
-        }
-        catch ( TorqueException e )
+        } catch (TorqueException e)
         {
             fail( e.toString() );
-        }
-        catch ( SQLException e )
+        } catch (SQLException e)
         {
-            if ( con != null )
+            if (con != null)
             {
                 Transaction.safeRollback( con );
             }
@@ -174,12 +169,10 @@ public class TurbineUserManagerTest
         userManager = null;
         securityService = null;
     }
-   
 
     // requires default user in setup
     @Test
-    public void testCheckExists()
-        throws Exception
+    public void testCheckExists() throws Exception
     {
         user = userManager.getUserInstance( "Philip" );
         userManager.addUser( user, "bobo" );
@@ -193,8 +186,7 @@ public class TurbineUserManagerTest
     }
 
     @Test
-    public void testCheckExistsWithString()
-        throws Exception
+    public void testCheckExistsWithString() throws Exception
     {
         user = userManager.getUserInstance( "Philip2" );
         userManager.addUser( user, "bobo" );
@@ -211,8 +203,7 @@ public class TurbineUserManagerTest
      * Class to test for User retrieve(String)
      */
     @Test
-    public void testGetUserString()
-        throws Exception
+    public void testGetUserString() throws Exception
     {
         user = userManager.getUserInstance( "QuietMike" );
         userManager.addUser( user, "bobo" );
@@ -223,8 +214,7 @@ public class TurbineUserManagerTest
     }
 
     @Test
-    public void testGetUserById()
-        throws Exception
+    public void testGetUserById() throws Exception
     {
         user = userManager.getUserInstance( "QuietMike2" );
         userManager.addUser( user, "bobo" );
@@ -237,8 +227,7 @@ public class TurbineUserManagerTest
      * Class to test for User retrieve(String, String)
      */
     @Test
-    public void testGetUserStringString()
-        throws Exception
+    public void testGetUserStringString() throws Exception
     {
         user = userManager.getUserInstance( "Richard" );
         userManager.addUser( user, "va" );
@@ -253,16 +242,14 @@ public class TurbineUserManagerTest
         {
             user = userManager.getUser( "richard", "VA" );
             fail( "should have thrown PasswordMismatchException" );
-        }
-        catch ( PasswordMismatchException pme )
+        } catch (PasswordMismatchException pme)
         {
             // good
         }
     }
 
     @Test
-    public void testGetAllUsers()
-        throws Exception
+    public void testGetAllUsers() throws Exception
     {
         int size = userManager.getAllUsers().size();
         user = userManager.getUserInstance( "Bob" );
@@ -274,8 +261,7 @@ public class TurbineUserManagerTest
     }
 
     @Test
-    public void testAuthenticate()
-        throws Exception
+    public void testAuthenticate() throws Exception
     {
         user = userManager.getUserInstance( "Kay" );
         userManager.addUser( user, "jc" );
@@ -285,16 +271,14 @@ public class TurbineUserManagerTest
         {
             userManager.authenticate( user, "JC" );
             fail( "should have thrown PasswordMismatchException" );
-        }
-        catch ( PasswordMismatchException pme )
+        } catch (PasswordMismatchException pme)
         {
             // good
         }
     }
 
     @Test
-    public void testChangePassword()
-        throws Exception
+    public void testChangePassword() throws Exception
     {
         user = userManager.getUserInstance( "Jonathan" );
         userManager.addUser( user, "jc" );
@@ -303,8 +287,7 @@ public class TurbineUserManagerTest
         {
             userManager.changePassword( user, "WrongPWD", "JC" );
             fail( "should have thrown PasswordMismatchException" );
-        }
-        catch ( PasswordMismatchException pme )
+        } catch (PasswordMismatchException pme)
         {
             // good
         }
@@ -313,8 +296,7 @@ public class TurbineUserManagerTest
     }
 
     @Test
-    public void testForcePassword()
-        throws Exception
+    public void testForcePassword() throws Exception
     {
         user = userManager.getUserInstance( "Connor" );
         userManager.addUser( user, "jc_subset" );
@@ -328,8 +310,7 @@ public class TurbineUserManagerTest
      * Class to test for User getUserInstance()
      */
     @Test
-    public void testGetUserInstance()
-        throws Exception
+    public void testGetUserInstance() throws Exception
     {
         user = userManager.getUserInstance();
         assertNotNull( user );
@@ -340,22 +321,21 @@ public class TurbineUserManagerTest
      * Class to test for User getUserInstance(String)
      */
     @Test
-    public void testGetUserInstanceString()
-        throws Exception
+    public void testGetUserInstanceString() throws Exception
     {
         user = userManager.getUserInstance( "Philip" );
         assertEquals( "philip", user.getName() );
     }
 
     /**
-     * Need to figure out if save is something we want.. right now it just bloes up if you actually change anything.
+     * Need to figure out if save is something we want.. right now it just bloes up if you
+     * actually change anything.
      * 
      * @todo figur out what to do here...
      * @throws Exception
      */
     @Test
-    public void testSaveUser()
-        throws Exception
+    public void testSaveUser() throws Exception
     {
         user = userManager.getUserInstance( "Kate" );
         userManager.addUser( user, "katiedid" );
@@ -369,8 +349,7 @@ public class TurbineUserManagerTest
     }
 
     @Test
-    public void testGetACL()
-        throws Exception
+    public void testGetACL() throws Exception
     {
         user = userManager.getUserInstance( "Tony" );
         userManager.addUser( user, "california" );
@@ -382,19 +361,18 @@ public class TurbineUserManagerTest
 
         Role testRole = securityService.getRoleManager().getRoleByName( TEST_ROLE );
         Group testGroup = securityService.getGroupManager().getGroupByName( TEST_GROUP );
-        assertTrue( ( (TurbineAccessControlList) acl ).hasRole( testRole, testGroup ) );
+        assertTrue( ((TurbineAccessControlList) acl).hasRole( testRole, testGroup ) );
 
-        Group globalGroup = securityService.<TurbineModelManager> getModelManager().getGlobalGroup();
-        securityService.<TurbineModelManager> getModelManager().grant( user, globalGroup, testRole );
+        Group globalGroup = securityService.<TurbineModelManager>getModelManager().getGlobalGroup();
+        securityService.<TurbineModelManager>getModelManager().grant( user, globalGroup, testRole );
         // immutable
         acl = userManager.getACL( user );
 
-        assertTrue( ( (TurbineAccessControlList) acl ).hasRole( testRole ) );
+        assertTrue( ((TurbineAccessControlList) acl).hasRole( testRole ) );
     }
 
     @Test
-    public void testRemoveUser()
-        throws Exception
+    public void testRemoveUser() throws Exception
     {
         user = userManager.getUserInstance( "Rick" );
         userManager.addUser( user, "nb" );
@@ -406,16 +384,14 @@ public class TurbineUserManagerTest
         {
             User user2 = userManager.getUser( user.getName() );
             fail( "Should have thrown UEE" );
-        }
-        catch ( UnknownEntityException uee )
+        } catch (UnknownEntityException uee)
         {
             // good
         }
     }
 
     @Test
-    public void testAddUser()
-        throws Exception
+    public void testAddUser() throws Exception
     {
         user = userManager.getUserInstance( "Joe1" );
         assertNull( user.getId() );
@@ -431,8 +407,7 @@ public class TurbineUserManagerTest
     /*
      * Class to test for boolean checkExists(string)
      */
-    public void testAddUserTwiceFails()
-        throws Exception
+    public void testAddUserTwiceFails() throws Exception
     {
         user = userManager.getUserInstance( "EATLUNCH" );
         userManager.addUser( user, "bob" );
@@ -442,24 +417,21 @@ public class TurbineUserManagerTest
         try
         {
             userManager.addUser( user2, "bob" );
-        }
-        catch ( EntityExistsException uee )
+        } catch (EntityExistsException uee)
         {
             // good
         }
         try
         {
             userManager.addUser( user2, "differentpassword" );
-        }
-        catch ( EntityExistsException uee )
+        } catch (EntityExistsException uee)
         {
             // good
         }
     }
 
     @Test
-    public void testCheckUserCaseSensitiveExists()
-        throws Exception
+    public void testCheckUserCaseSensitiveExists() throws Exception
     {
         user = userManager.getUserInstance( "borrisJohnson" );
         userManager.addUser( user, "bob" );
@@ -467,15 +439,39 @@ public class TurbineUserManagerTest
         assertTrue( userManager.checkExists( "borrisJohnson" ) );
     }
 
-    private void addDefaultGrantUserGroupRole( User user )
-        throws Exception
+    @Test
+    public void testRetrieveUserList() throws Exception
+    {
+        int size = userManager.getAllUsers().size();
+        assertEquals( 0, size );
+        user = userManager.getUserInstance( "Bob" );
+        userManager.addUser( user, "" );
+        user = userManager.getUserInstance( "Claire" );
+        userManager.addUser( user, "" );
+        user = userManager.getUserInstance( "Clairanne" );
+        userManager.addUser( user, "" );
+
+        UserSet allUserSet = userManager.getAllUsers();
+        assertEquals( 3, allUserSet.size() );
+
+        Criteria nameCriteria1 = new Criteria();
+        nameCriteria1.where( TorqueTurbineUserPeer.LOGIN_NAME, "claire" );
+        UserSet userSet1 = userManager.retrieveUserList( nameCriteria1 );
+        assertEquals( 1, userSet1.size() );
+        Criteria nameCriteria = new Criteria();
+        nameCriteria.where( TorqueTurbineUserPeer.LOGIN_NAME, "clair%", Criteria.LIKE );
+        UserSet userSet = userManager.retrieveUserList( nameCriteria );
+        assertEquals( 2, userSet.size() );
+    }
+
+    private void addDefaultGrantUserGroupRole(User user) throws Exception
     {
-        securityService.<TurbineModelManager> getModelManager().grant( user, group, role );
+        securityService.<TurbineModelManager>getModelManager().grant( user, group, role );
         boolean ugrFound = false;
         TurbineUserGroupRole ugrTest = null;
-        for ( TurbineUserGroupRole ugr : ( (TurbineUser) user ).getUserGroupRoleSet() )
+        for (TurbineUserGroupRole ugr : ((TurbineUser) user).getUserGroupRoleSet())
         {
-            if ( ugr.getUser().equals( user ) && ugr.getGroup().equals( group ) && ugr.getRole().equals( role ) )
+            if (ugr.getUser().equals( user ) && ugr.getGroup().equals( group ) && ugr.getRole().equals( role ))
             {
                 ugrFound = true;
                 ugrTest = ugr;
@@ -487,14 +483,13 @@ public class TurbineUserManagerTest
         assertTrue( ugrTest.getUser().equals( user ) );
     }
 
-    private void revokeDefaultGrantUserGroupRole( User user )
-        throws Exception
+    private void revokeDefaultGrantUserGroupRole(User user) throws Exception
     {
-        securityService.<TurbineModelManager> getModelManager().revoke( user, group, role );
+        securityService.<TurbineModelManager>getModelManager().revoke( user, group, role );
         boolean ugrFound = false;
-        for ( TurbineUserGroupRole ugr : ( (TurbineUser) user ).getUserGroupRoleSet() )
+        for (TurbineUserGroupRole ugr : ((TurbineUser) user).getUserGroupRoleSet())
         {
-            if ( ugr.getUser().equals( user ) && ugr.getGroup().equals( group ) && ugr.getRole().equals( role ) )
+            if (ugr.getUser().equals( user ) && ugr.getGroup().equals( group ) && ugr.getRole().equals( role ))
             {
                 ugrFound = true;
                 break;