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 2020/01/13 15:34:32 UTC

svn commit: r1872712 - in /turbine/fulcrum/trunk/security: api/src/java/org/apache/fulcrum/security/spi/ api/src/test/org/apache/fulcrum/security/authenticator/ api/src/test/org/apache/fulcrum/security/entity/impl/ api/src/test/org/apache/fulcrum/secur...

Author: gk
Date: Mon Jan 13 15:34:31 2020
New Revision: 1872712

URL: http://svn.apache.org/viewvc?rev=1872712&view=rev
Log:
- removed id-check in group/permission/role spi managers - hibernate, mysql and other databases may use native generator/autoincrement (effectively the old implementation had implicitely the same result with it's faulty exception condition)
- updated api tests to JUnit5
- Torque added new Test TurbineACLFactoryTest.java
- Torque: moved in torque new model + old model test into package model
- Torque: fixed missing interface for Role/Group/Permission DefaultAbstractTurbine*Managers by applying existing TurbineUserGroupRoleModelPeerMapper and adding new interface TurbineRolePermissionPeerMapper.
- Updated changes.xml

Added:
    turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/TurbineRolePermissionPeerMapper.java   (with props)
    turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/
    turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TorquePeerTurbineModelManagerTest.java   (with props)
    turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TorqueTurbineModelManagerTest.java   (with props)
    turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TurbineACLFactoryTest.java   (with props)
    turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TurbineDefaultModelManagerLazyTest.java   (with props)
    turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TurbineDefaultModelManagerTest.java   (with props)
Modified:
    turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/spi/AbstractGroupManager.java
    turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/spi/AbstractPermissionManager.java
    turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/spi/AbstractRoleManager.java
    turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/authenticator/CryptoAuthenticatorTest.java
    turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/authenticator/NoOpAuthenticatorTest.java
    turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/authenticator/TextMatchAuthenticatorTest.java
    turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/entity/impl/SecurityEntityImplTest.java
    turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/model/ACLFactoryTest.java
    turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/model/turbine/test/AbstractTurbineModelManagerTest.java
    turbine/fulcrum/trunk/security/src/changes/changes.xml
    turbine/fulcrum/trunk/security/torque/schema/fulcrum-turbine-default-schema.xml
    turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/TurbineUserGroupRoleModelPeerMapper.java
    turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/DefaultAbstractTurbineGroup.java
    turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/DefaultAbstractTurbinePermission.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/test/log4j2-test.xml

Modified: turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/spi/AbstractGroupManager.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/spi/AbstractGroupManager.java?rev=1872712&r1=1872711&r2=1872712&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/spi/AbstractGroupManager.java (original)
+++ turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/spi/AbstractGroupManager.java Mon Jan 13 15:34:31 2020
@@ -155,10 +155,10 @@ public abstract class AbstractGroupManag
         {
             throw new DataBackendException("Could not create a group with empty name!");
         }
-        if (group.getId() != null)
-        {
-            throw new DataBackendException("Could not create a group with an id of null!");
-        }
+//        if (group.getId() == null)
+//        {
+//            throw new DataBackendException("Could not create a group with an id of null!");
+//        }
         groupExists = checkExists(group);
         if (!groupExists)
         {

Modified: turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/spi/AbstractPermissionManager.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/spi/AbstractPermissionManager.java?rev=1872712&r1=1872711&r2=1872712&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/spi/AbstractPermissionManager.java (original)
+++ turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/spi/AbstractPermissionManager.java Mon Jan 13 15:34:31 2020
@@ -35,6 +35,11 @@ import org.apache.fulcrum.security.util.
  */
 public abstract class AbstractPermissionManager extends AbstractEntityManager implements PermissionManager
 {
+    /**
+     * 
+     */
+    private static final long serialVersionUID = 1L;
+
     protected abstract <T extends Permission> T persistNewPermission(T permission) throws DataBackendException;
 
     /**
@@ -150,10 +155,10 @@ public abstract class AbstractPermission
         {
             throw new DataBackendException("Could not create a permission with empty name!");
         }
-        if (permission.getId() != null)
-        {
-            throw new DataBackendException("Could not create a permission with an id of null!");
-        }
+//        if (permission.getId() == null)
+//        {
+//            throw new DataBackendException("Could not create a permission with an id of null!");
+//        }
         try
         {
             permissionExists = checkExists(permission);

Modified: turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/spi/AbstractRoleManager.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/spi/AbstractRoleManager.java?rev=1872712&r1=1872711&r2=1872712&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/spi/AbstractRoleManager.java (original)
+++ turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/spi/AbstractRoleManager.java Mon Jan 13 15:34:31 2020
@@ -162,10 +162,10 @@ public abstract class AbstractRoleManage
         {
             throw new DataBackendException("Could not create a role with empty name!");
         }
-        if (role.getId() != null)
-        {
-            throw new DataBackendException("Could not create a role with an id of null!");
-        }
+//        if (role.getId() == null)
+//        {
+//            throw new DataBackendException("Could not create a role with an id of null!");
+//        }
         try
         {
             roleExists = checkExists(role);

Modified: turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/authenticator/CryptoAuthenticatorTest.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/authenticator/CryptoAuthenticatorTest.java?rev=1872712&r1=1872711&r2=1872712&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/authenticator/CryptoAuthenticatorTest.java (original)
+++ turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/authenticator/CryptoAuthenticatorTest.java Mon Jan 13 15:34:31 2020
@@ -23,23 +23,24 @@ import static org.junit.Assert.*;
 
 import org.apache.fulcrum.security.entity.User;
 import org.apache.fulcrum.security.model.dynamic.entity.impl.DynamicUserImpl;
-import org.apache.fulcrum.testcontainer.BaseUnit4Test;
-import org.junit.Before;
-import org.junit.Test;
+import org.apache.fulcrum.testcontainer.BaseUnit5Test;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 
 /**
  * 
  * @author <a href="mailto:epugh@upstate.com">Eric Pugh</a>
  * @version $Id$
  */
-public class CryptoAuthenticatorTest extends BaseUnit4Test
+public class CryptoAuthenticatorTest extends BaseUnit5Test
 
 {
     private static final String preDefinedInput = "Oeltanks";
     private static final String preDefinedResult = "XBSqev4ilv7P7852G2rL5WgX3FLy8VzfOY+tVq+xjek=";
 
 
-    @Before
+    @BeforeEach
     public void setUp()
     {
         try

Modified: turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/authenticator/NoOpAuthenticatorTest.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/authenticator/NoOpAuthenticatorTest.java?rev=1872712&r1=1872711&r2=1872712&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/authenticator/NoOpAuthenticatorTest.java (original)
+++ turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/authenticator/NoOpAuthenticatorTest.java Mon Jan 13 15:34:31 2020
@@ -1,5 +1,7 @@
 package org.apache.fulcrum.security.authenticator;
 
+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
@@ -22,9 +24,8 @@ package org.apache.fulcrum.security.auth
 
 import org.apache.fulcrum.security.entity.User;
 import org.apache.fulcrum.security.model.dynamic.entity.impl.DynamicUserImpl;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.*;
-import org.junit.Test;
 
 /**
  * 

Modified: turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/authenticator/TextMatchAuthenticatorTest.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/authenticator/TextMatchAuthenticatorTest.java?rev=1872712&r1=1872711&r2=1872712&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/authenticator/TextMatchAuthenticatorTest.java (original)
+++ turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/authenticator/TextMatchAuthenticatorTest.java Mon Jan 13 15:34:31 2020
@@ -1,5 +1,8 @@
 package org.apache.fulcrum.security.authenticator;
 
+import static org.junit.jupiter.api.Assertions.assertFalse;
+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
@@ -22,9 +25,8 @@ package org.apache.fulcrum.security.auth
 
 import org.apache.fulcrum.security.entity.User;
 import org.apache.fulcrum.security.model.dynamic.entity.impl.DynamicUserImpl;
+import org.junit.jupiter.api.Test;
 
-import static org.junit.Assert.*;
-import org.junit.Test;
 
 /**
  * 

Modified: turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/entity/impl/SecurityEntityImplTest.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/entity/impl/SecurityEntityImplTest.java?rev=1872712&r1=1872711&r2=1872712&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/entity/impl/SecurityEntityImplTest.java (original)
+++ turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/entity/impl/SecurityEntityImplTest.java Mon Jan 13 15:34:31 2020
@@ -1,5 +1,8 @@
 package org.apache.fulcrum.security.entity.impl;
 
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.fail;
+
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -20,8 +23,7 @@ package org.apache.fulcrum.security.enti
  */
 
 import org.apache.fulcrum.security.entity.SecurityEntity;
-import static org.junit.Assert.*;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test the SecurityEntityImple

Modified: turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/model/ACLFactoryTest.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/model/ACLFactoryTest.java?rev=1872712&r1=1872711&r2=1872712&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/model/ACLFactoryTest.java (original)
+++ turbine/fulcrum/trunk/security/api/src/test/org/apache/fulcrum/security/model/ACLFactoryTest.java Mon Jan 13 15:34:31 2020
@@ -46,21 +46,24 @@ import org.apache.fulcrum.security.model
 import org.apache.fulcrum.security.model.turbine.entity.impl.TurbinePermissionImpl;
 import org.apache.fulcrum.security.model.turbine.entity.impl.TurbineRoleImpl;
 import org.apache.fulcrum.security.model.turbine.entity.impl.TurbineUserImpl;
-import org.apache.fulcrum.testcontainer.BaseUnitTest;
+import org.apache.fulcrum.testcontainer.BaseUnit5Test;
+
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import org.junit.jupiter.api.Test;
 
 /**
  *
  * @author <a href="mailto:epugh@upstate.com">Eric Pugh</a>
  * @version $Id$
  */
-public class ACLFactoryTest extends BaseUnitTest
+public class ACLFactoryTest extends BaseUnit5Test
 {
 
-    public ACLFactoryTest(String arg0)
+    public ACLFactoryTest()
     {
-        super(arg0);
     }
 
+    @Test
     public void testCreatingTurbineACLandModel() throws Exception
     {
         this.setRoleFileName("src/test/TurbineACLRoleModelConfig.xml");
@@ -96,6 +99,7 @@ public class ACLFactoryTest extends Base
         assertTrue(tacl.hasPermission(permission, group));
     }
 
+    @Test
     public void testCreatingDynamicACL() throws Exception
     {
         this.setRoleFileName("src/test/DynamicACLRoleConfig.xml");
@@ -127,6 +131,7 @@ public class ACLFactoryTest extends Base
         assertTrue(dacl.hasPermission(permission));
     }
 
+    @Test
     public void testCreatingBasicACL() throws Exception
     {
         this.setRoleFileName("src/test/BasicACLRoleConfig.xml");

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=1872712&r1=1872711&r2=1872712&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 13 15:34:31 2020
@@ -92,6 +92,7 @@ public abstract class AbstractTurbineMod
         permission.setName("ANSWER_PHONE");
         permissionManager.addPermission(permission);
         role = roleManager.getRoleInstance("RECEPTIONIST");
+        //role.setId(new Integer(1));
         roleManager.addRole(role);
         modelManager.grant(role, permission);
         role = roleManager.getRoleById(role.getId());
@@ -105,7 +106,8 @@ public abstract class AbstractTurbineMod
         Permission permission = securityService.getPermissionManager().getPermissionInstance();
         permission.setName("ANSWER_FAX");
         securityService.getPermissionManager().addPermission(permission);
-        role = roleManager.getRoleInstance("SECRETARY");
+        role = roleManager.getRoleInstance("SECRETARY"); 
+        //role.setId(new Integer(1));
         roleManager.addRole(role);
         modelManager.grant(role, permission);
         role = roleManager.getRoleById(role.getId());
@@ -128,6 +130,7 @@ public abstract class AbstractTurbineMod
         permission = securityService.getPermissionManager().addPermission(permission);
         permission2 =  securityService.getPermissionManager().addPermission(permission2);
         role = roleManager.getRoleInstance("ANOTHERSECRETARY");
+        //role.setId(new Integer(1));
         role = roleManager.addRole(role);
         modelManager.grant(role, permission);
         modelManager.grant(role, permission2);
@@ -154,6 +157,7 @@ public abstract class AbstractTurbineMod
         securityService.getPermissionManager().addPermission(permission);
         securityService.getPermissionManager().addPermission(permission2);
         role = roleManager.getRoleInstance("HELPER");
+        //role.setId(new Integer(1));
         roleManager.addRole(role);
         modelManager.grant(role, permission);
         modelManager.grant(role, permission2);
@@ -173,13 +177,16 @@ public abstract class AbstractTurbineMod
         securityService.getGroupManager().addGroup(group);
         Role role = securityService.getRoleManager().getRoleInstance();
         role.setName("TEST_REVOKEALLUSER_ROLE");
+        //role.setId(new Integer(1));
         role = securityService.getRoleManager().addRole(role);
         
         Group group2 = securityService.getGroupManager().getGroupInstance();
         group2.setName("TEST_REVOKEALLUSER_GROUP2");
+        //group2.setId(new Integer(1));
         securityService.getGroupManager().addGroup(group2);
         Role role2 = securityService.getRoleManager().getRoleInstance();
         role2.setName("TEST_REVOKEALLUSER_ROLE2");
+        //role2.setId(new Integer(2));
         role2 = securityService.getRoleManager().addRole(role2);
         
         String username = "calvin";
@@ -281,10 +288,14 @@ public abstract class AbstractTurbineMod
     {
         Permission permission = permissionManager.getPermissionInstance();
         permission.setName("ANSWER_PHONE__");
+        //permission.setId(new Integer (1));
         permissionManager.addPermission(permission);
         
         Permission permission2 = permissionManager.getPermissionInstance();
         permission2.setName("ANSWER_PHONE__2");
+        // TurbineHibernate.hbm.xml has <generator class="native" for id, throws org.hibernate.HibernateException: 
+        // identifier of an instance of org.apache.fulcrum.security.model.turbine.entity.impl.TurbinePermissionImpl was altered from 1 to 2
+        //permission.setId(new Integer (2));
         permissionManager.addPermission(permission2);
         
         role = roleManager.getRoleInstance("RECEPTIONIST__");
@@ -292,9 +303,12 @@ public abstract class AbstractTurbineMod
         
         Group group = securityService.getGroupManager().getGroupInstance();
         group.setName("TEST_GROUP__");
+        //group.setId(new Integer(1));
         securityService.getGroupManager().addGroup(group);
         Role role = roleManager.getRoleInstance();
+        
         role.setName("TEST_Role__");
+        //role.setId(new Integer(1));
         roleManager.addRole(role);
         User user = userManager.getUserInstance("Clint__");
         userManager.addUser(user, "clint");

Modified: turbine/fulcrum/trunk/security/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/src/changes/changes.xml?rev=1872712&r1=1872711&r2=1872712&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/src/changes/changes.xml (original)
+++ turbine/fulcrum/trunk/security/src/changes/changes.xml Mon Jan 13 15:34:31 2020
@@ -23,7 +23,18 @@
     <author email="epugh@upstate.com">Eric Pugh</author>
   </properties>
   <body>
-    <release version="1.1.3" date="in Subversion">
+   <release version="2.0.0" date="in Subversion">
+       <action type="update" dev="gk">
+        Torque sub project: 
+        - Update to Torque 4.1, using PeerInterface in schema, removed classes as now generated with PeerInterface.
+        - add TorqueException to method (TODO DataBackendException wanted)
+        - Dbcp2 update to v2.7.0
+       </action>
+        <action type="update" dev="gk">
+        - log4j2 (hibernate needs mapping 1.2 to 2)
+       </action>
+    </release>
+    <release version="1.1.3" date="2019-02-23">
       <action type="update" dev="jp">
         Update to commons-lang3, Java 8 by default
        </action>

Modified: turbine/fulcrum/trunk/security/torque/schema/fulcrum-turbine-default-schema.xml
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/schema/fulcrum-turbine-default-schema.xml?rev=1872712&r1=1872711&r2=1872712&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/schema/fulcrum-turbine-default-schema.xml (original)
+++ turbine/fulcrum/trunk/security/torque/schema/fulcrum-turbine-default-schema.xml Mon Jan 13 15:34:31 2020
@@ -30,11 +30,11 @@
     defaultIdMethod="none" defaultJavaType="object"
     xmlns="http://db.apache.org/torque/4.0/templates/database"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://db.apache.org/torque/4.0/templates/database 
-        http://db.apache.org/torque/4.0/templates/database.xsd">
+    xsi:schemaLocation="http://db.apache.org/torque/4.1/templates/database
+        http://db.apache.org/torque/4.1/templates/database.xsd">
 
 <!--   
-   after Torque 4.1 is released, add attribute peerInterface="org.apache.fulcrum.security.torque.peer.TorqueTurbinePeer" 
+   added after Torque 4.1 release attribute peerInterface="org.apache.fulcrum.security.torque.peer.TorqueTurbinePeer" 
    to tables TURBINE_PERMISSION,TURBINE_ROLE,TURBINE_GROUP,TURBINE_USER, cft. https://issues.apache.org/jira/browse/TRB-92 and https://issues.apache.org/jira/browse/TORQUE-309.
    -->
   <table name="TURBINE_PERMISSION" javaName="TurbinePermission" idMethod="native"  
@@ -91,7 +91,8 @@
   </table>
 
   <!-- Turbine Security Model -->
-  <table name="TURBINE_ROLE_PERMISSION" javaName="TurbineRolePermission" idMethod="none">
+  <table name="TURBINE_ROLE_PERMISSION" javaName="TurbineRolePermission" idMethod="none"
+  interface="org.apache.fulcrum.security.torque.peer.TurbineRolePermissionPeerMapper">
     <column name="ROLE_ID" required="true" primaryKey="true" type="INTEGER" javaType="object"/>
     <column name="PERMISSION_ID" required="true" primaryKey="true" type="INTEGER" javaType="object"/>
 

Added: turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/TurbineRolePermissionPeerMapper.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/TurbineRolePermissionPeerMapper.java?rev=1872712&view=auto
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/TurbineRolePermissionPeerMapper.java (added)
+++ turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/TurbineRolePermissionPeerMapper.java Mon Jan 13 15:34:31 2020
@@ -0,0 +1,87 @@
+package org.apache.fulcrum.security.torque.peer;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+import java.sql.Connection;
+
+import org.apache.fulcrum.security.entity.Permission;
+import org.apache.fulcrum.security.entity.Role;
+import org.apache.fulcrum.security.torque.om.TurbinePermission;
+import org.apache.torque.TorqueException;
+
+/**
+ * This extension to the marker interface {@linkplain Peer} is to allow for swappable Peer implementations 
+ * in Turbine Torque Manager Implementations.  
+ * 
+ * @param <T>  The data object type used by the Torque PeerImpl class.
+ * 
+ * @author <a href="mailto:gk@apache.org">Georg Kallidis</a>
+ * @version $Id$
+ */
+public interface TurbineRolePermissionPeerMapper
+
+{
+	
+    /**
+     * Returns the associated TurbineRole object.
+     * If it was not retrieved before, the object is retrieved from
+     * the database
+     *
+     * @return the associated TurbineRole object
+     * @throws TorqueException  if any database error occurs when reading from the database fails.
+     */
+    Role getTurbineRole()
+        throws TorqueException;
+
+    /**
+     * Return the associated TurbineRole object
+     * If it was not retrieved before, the object is retrieved from
+     * the database using the passed connection
+     *
+     * @param connection the connection used to retrieve the associated object
+     *        from the database, if it was not retrieved before
+     * @return the associated TurbineRole object
+     * @throws TorqueException  if any database error occurs
+     */
+    Role getTurbineRole( Connection connection )
+        throws TorqueException;
+
+    /**
+     * Returns the associated TurbinePermission object.
+     * If it was not retrieved before, the object is retrieved from
+     * the database
+     *
+     * @return the associated TurbinePermission object
+     * @throws TorqueException when reading from the database fails.
+     */
+    Permission getTurbinePermission() throws TorqueException;
+    
+    /**
+     * Return the associated TurbinePermission object
+     * If it was not retrieved before, the object is retrieved from
+     * the database using the passed connection
+     *
+     * @param connection the connection used to retrieve the associated object
+     *        from the database, if it was not retrieved before
+     * @return the associated TurbinePermission object
+     * @throws TorqueException If a problem occurs with the get[$filedType] method.
+     */
+    public TurbinePermission getTurbinePermission(Connection connection)
+        throws TorqueException;
+
+}

Propchange: turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/TurbineRolePermissionPeerMapper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/TurbineUserGroupRoleModelPeerMapper.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/TurbineUserGroupRoleModelPeerMapper.java?rev=1872712&r1=1872711&r2=1872712&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/TurbineUserGroupRoleModelPeerMapper.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/TurbineUserGroupRoleModelPeerMapper.java Mon Jan 13 15:34:31 2020
@@ -25,9 +25,12 @@ import org.apache.fulcrum.security.entit
 import org.apache.torque.TorqueException;
 
 /**
- * This interface allows to retrieve user, group, role relationships either from custom or the default OM in @link org.apache.fulcrum.security.torque.om. 
+ * This interface allows to retrieve user, group, role relationships either from custom or the default OM in 
  * 
- * @author gkallidis
+ * @link org.apache.fulcrum.security.torque.om. 
+ * 
+ * @author gk
+ * @Id $Id$
  *
  */
 public interface TurbineUserGroupRoleModelPeerMapper

Modified: turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/DefaultAbstractTurbineGroup.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/DefaultAbstractTurbineGroup.java?rev=1872712&r1=1872711&r2=1872712&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/DefaultAbstractTurbineGroup.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/DefaultAbstractTurbineGroup.java Mon Jan 13 15:34:31 2020
@@ -26,6 +26,7 @@ import org.apache.fulcrum.security.model
 import org.apache.fulcrum.security.model.turbine.entity.TurbineUserGroupRole;
 import org.apache.fulcrum.security.torque.om.TurbineGroupPeer;
 import org.apache.fulcrum.security.torque.om.TurbineUserGroupRolePeer;
+import org.apache.fulcrum.security.torque.peer.TurbineUserGroupRoleModelPeerMapper;
 import org.apache.fulcrum.security.torque.security.turbine.TorqueAbstractTurbineTurbineSecurityEntity;
 import org.apache.fulcrum.security.util.DataBackendException;
 import org.apache.torque.TorqueException;
@@ -56,11 +57,11 @@ public abstract class DefaultAbstractTur
      *
      * @return a list of User/Group/Role relations
      */
-    protected List<org.apache.fulcrum.security.torque.om.TurbineUserGroupRole> getTurbineUserGroupRolesJoinTurbineRole(Criteria criteria, Connection con)
-        throws TorqueException
+    protected <T extends TurbineUserGroupRoleModelPeerMapper> List<T> getTurbineUserGroupRolesJoinTurbineRole(Criteria criteria, Connection con)
+            throws TorqueException, DataBackendException
     {
         criteria.and(TurbineUserGroupRolePeer.GROUP_ID, getEntityId() );
-        return TurbineUserGroupRolePeer.doSelectJoinTurbineRole(criteria, con);
+        return (List<T>) TurbineUserGroupRolePeer.doSelectJoinTurbineRole(criteria, con);
     }
     
     @Override
@@ -79,10 +80,10 @@ public abstract class DefaultAbstractTur
         try {
             if (!lazy) {
                 Set<TurbineUserGroupRole> userGroupRoleSet = new HashSet<TurbineUserGroupRole>();
-                
-                List<org.apache.fulcrum.security.torque.om.TurbineUserGroupRole> ugrs = getTurbineUserGroupRolesJoinTurbineRole(new Criteria(), con);
+                               
+                List<TurbineUserGroupRoleModelPeerMapper> ugrs = getTurbineUserGroupRolesJoinTurbineRole(new Criteria(), con);
         
-                for (org.apache.fulcrum.security.torque.om.TurbineUserGroupRole ttugr : ugrs)
+                for (TurbineUserGroupRoleModelPeerMapper ttugr : ugrs)
                 {
                     TurbineUserGroupRole ugr = new TurbineUserGroupRole();
                     ugr.setGroup(this);

Modified: turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/DefaultAbstractTurbinePermission.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/DefaultAbstractTurbinePermission.java?rev=1872712&r1=1872711&r2=1872712&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/DefaultAbstractTurbinePermission.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/DefaultAbstractTurbinePermission.java Mon Jan 13 15:34:31 2020
@@ -26,6 +26,7 @@ import org.apache.fulcrum.security.model
 import org.apache.fulcrum.security.torque.om.TurbinePermissionPeer;
 import org.apache.fulcrum.security.torque.om.TurbineRolePermission;
 import org.apache.fulcrum.security.torque.om.TurbineRolePermissionPeer;
+import org.apache.fulcrum.security.torque.peer.TurbineRolePermissionPeerMapper;
 import org.apache.fulcrum.security.torque.security.TorqueAbstractSecurityEntity;
 import org.apache.fulcrum.security.util.DataBackendException;
 import org.apache.fulcrum.security.util.RoleSet;
@@ -59,11 +60,11 @@ public abstract class DefaultAbstractTur
      *
      * @return a list of Role/Permission relations
      */
-    protected List<TurbineRolePermission> getTurbineRolePermissionsJoinTurbineRole(Criteria criteria, Connection con)
+    protected <T extends TurbineRolePermissionPeerMapper> List<T> getTurbineRolePermissionsJoinTurbineRole(Criteria criteria, Connection con)
         throws TorqueException
     {
         criteria.and(TurbineRolePermissionPeer.PERMISSION_ID, getEntityId() );
-        return TurbineRolePermissionPeer.doSelectJoinTurbineRole(criteria, con);
+        return (List<T>) TurbineRolePermissionPeer.doSelectJoinTurbineRole(criteria, con);
     }
 
     /**
@@ -155,9 +156,9 @@ public abstract class DefaultAbstractTur
             
             this.roleSet = new RoleSet();
     
-            List<TurbineRolePermission> rolepermissions = getTurbineRolePermissionsJoinTurbineRole(new Criteria(), con);
+            List<TurbineRolePermissionPeerMapper> rolepermissions = getTurbineRolePermissionsJoinTurbineRole(new Criteria(), con);
     
-            for (TurbineRolePermission ttrp : rolepermissions)
+            for (TurbineRolePermissionPeerMapper ttrp : rolepermissions)
             {
                 roleSet.add(ttrp.getTurbineRole());
             }

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=1872712&r1=1872711&r2=1872712&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 13 15:34:31 2020
@@ -29,6 +29,8 @@ import org.apache.fulcrum.security.torqu
 import org.apache.fulcrum.security.torque.om.TurbineRolePermission;
 import org.apache.fulcrum.security.torque.om.TurbineRolePermissionPeer;
 import org.apache.fulcrum.security.torque.om.TurbineUserGroupRolePeer;
+import org.apache.fulcrum.security.torque.peer.TurbineRolePermissionPeerMapper;
+import org.apache.fulcrum.security.torque.peer.TurbineUserGroupRoleModelPeerMapper;
 import org.apache.fulcrum.security.torque.security.turbine.TorqueAbstractTurbineTurbineSecurityEntity;
 import org.apache.fulcrum.security.util.DataBackendException;
 import org.apache.fulcrum.security.util.PermissionSet;
@@ -63,11 +65,11 @@ public abstract class DefaultAbstractTur
      *
      * @return a list of Role/Permission relations
      */
-    protected List<TurbineRolePermission> getTurbineRolePermissionsJoinTurbinePermission(Criteria criteria, Connection con)
+    protected <T extends TurbineRolePermissionPeerMapper> List<T> getTurbineRolePermissionsJoinTurbinePermission(Criteria criteria, Connection con)
         throws TorqueException
     {
         criteria.and(TurbineRolePermissionPeer.ROLE_ID, getEntityId() );
-        return TurbineRolePermissionPeer.doSelectJoinTurbinePermission(criteria, con);
+        return (List<T>) TurbineRolePermissionPeer.doSelectJoinTurbinePermission(criteria, con);
     }
 
     /**
@@ -82,11 +84,11 @@ public abstract class DefaultAbstractTur
      *
      * @return a list of User/Group/Role relations
      */
-    protected List<org.apache.fulcrum.security.torque.om.TurbineUserGroupRole> getTurbineUserGroupRolesJoinTurbineGroup(Criteria criteria, Connection con)
-        throws TorqueException
+    protected <T extends TurbineUserGroupRoleModelPeerMapper> List<T> getTurbineUserGroupRolesJoinTurbineGroup(Criteria criteria, Connection con)
+            throws TorqueException, DataBackendException
     {
         criteria.and(TurbineUserGroupRolePeer.ROLE_ID, getEntityId() );
-        return TurbineUserGroupRolePeer.doSelectJoinTurbineGroup(criteria, con);
+        return (List<T>) TurbineUserGroupRolePeer.doSelectJoinTurbineGroup(criteria, con);
     }
 
     /**
@@ -178,9 +180,9 @@ public abstract class DefaultAbstractTur
         this.permissionSet = new PermissionSet();
 
         try {
-            List<TurbineRolePermission> rolepermissions = getTurbineRolePermissionsJoinTurbinePermission(new Criteria(), con);
+            List<TurbineRolePermissionPeerMapper> rolepermissions = getTurbineRolePermissionsJoinTurbinePermission(new Criteria(), con);
     
-            for (TurbineRolePermission ttrp : rolepermissions)
+            for (TurbineRolePermissionPeerMapper ttrp : rolepermissions)
             {
                 permissionSet.add(ttrp.getTurbinePermission());
             }
@@ -188,9 +190,9 @@ public abstract class DefaultAbstractTur
             if (!lazy) {
                 Set<TurbineUserGroupRole> userGroupRoleSet = new HashSet<TurbineUserGroupRole>();
         
-                List<org.apache.fulcrum.security.torque.om.TurbineUserGroupRole> ugrs = getTurbineUserGroupRolesJoinTurbineGroup(new Criteria(), con);
+                List<TurbineUserGroupRoleModelPeerMapper> ugrs = getTurbineUserGroupRolesJoinTurbineGroup(new Criteria(), con);
         
-                for (org.apache.fulcrum.security.torque.om.TurbineUserGroupRole ttugr : ugrs)
+                for (TurbineUserGroupRoleModelPeerMapper ttugr : ugrs)
                 {
                     TurbineUserGroupRole ugr = new TurbineUserGroupRole();
                     ugr.setRole(this);

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=1872712&r1=1872711&r2=1872712&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 13 15:34:31 2020
@@ -120,7 +120,7 @@ public abstract class DefaultAbstractTur
     public void retrieveAttachedObjects( Connection con )
         throws DataBackendException, TorqueException
     {
-        retrieveAttachedObjects( con, false ); //false
+        retrieveAttachedObjects( con, false );
     }
 
     /* (non-Javadoc)

Modified: turbine/fulcrum/trunk/security/torque/src/test/log4j2-test.xml
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/log4j2-test.xml?rev=1872712&r1=1872711&r2=1872712&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/test/log4j2-test.xml (original)
+++ turbine/fulcrum/trunk/security/torque/src/test/log4j2-test.xml Mon Jan 13 15:34:31 2020
@@ -22,13 +22,13 @@
       <Console name="console" target="SYSTEM_OUT">
         <PatternLayout pattern="%d [%t] %-5p %c - %m%n"/>
       </Console>
-      <File name="fulcrum" fileName="target/fulcrum.log">
+      <File name="fulcrum" fileName="./target/fulcrum.log">
         <PatternLayout pattern="%d [%t] %-5p %c - %m%n"/>
       </File>
-      <File name="torque" fileName="target/torque.log">
+      <File name="torque" fileName="./target/torque.log">
         <PatternLayout pattern="%d [%t] %-5p %c - %m%n"/>
       </File>
-      <File name="avalon" fileName="target/avalon.log">
+      <File name="avalon" fileName="./target/avalon.log">
         <PatternLayout pattern="%d [%t] %-5p %c - %m%n"/>
       </File>
     </Appenders>

Added: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TorquePeerTurbineModelManagerTest.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TorquePeerTurbineModelManagerTest.java?rev=1872712&view=auto
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TorquePeerTurbineModelManagerTest.java (added)
+++ turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TorquePeerTurbineModelManagerTest.java Mon Jan 13 15:34:31 2020
@@ -0,0 +1,175 @@
+package org.apache.fulcrum.security.torque.turbine.model;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
+
+import org.apache.fulcrum.security.SecurityService;
+import org.apache.fulcrum.security.model.turbine.test.AbstractTurbineModelManagerTest;
+import org.apache.fulcrum.security.torque.HsqlDB;
+import org.apache.fulcrum.security.torque.TorqueAbstractGroupManager;
+import org.apache.fulcrum.security.torque.TorqueAbstractPermissionManager;
+import org.apache.fulcrum.security.torque.TorqueAbstractRoleManager;
+import org.apache.fulcrum.security.torque.TorqueAbstractUserManager;
+import org.apache.fulcrum.security.torque.om.TorqueTurbineGroupPeer;
+import org.apache.fulcrum.security.torque.om.TorqueTurbinePermissionPeer;
+import org.apache.fulcrum.security.torque.om.TorqueTurbineRolePeer;
+import org.apache.fulcrum.security.torque.om.TorqueTurbineRolePermissionPeer;
+import org.apache.fulcrum.security.torque.om.TorqueTurbineUserGroupRolePeer;
+import org.apache.fulcrum.security.torque.om.TorqueTurbineUserPeer;
+import org.apache.fulcrum.security.torque.peer.PeerManagable;
+import org.apache.fulcrum.security.torque.peer.managers.PeerGroupManager;
+import org.apache.fulcrum.security.torque.peer.managers.PeerPermissionManager;
+import org.apache.fulcrum.security.torque.peer.managers.PeerRoleManager;
+import org.apache.fulcrum.security.torque.peer.managers.PeerUserManager;
+import org.apache.torque.TorqueException;
+import org.apache.torque.criteria.Criteria;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+/**
+ * Test with @link {@link #customPeers} requires at least Torque version 4.1.
+ * 
+ * @author <a href="mailto:tv@apache.org">Thomas Vandahl</a>
+ * @author <a href="jh@byteaction.de">J&#252;rgen Hoffmann</a>
+ * @version $Id$
+ */
+public class TorquePeerTurbineModelManagerTest
+    extends AbstractTurbineModelManagerTest
+{
+    protected static HsqlDB hsqlDB = null;
+
+    public static boolean customPeers = false;
+
+    @BeforeEach
+    public void setUp()
+        throws Exception
+    {
+        try
+        {
+            hsqlDB = new HsqlDB( "src/test/fulcrum-turbine-schema.sql" );
+            hsqlDB.addSQL( "src/test/id-table-schema.sql" );
+            hsqlDB.addSQL( "src/test/fulcrum-turbine-schema-idtable-init.sql" );
+
+            this.setRoleFileName( "src/test/TurbineTorqueRoleConfig.xml" );
+
+            if ( customPeers )
+                this.setConfigurationFileName( "src/test/TurbineTorqueWithPeersComponentConfig.xml" );
+            else
+                this.setConfigurationFileName( "src/test/TurbineTorqueComponentConfig.xml" );
+
+            // The successful Test requires that the PeerImpl classes (in configuration file) implement the interface
+            // TorqueTurbinePeer,
+            // cft. ClassCastException messages.
+            // (interfaces could not yet automatically generated into Peers with Torque, cft JIRA Issue TORQUE-309).
+
+            securityService = (SecurityService) lookup( SecurityService.ROLE );
+            super.setUp();
+        }
+        catch ( Exception e )
+        {
+            fail( e.toString() );
+        }
+
+    }
+
+    @Test
+    public void testCustomPeerSet()
+    {
+        if ( roleManager instanceof TorqueAbstractRoleManager )
+        {
+            assertTrue( ( (PeerRoleManager) roleManager ).getCustomPeer() == customPeers,
+                        "If a custom Peer for RoleManager should be tested, a peerClassName element should be set in the configuration file for roleManager." );
+        }
+        if ( roleManager instanceof PeerManagable )
+        {
+            assertNotNull( ( (PeerManagable) roleManager ).getPeerManager() );
+        }
+        if ( userManager instanceof TorqueAbstractUserManager )
+        {
+            assertTrue( ( (PeerUserManager) userManager ).getCustomPeer() == customPeers,
+                        "If a custom Peer for UserManager should be tested, a peerClassName element should be set in the configuration file for userManager." );
+        }
+        if ( userManager instanceof PeerManagable )
+        {
+            assertNotNull( ( (PeerManagable) userManager ).getPeerManager() );
+        }
+        if ( groupManager instanceof TorqueAbstractGroupManager )
+        {
+            assertTrue( ( (PeerGroupManager) groupManager ).getCustomPeer() == customPeers,
+                        "If a custom Peer for GroupManager should be tested, a peerClassName element should be set in the configuration file for groupManager." );
+        }
+        if ( groupManager instanceof PeerManagable )
+        {
+            assertNotNull( ( (PeerManagable) groupManager ).getPeerManager() );
+        }
+        if ( permissionManager instanceof TorqueAbstractPermissionManager )
+        {
+            assertTrue( ( (PeerPermissionManager) permissionManager ).getCustomPeer() == customPeers,
+                        "If a custom Peer for PermissionManager should be tested, a peerClassName element should be set in the configuration file for permissionManager." );
+        }
+        if ( permissionManager instanceof PeerManagable )
+        {
+            assertNotNull( ( (PeerManagable) permissionManager ).getPeerManager() );
+        }
+    }
+
+    @AfterEach
+    public void tearDown()
+    {
+        // cleanup tables
+        try
+        {
+            Criteria criteria = new Criteria();
+            criteria.where( TorqueTurbineUserGroupRolePeer.USER_ID, -1, Criteria.GREATER_THAN );
+            TorqueTurbineUserGroupRolePeer.doDelete( criteria );
+
+            criteria = new Criteria();
+            criteria.where( TorqueTurbineRolePermissionPeer.ROLE_ID, 0, Criteria.GREATER_THAN );
+            TorqueTurbineRolePermissionPeer.doDelete( criteria );
+
+            criteria = new Criteria();
+            criteria.where( TorqueTurbineUserPeer.USER_ID, 0, Criteria.GREATER_THAN );
+            TorqueTurbineUserPeer.doDelete( criteria );
+
+            criteria = new Criteria();
+            criteria.where( TorqueTurbineGroupPeer.GROUP_ID, 0, Criteria.GREATER_THAN );
+            TorqueTurbineGroupPeer.doDelete( criteria );
+
+            criteria = new Criteria();
+            criteria.where( TorqueTurbineRolePeer.ROLE_ID, 0, Criteria.GREATER_THAN );
+            TorqueTurbineRolePeer.doDelete( criteria );
+
+            criteria = new Criteria();
+            criteria.where( TorqueTurbinePermissionPeer.PERMISSION_ID, 0, Criteria.GREATER_THAN );
+            TorqueTurbinePermissionPeer.doDelete( criteria );
+        }
+        catch ( TorqueException e )
+        {
+            fail( e.toString() );
+        }
+
+        modelManager = null;
+        securityService = null;
+    }
+
+}

Propchange: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TorquePeerTurbineModelManagerTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TorqueTurbineModelManagerTest.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TorqueTurbineModelManagerTest.java?rev=1872712&view=auto
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TorqueTurbineModelManagerTest.java (added)
+++ turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TorqueTurbineModelManagerTest.java Mon Jan 13 15:34:31 2020
@@ -0,0 +1,108 @@
+package org.apache.fulcrum.security.torque.turbine.model;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+
+import static org.junit.jupiter.api.Assertions.fail;
+
+import org.apache.fulcrum.security.SecurityService;
+import org.apache.fulcrum.security.model.turbine.test.AbstractTurbineModelManagerTest;
+import org.apache.fulcrum.security.torque.HsqlDB;
+import org.apache.fulcrum.security.torque.om.TorqueTurbineGroupPeer;
+import org.apache.fulcrum.security.torque.om.TorqueTurbinePermissionPeer;
+import org.apache.fulcrum.security.torque.om.TorqueTurbineRolePeer;
+import org.apache.fulcrum.security.torque.om.TorqueTurbineRolePermissionPeer;
+import org.apache.fulcrum.security.torque.om.TorqueTurbineUserGroupRolePeer;
+import org.apache.fulcrum.security.torque.om.TorqueTurbineUserPeer;
+import org.apache.torque.TorqueException;
+import org.apache.torque.criteria.Criteria;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+
+/**
+ * @author <a href="mailto:tv@apache.org">Thomas Vandahl</a>
+ * @author <a href="jh@byteaction.de">J&#252;rgen Hoffmann</a>
+ * @version $Id:$
+ */
+public class TorqueTurbineModelManagerTest
+    extends AbstractTurbineModelManagerTest
+{
+    protected static HsqlDB hsqlDB = null;
+
+	@BeforeEach
+	public void setUp() throws Exception
+    {
+        try
+        {
+            hsqlDB = new HsqlDB("src/test/fulcrum-turbine-schema.sql");
+            hsqlDB.addSQL("src/test/id-table-schema.sql");
+            hsqlDB.addSQL("src/test/fulcrum-turbine-schema-idtable-init.sql");
+
+            this.setRoleFileName("src/test/TurbineTorqueRoleConfig.xml");
+            this.setConfigurationFileName("src/test/TurbineTorqueComponentConfig.xml");
+            securityService = (SecurityService) lookup(SecurityService.ROLE);
+            super.setUp();
+        }
+        catch (Exception e)
+        {
+        	fail(e.toString());
+        }
+
+    }
+
+	@AfterEach
+	public void tearDown()
+    {
+        // cleanup tables
+        try
+        {
+            Criteria criteria = new Criteria();
+            criteria.where(TorqueTurbineUserGroupRolePeer.USER_ID, -1, Criteria.GREATER_THAN);
+            TorqueTurbineUserGroupRolePeer.doDelete(criteria);
+
+            criteria = new Criteria();
+            criteria.where(TorqueTurbineRolePermissionPeer.ROLE_ID, 0, Criteria.GREATER_THAN);
+            TorqueTurbineRolePermissionPeer.doDelete(criteria);
+
+            criteria = new Criteria();
+            criteria.where(TorqueTurbineUserPeer.USER_ID, 0, Criteria.GREATER_THAN);
+            TorqueTurbineUserPeer.doDelete(criteria);
+
+            criteria = new Criteria();
+            criteria.where(TorqueTurbineGroupPeer.GROUP_ID, 0, Criteria.GREATER_THAN);
+            TorqueTurbineGroupPeer.doDelete(criteria);
+
+            criteria = new Criteria();
+            criteria.where(TorqueTurbineRolePeer.ROLE_ID, 0, Criteria.GREATER_THAN);
+            TorqueTurbineRolePeer.doDelete(criteria);
+
+            criteria = new Criteria();
+            criteria.where(TorqueTurbinePermissionPeer.PERMISSION_ID, 0, Criteria.GREATER_THAN);
+            TorqueTurbinePermissionPeer.doDelete(criteria);
+        }
+        catch (TorqueException e)
+        {
+        	fail(e.toString());
+        }
+
+        modelManager = null;
+        securityService = null;
+    }
+
+}

Propchange: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TorqueTurbineModelManagerTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TurbineACLFactoryTest.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TurbineACLFactoryTest.java?rev=1872712&view=auto
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TurbineACLFactoryTest.java (added)
+++ turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TurbineACLFactoryTest.java Mon Jan 13 15:34:31 2020
@@ -0,0 +1,122 @@
+package org.apache.fulcrum.security.torque.turbine.model;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import org.apache.fulcrum.security.SecurityService;
+import org.apache.fulcrum.security.acl.AccessControlList;
+import org.apache.fulcrum.security.entity.Group;
+import org.apache.fulcrum.security.model.ACLFactory;
+import org.apache.fulcrum.security.model.ACLFactoryTest;
+import org.apache.fulcrum.security.model.turbine.TurbineAccessControlList;
+import org.apache.fulcrum.security.model.turbine.TurbineModelManager;
+import org.apache.fulcrum.security.model.turbine.entity.TurbineGroup;
+import org.apache.fulcrum.security.model.turbine.entity.TurbinePermission;
+import org.apache.fulcrum.security.model.turbine.entity.TurbineRole;
+import org.apache.fulcrum.security.model.turbine.entity.TurbineUser;
+import org.apache.fulcrum.security.model.turbine.entity.TurbineUserGroupRole;
+import org.apache.fulcrum.security.torque.HsqlDB;
+import org.apache.fulcrum.testcontainer.BaseUnit5Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+/**
+ * Test user with attached object (user-role-goup relationship)
+ * 
+ * Compare difference to {@link ACLFactoryTest}.
+ * 
+ * @author <a href="mailto:gk@apache.org">Georg Kallidis</a>
+ * @version $Id$
+ */
+public class TurbineACLFactoryTest extends BaseUnit5Test
+
+{
+    protected static HsqlDB hsqlDB = null;
+    
+    protected SecurityService securityService;
+    
+    @BeforeEach
+    public void setup() throws Exception {
+        
+        hsqlDB = new HsqlDB( "src/test/fulcrum-turbine-default-schema.sql" );
+        
+        this.setRoleFileName( "src/test/TurbineTorqueRoleConfig.xml" );
+        this.setConfigurationFileName( "src/test/TurbineDefaultWithPeersComponentConfig.xml" );
+        
+        securityService = (SecurityService) lookup( SecurityService.ROLE );
+        
+    }
+    
+    @Test
+    public void testCreatingTurbineACLandModel() throws Exception
+    {
+
+        ACLFactory factory = (ACLFactory) lookup(ACLFactory.ROLE);
+        
+        TurbineModelManager modelManager  = (TurbineModelManager) lookup(TurbineModelManager.ROLE);
+        assertTrue(modelManager.getGlobalGroupName().equals("global"));
+        
+        Group global = securityService.getGroupManager().getGroupInstance("global");
+        global.setId(new Integer(1));
+        securityService.getGroupManager().addGroup(global);
+        
+        TurbineUser user = securityService.getUserManager().getUserInstance("Bob");
+        user.setId(new Integer(1));
+        securityService.getUserManager().addUser(user, "mypw");
+        
+        TurbineGroup group = securityService.getGroupManager().getGroupInstance("group1");
+        group.setId(new Integer(2));
+        securityService.getGroupManager().addGroup(group);
+        
+        TurbineRole role = securityService.getRoleManager().getRoleInstance();
+        role.setName("role1");
+        role.setId(new Integer(1));
+        securityService.getRoleManager().addRole( role );
+        
+        TurbinePermission permission = securityService.getPermissionManager().getPermissionInstance();
+        permission.setName("permission1");
+        permission.setId(new Integer(1)); 
+        securityService.getPermissionManager().addPermission(permission);
+
+        role.addPermission(permission);
+        
+        // need to save it as TurbineAccessControlListImpl refreshes role permission set! 
+        securityService.<TurbineModelManager> getModelManager().grant(role, permission);
+        
+        TurbineUserGroupRole ugr = new TurbineUserGroupRole();
+        ugr.setGroup(group);
+        ugr.setRole(role);
+        ugr.setUser(user);
+        user.addUserGroupRole(ugr);
+        
+        securityService.<TurbineModelManager> getModelManager().grant( user, group, role );
+        
+        //securityService.getUserManager().saveUser(user);
+        
+        AccessControlList acl = factory.getAccessControlList(user);
+        
+        assertTrue(acl instanceof TurbineAccessControlList);
+        
+        TurbineAccessControlList tacl = (TurbineAccessControlList) acl;
+        
+        assertTrue(tacl.hasPermission(permission, group));
+    }
+
+}

Propchange: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TurbineACLFactoryTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TurbineDefaultModelManagerLazyTest.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TurbineDefaultModelManagerLazyTest.java?rev=1872712&view=auto
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TurbineDefaultModelManagerLazyTest.java (added)
+++ turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TurbineDefaultModelManagerLazyTest.java Mon Jan 13 15:34:31 2020
@@ -0,0 +1,130 @@
+package org.apache.fulcrum.security.torque.turbine.model;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import static org.junit.jupiter.api.Assertions.fail;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+
+import org.apache.fulcrum.security.SecurityService;
+import org.apache.fulcrum.security.model.turbine.test.AbstractTurbineModelManagerTest;
+import org.apache.fulcrum.security.torque.HsqlDB;
+import org.apache.fulcrum.security.torque.om.TurbineGroupPeer;
+import org.apache.fulcrum.security.torque.om.TurbinePermissionPeer;
+import org.apache.fulcrum.security.torque.om.TurbineRolePeer;
+import org.apache.fulcrum.security.torque.om.TurbineRolePermissionPeer;
+import org.apache.fulcrum.security.torque.om.TurbineUserGroupRolePeer;
+import org.apache.fulcrum.security.torque.om.TurbineUserPeer;
+import org.apache.torque.TorqueException;
+import org.apache.torque.criteria.Criteria;
+import org.apache.torque.util.Transaction;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+
+/**
+ * @author <a href="mailto:tv@apache.org">Thomas Vandahl</a>
+ * @author <a href="jh@byteaction.de">J&#252;rgen Hoffmann</a>
+ * @version $Id$
+ */
+public class TurbineDefaultModelManagerLazyTest
+    extends AbstractTurbineModelManagerTest
+{
+    protected static HsqlDB hsqlDB = null;
+
+    @BeforeEach
+    public void setUp()
+        throws Exception
+    {
+
+        try
+        {
+            hsqlDB = new HsqlDB( "src/test/fulcrum-turbine-default-schema.sql" );
+            // we do not need id-broker,set native in schema and added identity in hsql
+            // same for both flavors
+            this.setRoleFileName( "src/test/TurbineTorqueRoleConfig.xml" );
+            // we have to use declared peers
+            this.setConfigurationFileName( "src/test/TurbineDefaultLazyWithPeersComponentConfig.xml" );
+            securityService = (SecurityService) lookup( SecurityService.ROLE );
+            super.setUp();
+        }
+        catch ( Exception e )
+        {
+            fail( e.toString() );
+        }
+
+    }
+
+    @AfterEach
+    public void tearDown()
+    {
+        // cleanup tables
+        Connection con = null;
+        try
+        {
+            con = Transaction.begin();// "default"
+
+            Criteria criteria = new Criteria();
+            criteria.where( TurbineUserGroupRolePeer.USER_ID, -1, Criteria.GREATER_THAN );
+
+            TurbineUserGroupRolePeer.doDelete( criteria, con );
+
+            criteria = new Criteria();
+            criteria.where( TurbineRolePermissionPeer.ROLE_ID, -1, Criteria.GREATER_THAN );
+            TurbineRolePermissionPeer.doDelete( criteria, con );
+
+            criteria = new Criteria();
+            criteria.where( TurbineUserPeer.USER_ID, 0, Criteria.GREATER_THAN );
+            TurbineUserPeer.doDelete( criteria, con );
+
+            criteria = new Criteria();
+            criteria.where( TurbineGroupPeer.GROUP_ID, 0, Criteria.GREATER_THAN );
+            TurbineGroupPeer.doDelete( criteria, con );
+
+            criteria = new Criteria();
+            criteria.where( TurbineRolePeer.ROLE_ID, 0, Criteria.GREATER_THAN );
+            TurbineRolePeer.doDelete( criteria, con );
+
+            criteria = new Criteria();
+            criteria.where( TurbinePermissionPeer.PERMISSION_ID, 0, Criteria.GREATER_THAN );
+            TurbinePermissionPeer.doDelete( criteria, con );
+
+            con.commit();
+            con = null;
+
+            super.tearDown();
+        }
+        catch ( TorqueException e )
+        {
+            fail( e.toString() );
+        }
+        catch ( SQLException e )
+        {
+            if ( con != null )
+            {
+                Transaction.safeRollback( con );
+            }
+            fail( e.toString() );
+        }
+
+        modelManager = null;
+        securityService = null;
+    }
+
+}

Propchange: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TurbineDefaultModelManagerLazyTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TurbineDefaultModelManagerTest.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TurbineDefaultModelManagerTest.java?rev=1872712&view=auto
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TurbineDefaultModelManagerTest.java (added)
+++ turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TurbineDefaultModelManagerTest.java Mon Jan 13 15:34:31 2020
@@ -0,0 +1,133 @@
+package org.apache.fulcrum.security.torque.turbine.model;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import static org.junit.jupiter.api.Assertions.fail;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+
+import org.apache.fulcrum.security.SecurityService;
+import org.apache.fulcrum.security.model.turbine.test.AbstractTurbineModelManagerTest;
+import org.apache.fulcrum.security.torque.HsqlDB;
+import org.apache.fulcrum.security.torque.om.TurbineGroupPeer;
+import org.apache.fulcrum.security.torque.om.TurbinePermissionPeer;
+import org.apache.fulcrum.security.torque.om.TurbineRolePeer;
+import org.apache.fulcrum.security.torque.om.TurbineRolePermissionPeer;
+import org.apache.fulcrum.security.torque.om.TurbineUserGroupRolePeer;
+import org.apache.fulcrum.security.torque.om.TurbineUserPeer;
+import org.apache.torque.TorqueException;
+import org.apache.torque.criteria.Criteria;
+import org.apache.torque.util.Transaction;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+
+/**
+ * @author <a href="mailto:tv@apache.org">Thomas Vandahl</a>
+ * @author <a href="jh@byteaction.de">J&#252;rgen Hoffmann</a>
+ * @version $Id$
+ */
+public class TurbineDefaultModelManagerTest
+    extends AbstractTurbineModelManagerTest
+{
+    protected static HsqlDB hsqlDB = null;
+
+    @Override
+    @BeforeEach
+    public void setUp()
+        throws Exception
+    {
+        try
+        {
+            hsqlDB = new HsqlDB( "src/test/fulcrum-turbine-default-schema.sql" );
+            // we do not need id-broker,set native in schema and added identity in hsql
+            // same for both flavors
+            this.setRoleFileName( "src/test/TurbineTorqueRoleConfig.xml" );
+            // we have to use declared peers
+            this.setConfigurationFileName( "src/test/TurbineDefaultWithPeersComponentConfig.xml" );
+            securityService = (SecurityService) lookup( SecurityService.ROLE );
+            
+            super.setUp();
+        }
+        catch ( Exception e )
+        {
+            fail( e.toString() );
+        }
+
+    }
+
+    @Override
+    @AfterEach
+    public void tearDown()
+    {
+        // cleanup tables
+        Connection con = null;
+        try
+        {
+            con = Transaction.begin();// "default"
+
+            Criteria criteria = new Criteria();
+            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 );
+            TurbineRolePermissionPeer.doDelete( criteria, con );
+
+            criteria = new Criteria();
+            criteria.where( TurbineUserPeer.USER_ID, 0, Criteria.GREATER_THAN );
+            TurbineUserPeer.doDelete( criteria, con );
+
+            criteria = new Criteria();
+            criteria.where( TurbineGroupPeer.GROUP_ID, 0, Criteria.GREATER_THAN );
+            TurbineGroupPeer.doDelete( criteria, con );
+
+            criteria = new Criteria();
+            criteria.where( TurbineRolePeer.ROLE_ID, 0, Criteria.GREATER_THAN );
+            TurbineRolePeer.doDelete( criteria, con );
+
+            criteria = new Criteria();
+            criteria.where( TurbinePermissionPeer.PERMISSION_ID, 0, Criteria.GREATER_THAN );
+            TurbinePermissionPeer.doDelete( criteria, con );
+
+            con.commit();
+            con = null;
+
+            super.tearDown();
+        }
+        catch ( TorqueException e )
+        {
+            e.printStackTrace();
+            fail( e.getMessage() );
+        }
+        catch ( SQLException e )
+        {
+            if ( con != null )
+            {
+                Transaction.safeRollback( con );
+            }
+            fail( e.toString() );
+        }
+
+        modelManager = null;
+        securityService = null;
+    }
+
+}

Propchange: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/model/TurbineDefaultModelManagerTest.java
------------------------------------------------------------------------------
    svn:eol-style = native