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 2018/01/22 14:32:47 UTC

svn commit: r1821870 - in /turbine/fulcrum/trunk/security: api/src/java/org/apache/fulcrum/security/model/turbine/ api/src/test/org/apache/fulcrum/security/model/turbine/test/ hibernate/src/java/org/apache/fulcrum/security/hibernate/ hibernate/src/java...

Author: gk
Date: Mon Jan 22 14:32:47 2018
New Revision: 1821870

URL: http://svn.apache.org/viewvc?rev=1821870&view=rev
Log:
- add method replace in Turbine model manager: replace transactionally a role with another in default group for user.
- cleanup duplicate code in grant/revoke/replace methods using enums, and custom checkExists method
- commented in method update of role manager user-group-role reset.
- added tests

Modified:
    turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/model/turbine/TurbineModelManager.java
    turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/model/turbine/test/AbstractTurbineModelManagerTest.java
    turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/model/turbine/test/ModelManagerDummyImpl.java
    turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/HibernateGroupManagerImpl.java
    turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/turbine/HibernateModelManagerImpl.java
    turbine/fulcrum/trunk/security/memory/src/java/org/apache/fulcrum/security/memory/turbine/MemoryTurbineModelManagerImpl.java
    turbine/fulcrum/trunk/security/memory/src/test/org/apache/fulcrum/security/memory/basic/MemoryBasicModelManagerTest.java
    turbine/fulcrum/trunk/security/memory/src/test/org/apache/fulcrum/security/memory/dynamic/MemoryDynamicModelManagerTest.java
    turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/DefaultAbstractTurbineRole.java
    turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/DefaultAbstractTurbineUser.java
    turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/FulcrumAbstractTurbineRole.java
    turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/FulcrumAbstractTurbineUser.java
    turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineModelManagerImpl.java
    turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/AbstractTurbineUserManagerTest.java
    turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TorquePeerTurbineModelManagerTest.java
    turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TorqueTurbineModelManagerTest.java
    turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineDefaultModelManagerLazyTest.java
    turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineDefaultModelManagerTest.java
    turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineUserManagerTest.java

Modified: turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/model/turbine/TurbineModelManager.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/model/turbine/TurbineModelManager.java?rev=1821870&r1=1821869&r2=1821870&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/model/turbine/TurbineModelManager.java (original)
+++ turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/model/turbine/TurbineModelManager.java Mon Jan 22 14:32:47 2018
@@ -48,6 +48,14 @@ public interface TurbineModelManager ext
     public String GLOBAL_GROUP_NAME = "global";
     
     /**
+     * may be used in implementations
+     *
+     */
+    public enum Privilege {
+        GRANT, REVOKE, REPLACE_ROLE;
+    }
+    
+    /**
      * TODO 
      * <li>transactional revoke/grant = replace for global group/role? 
      * <li>may allow user - group assignments without role, i.e. with default role. Requires adding/defining default/zero role for group, you have then to the global role additionally a global group. 
@@ -67,14 +75,28 @@ public interface TurbineModelManager ext
      * @return the configured global group name, by default {@link #GLOBAL_GROUP_ATTR_NAME}
      */
     public String getGlobalGroupName();
+    
+    /**
+     * Replaces the assigned old Role to new role in the #global group for User user.
+     *  
+     * @param user
+     *            the User.
+     * @param oldRole
+     *              the old Role
+     * @param newRole
+     *              the new Role
+     */
+    void replace(User user, Role oldRole, Role newRole)  throws DataBackendException, UnknownEntityException;
 
     /**
      * Puts a permission in a role
      * 
      * This method is used when adding a permission to a role
      * 
-     * @param user
-     *            the User.
+     * @param role
+     *            the Role.
+     * @param permission
+     *             the Permission
      * @throws DataBackendException
      *             if there was an error accessing the data backend.
      * @throws UnknownEntityException
@@ -87,6 +109,8 @@ public interface TurbineModelManager ext
      * 
      * @param role
      *            the Role.
+     * @param permission
+     *             the Permission
      * @throws DataBackendException
      *             if there was an error accessing the data backend.
      * @throws UnknownEntityException

Modified: turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/model/turbine/test/AbstractTurbineModelManagerTest.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/model/turbine/test/AbstractTurbineModelManagerTest.java?rev=1821870&r1=1821869&r2=1821870&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/model/turbine/test/AbstractTurbineModelManagerTest.java (original)
+++ turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/model/turbine/test/AbstractTurbineModelManagerTest.java Mon Jan 22 14:32:47 2018
@@ -175,13 +175,22 @@ public abstract class AbstractTurbineMod
         Role role = securityService.getRoleManager().getRoleInstance();
         role.setName("TEST_REVOKEALLUSER_ROLE");
         role = securityService.getRoleManager().addRole(role);
+        
+        Group group2 = securityService.getGroupManager().getGroupInstance();
+        group2.setName("TEST_REVOKEALLUSER_GROUP2");
+        securityService.getGroupManager().addGroup(group2);
+        Role role2 = securityService.getRoleManager().getRoleInstance();
+        role2.setName("TEST_REVOKEALLUSER_ROLE2");
+        role2 = securityService.getRoleManager().addRole(role2);
+        
         String username = "calvin";
         User user = userManager.getUserInstance(username);
         user = userManager.addUser(user, username);
         modelManager.grant(user, group, role);
+        modelManager.grant(user, group2, role2);
         // original objects have relationship attached
         Set<TurbineUserGroupRole> userGroupRoleSet =  ((TurbineUser)user).getUserGroupRoleSet();
-        assertEquals(1, userGroupRoleSet.size());
+        assertEquals(2, userGroupRoleSet.size());
         Set<TurbineUserGroupRole> userGroupRoleSet1 = ((TurbineRole) role).getUserGroupRoleSet();
         assertEquals(1, userGroupRoleSet1.size());
         Set<TurbineUserGroupRole> userGroupRoleSet2 = ((TurbineGroup) group).getUserGroupRoleSet();
@@ -197,7 +206,7 @@ public abstract class AbstractTurbineMod
         
         // retrieve usergroupset now
         userGroupRoleSet =  ((TurbineUser)user).getUserGroupRoleSet();
-        assertEquals(1, userGroupRoleSet.size());
+        assertEquals(2, userGroupRoleSet.size());
         userGroupRoleSet1 = ((TurbineRole) role).getUserGroupRoleSet();
         assertEquals(1, userGroupRoleSet1.size());
         userGroupRoleSet2 = ((TurbineGroup) group).getUserGroupRoleSet();
@@ -207,9 +216,7 @@ public abstract class AbstractTurbineMod
         group = groupManager.getGroupById(group.getId());
         assertEquals(0, ((TurbineGroup) group).getUserGroupRoleSet().size());
         role = securityService.getRoleManager().getRoleByName("TEST_REVOKEALLUSER_ROLE");
-
         assertEquals(0,((TurbineRole) role).getUserGroupRoleSet().size());
-        
         assertTrue(((TurbineRole) role).getUserGroupRoleSet().isEmpty());
         
         modelManager.grant(user, group, role);
@@ -244,7 +251,6 @@ public abstract class AbstractTurbineMod
         assertTrue(ugrFound);
         assertTrue(ugrTest.getGroup().equals(group));
         assertTrue(ugrTest.getUser().equals(user));
-
     }
     @Test
     public void testRevokeUserGroupRole() throws Exception
@@ -270,4 +276,98 @@ public abstract class AbstractTurbineMod
         }
         assertFalse(ugrFound);
     }
+    
+    @Test
+    public void testUserGroupGrantRolePermission() throws Exception
+    {
+        Permission permission = permissionManager.getPermissionInstance();
+        permission.setName("ANSWER_PHONE__");
+        permissionManager.addPermission(permission);
+        
+        Permission permission2 = permissionManager.getPermissionInstance();
+        permission2.setName("ANSWER_PHONE__2");
+        permissionManager.addPermission(permission2);
+        
+        role = roleManager.getRoleInstance("RECEPTIONIST__");
+        roleManager.addRole(role);
+        
+        Group group = securityService.getGroupManager().getGroupInstance();
+        group.setName("TEST_GROUP__");
+        securityService.getGroupManager().addGroup(group);
+        Role role = roleManager.getRoleInstance();
+        role.setName("TEST_Role__");
+        roleManager.addRole(role);
+        User user = userManager.getUserInstance("Clint__");
+        userManager.addUser(user, "clint");
+        // this is required
+        modelManager.grant(user, group, role);
+        
+        modelManager.grant(role, permission);
+        modelManager.grant(role, permission2);
+        role = roleManager.getRoleById(role.getId());
+        PermissionSet permissions = ((TurbineRole) role).getPermissions();
+        assertEquals(2, permissions.size());
+        assertTrue(((TurbineRole) role).getPermissions().contains(permission));
+        assertTrue(((TurbineRole) role).getPermissions().contains(permission2));
+        
+        modelManager.revoke( role, permission2 );
+        permissions = ((TurbineRole) role).getPermissions();
+        assertEquals(1, permissions.size());
+        assertTrue(((TurbineRole) role).getPermissions().contains(permission));
+        
+        modelManager.revoke(role, permission);
+        permissions = ((TurbineRole) role).getPermissions();
+        assertEquals(0, permissions.size());
+        assertFalse(((TurbineRole) role).getPermissions().contains(permission));
+ 
+    }
+    
+    
+    @Test
+    public void testReplaceUserGroupRole() throws Exception
+    {
+        Group global = modelManager.getGlobalGroup();
+        
+        Role role = roleManager.getRoleInstance();
+        role.setName("TEST_REPLACE_ROLE");
+        if (!roleManager.checkExists( role ) ) {
+            roleManager.addRole(role);
+        }
+
+        
+        
+        Role newRole = roleManager.getRoleInstance();
+        newRole.setName("TEST_NEW_ROLE");
+        roleManager.addRole(newRole);
+        User user = userManager.getUserInstance("Dave");
+        userManager.addUser(user, "dave");
+        
+        modelManager.grant(user, global, role);
+        
+        modelManager.replace(user, role, newRole);
+        
+
+        
+        boolean ugrFound = false;
+        boolean ugrNotFound = true;
+        TurbineUserGroupRole ugrTest = null;
+        for (TurbineUserGroupRole ugr : ((TurbineUser) user).getUserGroupRoleSet())
+        {
+            if (ugr.getUser().equals(user) && ugr.getGroup().equals(global) && ugr.getRole().equals(newRole))
+            {
+                ugrFound = true;
+                ugrTest = ugr;
+            }
+            if (ugr.getUser().equals(user) && ugr.getGroup().equals(global) && ugr.getRole().equals(role))
+            {
+                ugrNotFound = false;
+                ugrTest = ugr;
+            }
+        }
+        assertTrue(ugrFound);
+        assertTrue(ugrNotFound);
+        assertTrue(ugrTest.getGroup().equals(global));
+        assertTrue(ugrTest.getUser().equals(user));
+
+    }
 }

Modified: turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/model/turbine/test/ModelManagerDummyImpl.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/model/turbine/test/ModelManagerDummyImpl.java?rev=1821870&r1=1821869&r2=1821870&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/model/turbine/test/ModelManagerDummyImpl.java (original)
+++ turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/model/turbine/test/ModelManagerDummyImpl.java Mon Jan 22 14:32:47 2018
@@ -40,4 +40,10 @@ public class ModelManagerDummyImpl exten
 		throw new DataBackendException("not yet implemented, just a test ");
 	}
 
+    @Override
+    public void replace( User user, Role oldRole, Role newRole ) throws DataBackendException
+    {
+        throw new DataBackendException("not yet implemented, just a test ");
+    }
+
 }

Modified: turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/HibernateGroupManagerImpl.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/HibernateGroupManagerImpl.java?rev=1821870&r1=1821869&r2=1821870&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/HibernateGroupManagerImpl.java (original)
+++ turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/HibernateGroupManagerImpl.java Mon Jan 22 14:32:47 2018
@@ -38,6 +38,10 @@ import org.hibernate.HibernateException;
 @SuppressWarnings("unchecked")
 public class HibernateGroupManagerImpl extends AbstractGroupManager
 {
+    /**
+     * 
+     */
+    private static final long serialVersionUID = 1L;
     private PersistenceHelper persistenceHelper;
 
     /**

Modified: turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/turbine/HibernateModelManagerImpl.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/turbine/HibernateModelManagerImpl.java?rev=1821870&r1=1821869&r2=1821870&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/turbine/HibernateModelManagerImpl.java (original)
+++ turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/turbine/HibernateModelManagerImpl.java Mon Jan 22 14:32:47 2018
@@ -267,4 +267,13 @@ public class HibernateModelManagerImpl e
             throw new UnknownEntityException("Unknown user '" + user.getName() + "'");
         }
     }
+
+    @Override
+    public void replace( User user, Role oldRole, Role newRole )
+        throws DataBackendException, UnknownEntityException
+    {
+        Group group = getGlobalGroup();
+        revoke( user, group, oldRole );
+        grant( user, group, newRole );
+    }
 }

Modified: turbine/fulcrum/trunk/security/memory/src/java/org/apache/fulcrum/security/memory/turbine/MemoryTurbineModelManagerImpl.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/memory/src/java/org/apache/fulcrum/security/memory/turbine/MemoryTurbineModelManagerImpl.java?rev=1821870&r1=1821869&r2=1821870&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/memory/src/java/org/apache/fulcrum/security/memory/turbine/MemoryTurbineModelManagerImpl.java (original)
+++ turbine/fulcrum/trunk/security/memory/src/java/org/apache/fulcrum/security/memory/turbine/MemoryTurbineModelManagerImpl.java Mon Jan 22 14:32:47 2018
@@ -221,4 +221,13 @@ public class MemoryTurbineModelManagerIm
         }
 
     }
+
+    @Override
+    public void replace( User user, Role oldRole, Role newRole )
+        throws DataBackendException, UnknownEntityException
+    {
+        Group group = getGlobalGroup();
+        revoke( user, group, oldRole );
+        grant( user, group, newRole );
+    }
 }

Modified: turbine/fulcrum/trunk/security/memory/src/test/org/apache/fulcrum/security/memory/basic/MemoryBasicModelManagerTest.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/memory/src/test/org/apache/fulcrum/security/memory/basic/MemoryBasicModelManagerTest.java?rev=1821870&r1=1821869&r2=1821870&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/memory/src/test/org/apache/fulcrum/security/memory/basic/MemoryBasicModelManagerTest.java (original)
+++ turbine/fulcrum/trunk/security/memory/src/test/org/apache/fulcrum/security/memory/basic/MemoryBasicModelManagerTest.java Mon Jan 22 14:32:47 2018
@@ -1,5 +1,7 @@
 package org.apache.fulcrum.security.memory.basic;
 
+import static org.junit.Assert.fail;
+
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -21,12 +23,8 @@ package org.apache.fulcrum.security.memo
 
 import org.apache.fulcrum.security.SecurityService;
 import org.apache.fulcrum.security.model.basic.test.AbstractModelManagerTest;
-
-import static org.junit.Assert.*;
-
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Test;
 
 /**
  * @author <a href="mailto:epugh@upstate.com">Eric Pugh</a>

Modified: turbine/fulcrum/trunk/security/memory/src/test/org/apache/fulcrum/security/memory/dynamic/MemoryDynamicModelManagerTest.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/memory/src/test/org/apache/fulcrum/security/memory/dynamic/MemoryDynamicModelManagerTest.java?rev=1821870&r1=1821869&r2=1821870&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/memory/src/test/org/apache/fulcrum/security/memory/dynamic/MemoryDynamicModelManagerTest.java (original)
+++ turbine/fulcrum/trunk/security/memory/src/test/org/apache/fulcrum/security/memory/dynamic/MemoryDynamicModelManagerTest.java Mon Jan 22 14:32:47 2018
@@ -1,5 +1,7 @@
 package org.apache.fulcrum.security.memory.dynamic;
 
+import static org.junit.Assert.fail;
+
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -23,9 +25,6 @@ import org.apache.fulcrum.security.Secur
 import org.apache.fulcrum.security.model.dynamic.test.AbstractDynamicModelManagerTest;
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Test;
-
-import static org.junit.Assert.*;
 
 
 /**

Modified: turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/DefaultAbstractTurbineRole.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/DefaultAbstractTurbineRole.java?rev=1821870&r1=1821869&r2=1821870&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/DefaultAbstractTurbineRole.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/DefaultAbstractTurbineRole.java Mon Jan 22 14:32:47 2018
@@ -259,32 +259,32 @@ public abstract class DefaultAbstractTur
             }
         }
 
-        try
-        {
-            Set<TurbineUserGroupRole> userGroupRoleSet = getUserGroupRoleSet();
-            if (userGroupRoleSet != null && !userGroupRoleSet.isEmpty())
-            {
-                Criteria criteria = new Criteria();
-
-                /* remove old entries */
-                criteria.where(TurbineUserGroupRolePeer.ROLE_ID, getEntityId());
-                TurbineUserGroupRolePeer.doDelete(criteria, con);
-
-                for (TurbineUserGroupRole ugr : userGroupRoleSet)
-                {
-                    org.apache.fulcrum.security.torque.om.TurbineUserGroupRole ttugr = new org.apache.fulcrum.security.torque.om.TurbineUserGroupRole();
-                    ttugr.setGroupId((Integer)ugr.getGroup().getId());
-                    ttugr.setUserId((Integer)ugr.getUser().getId());
-                    ttugr.setRoleId((Integer)ugr.getRole().getId());
-                    ttugr.save(con);
-                }
-            }
-            save(con);
-        }
-        catch (Exception e)
-        {
-            throw new TorqueException(e);
-        }
+        // role permission change does not require reassignment of user-group-roles? commented for now   
+//        try
+//        {
+//            Set<TurbineUserGroupRole> userGroupRoleSet = getUserGroupRoleSet();
+//            if (userGroupRoleSet != null && !userGroupRoleSet.isEmpty())
+//            {
+//                Criteria criteria = new Criteria();
+//
+//                criteria.where(TurbineUserGroupRolePeer.ROLE_ID, getEntityId());
+//                TurbineUserGroupRolePeer.doDelete(criteria, con);
+//
+//                for (TurbineUserGroupRole ugr : userGroupRoleSet)
+//                {
+//                    org.apache.fulcrum.security.torque.om.TurbineUserGroupRole ttugr = new org.apache.fulcrum.security.torque.om.TurbineUserGroupRole();
+//                    ttugr.setGroupId((Integer)ugr.getGroup().getId());
+//                    ttugr.setUserId((Integer)ugr.getUser().getId());
+//                    ttugr.setRoleId((Integer)ugr.getRole().getId());
+//                    ttugr.save(con);
+//                }
+//            }
+//            save(con);
+//        }
+//        catch (Exception e)
+//        {
+//            throw new TorqueException(e);
+//        }
     }
 
     /**

Modified: turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/DefaultAbstractTurbineUser.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/DefaultAbstractTurbineUser.java?rev=1821870&r1=1821869&r2=1821870&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/DefaultAbstractTurbineUser.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/DefaultAbstractTurbineUser.java Mon Jan 22 14:32:47 2018
@@ -85,7 +85,7 @@ public abstract class DefaultAbstractTur
                 ugrs = getTurbineUserGroupRolesJoinTurbineRole(new Criteria(), con);
             } 
     
-            maptoModel( con, userGroupRoleSet, (List<TurbineUserGroupRoleModelPeerMapper>) ugrs );
+            maptoModel( con, userGroupRoleSet, ugrs );
             
             setUserGroupRoleSet(userGroupRoleSet);
         }
@@ -117,6 +117,8 @@ public abstract class DefaultAbstractTur
     }
 
     /**
+     * Removes all entries, then inserts, what is found in {@link #getUserGroupRoleSet()}.
+     * 
      * @see org.apache.fulcrum.security.torque.security.TorqueAbstractSecurityEntity#update(java.sql.Connection)
      */
     @Override
@@ -125,7 +127,7 @@ public abstract class DefaultAbstractTur
         try
         {
             Set<TurbineUserGroupRole> userGroupRoleSet = getUserGroupRoleSet();
-            if (userGroupRoleSet != null && !userGroupRoleSet.isEmpty())
+            if ( userGroupRoleSet != null ) //&& !userGroupRoleSet.isEmpty() commented allow delete/empty 
             {
                 Criteria criteria = new Criteria();
 
@@ -159,8 +161,8 @@ public abstract class DefaultAbstractTur
         TurbineUserPeer.doDelete(SimpleKey.keyFor(getEntityId()));
     }
     
-    private void maptoModel( Connection con, Set<TurbineUserGroupRole> userGroupRoleSet,
-                             List<TurbineUserGroupRoleModelPeerMapper> ugrs )
+    private <T extends TurbineUserGroupRoleModelPeerMapper> void maptoModel( Connection con, Set<TurbineUserGroupRole> userGroupRoleSet,
+                             List<T> ugrs )
         throws TorqueException
     {
         for (TurbineUserGroupRoleModelPeerMapper ttugr : ugrs)

Modified: turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/FulcrumAbstractTurbineRole.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/FulcrumAbstractTurbineRole.java?rev=1821870&r1=1821869&r2=1821870&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/FulcrumAbstractTurbineRole.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/FulcrumAbstractTurbineRole.java Mon Jan 22 14:32:47 2018
@@ -254,33 +254,33 @@ public abstract class FulcrumAbstractTur
                 rp.save(con);
             }
         }
-        
-        try
-        {
-        	Set<TurbineUserGroupRole> userGroupRoleSet = getUserGroupRoleSet();
-            if (userGroupRoleSet != null)
-            {
-                Criteria criteria = new Criteria();
-    
-                /* remove old entries */
-                criteria.where(TorqueTurbineUserGroupRolePeer.ROLE_ID, getEntityId());
-                TorqueTurbineUserGroupRolePeer.doDelete(criteria, con);
-    
-                for (TurbineUserGroupRole ugr : userGroupRoleSet)
-                {
-                    TorqueTurbineUserGroupRole ttugr = new TorqueTurbineUserGroupRole();
-                    ttugr.setGroupId((Integer)ugr.getGroup().getId());
-                    ttugr.setUserId((Integer)ugr.getUser().getId());
-                    ttugr.setRoleId((Integer)ugr.getRole().getId());
-                    ttugr.save(con);
-                }
-            }
-            save(con);
-        }
-        catch (Exception e)
-        {
-            throw new TorqueException(e);
-        }
+        // not needed 
+//        try
+//        {
+//        	Set<TurbineUserGroupRole> userGroupRoleSet = getUserGroupRoleSet();
+//            if (userGroupRoleSet != null)
+//            {
+//                Criteria criteria = new Criteria();
+//    
+//                /* remove old entries */
+//                criteria.where(TorqueTurbineUserGroupRolePeer.ROLE_ID, getEntityId());
+//                TorqueTurbineUserGroupRolePeer.doDelete(criteria, con);
+//    
+//                for (TurbineUserGroupRole ugr : userGroupRoleSet)
+//                {
+//                    TorqueTurbineUserGroupRole ttugr = new TorqueTurbineUserGroupRole();
+//                    ttugr.setGroupId((Integer)ugr.getGroup().getId());
+//                    ttugr.setUserId((Integer)ugr.getUser().getId());
+//                    ttugr.setRoleId((Integer)ugr.getRole().getId());
+//                    ttugr.save(con);
+//                }
+//            }
+//            save(con);
+//        }
+//        catch (Exception e)
+//        {
+//            throw new TorqueException(e);
+//        }
     }
 
     /**

Modified: turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/FulcrumAbstractTurbineUser.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/FulcrumAbstractTurbineUser.java?rev=1821870&r1=1821869&r2=1821870&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/FulcrumAbstractTurbineUser.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/FulcrumAbstractTurbineUser.java Mon Jan 22 14:32:47 2018
@@ -94,6 +94,8 @@ public abstract class FulcrumAbstractTur
     }
 
     /**
+     * Removes all entries, then inserts, what is found in {@link #getUserGroupRoleSet()}.
+     * 
      * @see org.apache.fulcrum.security.torque.security.TorqueAbstractSecurityEntity#update(java.sql.Connection)
      */
     @Override

Modified: turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineModelManagerImpl.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineModelManagerImpl.java?rev=1821870&r1=1821869&r2=1821870&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineModelManagerImpl.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineModelManagerImpl.java Mon Jan 22 14:32:47 2018
@@ -32,7 +32,6 @@ import org.apache.fulcrum.security.model
 import org.apache.fulcrum.security.model.turbine.entity.TurbineUserGroupRole;
 import org.apache.fulcrum.security.torque.LazyLoadable;
 import org.apache.fulcrum.security.torque.om.TurbineRolePermissionPeer;
-import org.apache.fulcrum.security.torque.om.TurbineUserGroupRolePeer;
 import org.apache.fulcrum.security.torque.security.TorqueAbstractSecurityEntity;
 import org.apache.fulcrum.security.torque.security.turbine.TorqueAbstractTurbineTurbineSecurityEntity;
 import org.apache.fulcrum.security.util.DataBackendException;
@@ -50,6 +49,7 @@ public class TorqueTurbineModelManagerIm
 {
 	/** Serial version */
 	private static final long serialVersionUID = -306753988209612899L;
+	
 
 	/**
      * Grants a Role a Permission
@@ -82,7 +82,7 @@ public class TorqueTurbineModelManagerIm
                 con = Transaction.begin();
 
                 ((TorqueAbstractSecurityEntity)role).update(con);
-                ((TorqueAbstractSecurityEntity)permission).update(con);
+                ((TorqueAbstractSecurityEntity)permission).update(con);// this updates all permission
 
                 Transaction.commit(con);
                 con = null;
@@ -167,73 +167,100 @@ public class TorqueTurbineModelManagerIm
     @Override
 	public synchronized void grant(User user, Group group, Role role) throws DataBackendException, UnknownEntityException
     {
-        boolean roleExists = getRoleManager().checkExists(role);
-        boolean userExists = getUserManager().checkExists(user);
-        boolean groupExists = getGroupManager().checkExists(group);
-
-        if (roleExists && groupExists && userExists)
-        {
-            TurbineUserGroupRole user_group_role = new TurbineUserGroupRole();
-            user_group_role.setUser(user);
-            user_group_role.setGroup(group);
-            user_group_role.setRole(role);
-            ((TurbineUser) user).addUserGroupRole(user_group_role);
-            if (group instanceof TurbineGroup ) {
-                if (getGroupManager() instanceof LazyLoadable) {
-                    ((TorqueAbstractTurbineTurbineSecurityEntity) group).addUserGroupRole(user_group_role, 
-                                                                                          ((LazyLoadable)getGroupManager()).getLazyLoading());
-                } else {
-                    ((TurbineGroup) group).addUserGroupRole(user_group_role);                    
-                }
-            }
-            if (role instanceof TurbineRole ) {
-                if (getRoleManager() instanceof LazyLoadable) {
-                    ((TorqueAbstractTurbineTurbineSecurityEntity) role).addUserGroupRole(user_group_role,
-                                                                                         ((LazyLoadable)getRoleManager()).getLazyLoading());
-                } else {
-                    ((TurbineRole) role).addUserGroupRole(user_group_role);                    
-                }
-            }
+        handlePrivileges(Privilege.GRANT, user, group, role );
+    }
 
-            Connection con = null;
+    @Override
+	public synchronized void revoke(User user, Group group, Role role)
+        throws DataBackendException, UnknownEntityException
+    {
+        if (checkExists(user, group, role)) 
+            handlePrivileges( Privilege.REVOKE, user, group, role );
+    }
 
-            try
-            {
-                con = Transaction.begin();
-                // save only the new user group may be the better contract, but this would 
-                //  require/add a dependency to initTurbineUserGroupRoles()
-                //((TorqueAbstractSecurityEntity)user).save( con );
-                
-                ((TorqueAbstractSecurityEntity)user).update(con);
-                //((TorqueAbstractSecurityEntity)group).update(con);
-                //((TorqueAbstractSecurityEntity)role).update(con);
+    @Override
+    public void replace( User user,  Role oldRole, Role newRole )
+        throws DataBackendException, UnknownEntityException
+    {
+        Group group = ((TurbineModelManager)this).getGlobalGroup();
+        if (checkExists(user, oldRole, newRole, group) ) {
+            handlePrivileges( Privilege.REPLACE_ROLE, user, group, oldRole, newRole );
+        }
+    }
 
-                Transaction.commit(con);
-                con = null;
-            }
-            catch (TorqueException e)
-            {
-                throw new DataBackendException("grant('"
-                        + user.getName() + "', '"
-                        + group.getName() + "', '"
-                        + role.getName() + "') failed", e);
+    private void addUserGroupRole( User user, Role role, Group group )
+        throws DataBackendException
+    {
+        TurbineUserGroupRole new_user_group_role = new TurbineUserGroupRole();
+        new_user_group_role.setUser(user);
+        new_user_group_role.setGroup(group);
+        new_user_group_role.setRole(role);
+        ((TurbineUser) user).addUserGroupRole(new_user_group_role);
+        
+        if (group instanceof TurbineGroup ) {
+            if (getGroupManager() instanceof LazyLoadable) {
+                ((TorqueAbstractTurbineTurbineSecurityEntity) group).addUserGroupRole(new_user_group_role, 
+                                                                                      ((LazyLoadable)getGroupManager()).getLazyLoading());
+            } else {
+                ((TurbineGroup) group).addUserGroupRole(new_user_group_role);                    
             }
-            catch ( Exception e )
-            {
-                throw new DataBackendException("grant('"
-                                + user.getName() + "', '"
-                                + group.getName() + "', '"
-                                + role.getName() + "') failed", e);
+        }
+        if (role instanceof TurbineRole ) {
+            if (getRoleManager() instanceof LazyLoadable) {
+                ((TorqueAbstractTurbineTurbineSecurityEntity) role).addUserGroupRole(new_user_group_role,
+                                                                                     ((LazyLoadable)getRoleManager()).getLazyLoading());
+            } else {
+                ((TurbineRole) role).addUserGroupRole(new_user_group_role);                    
             }
-            finally
-            {
-                if (con != null)
-                {
-                    Transaction.safeRollback(con);
+        }
+    }
+
+    private void removeUserGroupRole( User user, Role role, Group group )
+        throws DataBackendException, UnknownEntityException
+    {
+        boolean ugrFound = false;
+        for (TurbineUserGroupRole user_group_role : ((TurbineUser) user).getUserGroupRoleSet())
+        {
+            if (user_group_role.getUser().equals(user)
+                && user_group_role.getGroup().equals(group)
+                && user_group_role.getRole().equals(role))
+            {
+                ugrFound = true;
+                ((TurbineUser)user).removeUserGroupRole(user_group_role);
+                if (group instanceof TurbineGroup ) {
+                    if (getGroupManager() instanceof LazyLoadable) {
+                        ((TorqueAbstractTurbineTurbineSecurityEntity) group).removeUserGroupRole(user_group_role, 
+                                                                                                 ((LazyLoadable)getGroupManager()).getLazyLoading());
+                    } else {
+                        ((TurbineGroup) group).removeUserGroupRole(user_group_role); 
+                    }
+                }
+                if (role instanceof TurbineRole ) {
+                    if (getRoleManager() instanceof LazyLoadable) {
+                        ((TorqueAbstractTurbineTurbineSecurityEntity) role).removeUserGroupRole(user_group_role, 
+                                                                                                ((LazyLoadable)getGroupManager()).getLazyLoading());
+                    } else {
+                        ((TurbineRole) role).removeUserGroupRole(user_group_role);
+                    }
                 }
+                break;
             }
+        }
+        if (!ugrFound)
+        {
+            throw new UnknownEntityException("Could not find User/Group/Role for Role "+ role.getName());
+        }
+    }
+    
+    private boolean checkExists( User user, Group group, Role role ) throws UnknownEntityException, DataBackendException
+    {
+        boolean roleExists = getRoleManager().checkExists(role);
+        boolean userExists = getUserManager().checkExists(user);
+        boolean groupExists = getGroupManager().checkExists(group);
 
-            return;
+        if (roleExists && groupExists && userExists)
+        {
+            return true;
         }
 
         if (!roleExists)
@@ -250,97 +277,100 @@ public class TorqueTurbineModelManagerIm
         {
             throw new UnknownEntityException("Unknown user '" + user.getName() + "'");
         }
+        return false;
     }
-
-    @Override
-	public synchronized void revoke(User user, Group group, Role role)
-        throws DataBackendException, UnknownEntityException
+    
+    private boolean checkExists( User user, Role oldRole, Role newRole, Group globalGroup ) throws UnknownEntityException, DataBackendException
     {
-        boolean roleExists = getRoleManager().checkExists(role);
         boolean userExists = getUserManager().checkExists(user);
-        boolean groupExists = getGroupManager().checkExists(group);
+        boolean oldRoleExists = getRoleManager().checkExists(oldRole);
+        boolean newRoleExists = getRoleManager().checkExists(newRole);
 
-        if (roleExists && groupExists && userExists)
+        if (userExists && oldRoleExists && newRoleExists && globalGroup != null)
         {
-            boolean ugrFound = false;
-
-            for (TurbineUserGroupRole user_group_role : ((TurbineUser) user).getUserGroupRoleSet())
-            {
-                if (user_group_role.getUser().equals(user)
-                    && user_group_role.getGroup().equals(group)
-                    && user_group_role.getRole().equals(role))
-                {
-                    ugrFound = true;
-                    ((TurbineUser)user).removeUserGroupRole(user_group_role);
-                    if (group instanceof TurbineGroup ) {
-                        if (getGroupManager() instanceof LazyLoadable) {
-                            ((TorqueAbstractTurbineTurbineSecurityEntity) group).removeUserGroupRole(user_group_role, 
-                                                                                                     ((LazyLoadable)getGroupManager()).getLazyLoading());
-                        } else {
-                            ((TurbineGroup) group).removeUserGroupRole(user_group_role); 
-                        }
-                    }
-                    if (role instanceof TurbineRole ) {
-                        if (getRoleManager() instanceof LazyLoadable) {
-                            ((TorqueAbstractTurbineTurbineSecurityEntity) role).removeUserGroupRole(user_group_role, 
-                                                                                                    ((LazyLoadable)getGroupManager()).getLazyLoading());
-                        } else {
-                            ((TurbineRole) role).removeUserGroupRole(user_group_role);
-                        }
-                    }
-                    break;
-                }
-            }
+            return true;
+        }
 
-            if (!ugrFound)
-            {
-                throw new UnknownEntityException("Could not find User/Group/Role");
+        if (!oldRoleExists)
+        {
+            throw new UnknownEntityException("Unknown role '" + oldRole.getName() + "'");
+        }
+        
+        if (!newRoleExists)
+        {
+            throw new UnknownEntityException("Unknown role '" + newRole.getName() + "'");
+        }
+        if (!userExists)
+        {
+            throw new UnknownEntityException("Unknown user '" + user.getName() + "'");
+        }
+        return false;
+    }
+    
+    private void handlePrivileges( Privilege privilege, User user, Group group, Role role, Role newRole )
+                    throws DataBackendException, UnknownEntityException
+    {
+            String logChars = privilege.toString()+ "('"
+                            + user.getName() + "', '"
+                            + group.getName() + "', '"
+                            + role.getName() + "')";
+            switch (privilege) {
+                case GRANT:
+                    addUserGroupRole( user, role, group );break;
+                case REVOKE:
+                    removeUserGroupRole( user, role, group );break;
+                case REPLACE_ROLE:
+                    addUserGroupRole( user, newRole, group );
+                    removeUserGroupRole( user, role, group );
+                    // the user's user-group-role set is updated, i.e. the old one is removed and the new one added -
+                    // no need to do an additional delete in the database
+                    logChars = Privilege.REPLACE_ROLE.toString()+"('"
+                                    + user.getName() + "', '"
+                                    + role.getName() + "', '"
+                                    + newRole.getName() + "')";
+                    break; 
             }
+            syncPrivilegeWithDatabase( user, logChars );
+    }
+    
+    private void handlePrivileges( Privilege privilege, User user, Group group, Role role )
+                    throws DataBackendException, UnknownEntityException
+    {
+        handlePrivileges( privilege, user, group, role, null );    
+    }
 
-            Connection con = null;
-
-            try
-            {
-                con = Transaction.begin();
-
-                Criteria criteria = new Criteria();
-                criteria.where(TurbineUserGroupRolePeer.ROLE_ID, role.getId());
-                criteria.where(TurbineUserGroupRolePeer.GROUP_ID, group.getId());
-                criteria.where(TurbineUserGroupRolePeer.USER_ID, user.getId());
-                TurbineUserGroupRolePeer.doDelete(criteria, con);
-
-                Transaction.commit(con);
-                con = null;
-            }
-            catch (TorqueException e)
-            {
-                throw new DataBackendException("revoke('"
-                        + user.getName() + "', '"
-                        + group.getName() + "', '"
-                        + role.getName() + "') failed", e);
-            }
-            finally
-            {
-                if (con != null)
-                {
-                    Transaction.safeRollback(con);
-                }
-            }
+    private void syncPrivilegeWithDatabase( User user, String logChars)
+        throws DataBackendException
+    {
+        Connection con = null;
 
-            return;
+        try
+        {
+            con = Transaction.begin();
+            // save only the new user group may be the better contract, but this would 
+            //  require/add a dependency to initTurbineUserGroupRoles()
+            //((TorqueAbstractSecurityEntity)user).save( con );
+            // update only user
+            ((TorqueAbstractSecurityEntity)user).update(con);
+            //((TorqueAbstractSecurityEntity)group).update(con);
+            //((TorqueAbstractSecurityEntity)role).update(con);
+            Transaction.commit(con);
+            con = null;
         }
-
-        if (!roleExists)
+        catch (TorqueException e)
         {
-            throw new UnknownEntityException("Unknown role '" + role.getName() + "'");
+            throw new DataBackendException(logChars +" failed", e);
         }
-        if (!groupExists)
+        catch ( Exception e )
         {
-            throw new UnknownEntityException("Unknown group '" + group.getName() + "'");
+            throw new DataBackendException(logChars +" failed", e);
         }
-        if (!userExists)
+        finally
         {
-            throw new UnknownEntityException("Unknown user '" + user.getName() + "'");
+            if (con != null)
+            {
+                Transaction.safeRollback(con);
+            }
         }
     }
 }

Modified: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/AbstractTurbineUserManagerTest.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/AbstractTurbineUserManagerTest.java?rev=1821870&r1=1821869&r2=1821870&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/AbstractTurbineUserManagerTest.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/AbstractTurbineUserManagerTest.java Mon Jan 22 14:32:47 2018
@@ -218,7 +218,7 @@ public abstract class AbstractTurbineUse
 
     /**
      * Need to figure out if save is something we want.. right now it just bloes
-     * up if you actually cahnge anything.
+     * up if you actually change anything.
      * 
      * @todo figur out what to do here...
      * @throws Exception

Modified: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TorquePeerTurbineModelManagerTest.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TorquePeerTurbineModelManagerTest.java?rev=1821870&r1=1821869&r2=1821870&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TorquePeerTurbineModelManagerTest.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TorquePeerTurbineModelManagerTest.java Mon Jan 22 14:32:47 2018
@@ -119,7 +119,7 @@ public class TorquePeerTurbineModelManag
         try
         {
             Criteria criteria = new Criteria();
-            criteria.where(TorqueTurbineUserGroupRolePeer.USER_ID, 0, Criteria.GREATER_THAN);
+            criteria.where(TorqueTurbineUserGroupRolePeer.USER_ID, -1, Criteria.GREATER_THAN);
             TorqueTurbineUserGroupRolePeer.doDelete(criteria);
 
             criteria = new Criteria();

Modified: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TorqueTurbineModelManagerTest.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TorqueTurbineModelManagerTest.java?rev=1821870&r1=1821869&r2=1821870&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TorqueTurbineModelManagerTest.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TorqueTurbineModelManagerTest.java Mon Jan 22 14:32:47 2018
@@ -75,7 +75,7 @@ public class TorqueTurbineModelManagerTe
         try
         {
             Criteria criteria = new Criteria();
-            criteria.where(TorqueTurbineUserGroupRolePeer.USER_ID, 0, Criteria.GREATER_THAN);
+            criteria.where(TorqueTurbineUserGroupRolePeer.USER_ID, -1, Criteria.GREATER_THAN);
             TorqueTurbineUserGroupRolePeer.doDelete(criteria);
 
             criteria = new Criteria();

Modified: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineDefaultModelManagerLazyTest.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineDefaultModelManagerLazyTest.java?rev=1821870&r1=1821869&r2=1821870&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineDefaultModelManagerLazyTest.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineDefaultModelManagerLazyTest.java Mon Jan 22 14:32:47 2018
@@ -84,12 +84,12 @@ public class TurbineDefaultModelManagerL
         	con = Transaction.begin();// "default"
 
         	Criteria criteria = new Criteria();
-            criteria.where(TurbineUserGroupRolePeer.USER_ID, 0, Criteria.GREATER_THAN);
+            criteria.where(TurbineUserGroupRolePeer.USER_ID, -1, Criteria.GREATER_THAN);
             
             TurbineUserGroupRolePeer.doDelete(criteria,con);
 
             criteria = new Criteria();
-            criteria.where(TurbineRolePermissionPeer.ROLE_ID, 0, Criteria.GREATER_THAN);
+            criteria.where(TurbineRolePermissionPeer.ROLE_ID, -1, Criteria.GREATER_THAN);
             TurbineRolePermissionPeer.doDelete(criteria,con);
 
             criteria = new Criteria();

Modified: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineDefaultModelManagerTest.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineDefaultModelManagerTest.java?rev=1821870&r1=1821869&r2=1821870&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineDefaultModelManagerTest.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineDefaultModelManagerTest.java Mon Jan 22 14:32:47 2018
@@ -83,7 +83,7 @@ public class TurbineDefaultModelManagerT
         	con = Transaction.begin();// "default"
 
         	Criteria criteria = new Criteria();
-            criteria.where(TurbineUserGroupRolePeer.USER_ID, 0, Criteria.GREATER_THAN);
+            criteria.where(TurbineUserGroupRolePeer.USER_ID, -1, Criteria.GREATER_THAN);
             
             TurbineUserGroupRolePeer.doDelete(criteria,con);
 
@@ -112,7 +112,8 @@ public class TurbineDefaultModelManagerT
         }
         catch (TorqueException e)
         {
-        	fail(e.toString());
+            e.printStackTrace();
+            fail(e.getMessage());
         } catch (SQLException e) {
         	 if (con != null)
              {

Modified: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineUserManagerTest.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineUserManagerTest.java?rev=1821870&r1=1821869&r2=1821870&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineUserManagerTest.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TurbineUserManagerTest.java Mon Jan 22 14:32:47 2018
@@ -89,7 +89,7 @@ public class TurbineUserManagerTest exte
             con = Transaction.begin();// "default"
 
             Criteria criteria = new Criteria();
-            criteria.where(TorqueTurbineUserGroupRolePeer.USER_ID, 0, Criteria.GREATER_THAN);
+            criteria.where(TorqueTurbineUserGroupRolePeer.USER_ID, -1, Criteria.GREATER_THAN);
             
             TorqueTurbineUserGroupRolePeer.doDelete(criteria,con);