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:[email protected]";>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:[email protected]";>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="[email protected]">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:[email protected]";>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:[email protected]";>Thomas Vandahl</a>
+ * @author <a href="[email protected]">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:[email protected]";>Thomas Vandahl</a>
+ * @author <a href="[email protected]">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:[email protected]";>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:[email protected]";>Thomas Vandahl</a>
+ * @author <a href="[email protected]">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:[email protected]";>Thomas Vandahl</a>
+ * @author <a href="[email protected]">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


Reply via email to