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 2016/05/13 14:52:08 UTC

svn commit: r1743685 - in /turbine/fulcrum/trunk/security/torque/src: java/org/apache/fulcrum/security/torque/ java/org/apache/fulcrum/security/torque/peer/ java/org/apache/fulcrum/security/torque/peer/managers/ java/org/apache/fulcrum/security/torque/...

Author: gk
Date: Fri May 13 14:52:08 2016
New Revision: 1743685

URL: http://svn.apache.org/viewvc?rev=1743685&view=rev
Log:
- extract configurable Peer managers 

Added:
    turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/managers/
    turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/managers/PeerGroupManager.java   (with props)
    turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/managers/PeerPermissionManager.java   (with props)
    turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/managers/PeerRoleManager.java   (with props)
    turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/managers/PeerUserManager.java   (with props)
Modified:
    turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/TorqueAbstractGroupManager.java
    turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/TorqueAbstractPermissionManager.java
    turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/TorqueAbstractRoleManager.java
    turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/TorqueAbstractUserManager.java
    turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/PeerManagable.java
    turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/TorqueTurbinePeer.java
    turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineGroupManagerImpl.java
    turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbinePermissionManagerImpl.java
    turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineRoleManagerImpl.java
    turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineUserManagerImpl.java
    turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TorquePeerTurbineModelManagerTest.java

Modified: turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/TorqueAbstractGroupManager.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/TorqueAbstractGroupManager.java?rev=1743685&r1=1743684&r2=1743685&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/TorqueAbstractGroupManager.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/TorqueAbstractGroupManager.java Fri May 13 14:52:08 2016
@@ -39,47 +39,20 @@ import org.apache.torque.util.Transactio
  * @author <a href="mailto:tv@apache.org">Thomas Vandahl</a>
  * @version $Id:$
  */
-public abstract class TorqueAbstractGroupManager extends AbstractGroupManager
+public abstract class TorqueAbstractGroupManager extends AbstractGroupManager 
 {
     
-    private Boolean customPeer = false;  //  used for torque which uses per object peer classes
-    
-    private String peerClassName;
-    private static final String PEER_CLASS_NAME_KEY = "peerClassName";
     
     /**
      * Avalon Service lifecycle method
      */
-    public void configure(Configuration conf) throws ConfigurationException
+    @Override
+	public void configure(Configuration conf) throws ConfigurationException
     {
        super.configure( conf );
-       
-        peerClassName = conf.getChild( PEER_CLASS_NAME_KEY).getValue( null );
-        if (peerClassName != null) {
-            setPeerClassName( peerClassName );
-            setCustomPeer(true);
-        } 
-    }
-    
-    public Boolean getCustomPeer()
-    {
-        return customPeer;
-    }
 
-    public void setCustomPeer( Boolean customPeer )
-    {
-        this.customPeer = customPeer;
-    }
-
-    public String getPeerClassName()
-    {
-        return peerClassName;
-    }
-
-    public void setPeerClassName( String peerClassName )
-    {
-        this.peerClassName = peerClassName;
     }
+    
     /**
      * Get all specialized Groups
      *
@@ -131,7 +104,8 @@ public abstract class TorqueAbstractGrou
     *         backend.
     * @throws EntityExistsException if the group already exists.
     */
-    protected synchronized <T extends Group> T persistNewGroup(T group) throws DataBackendException
+    @Override
+	protected synchronized <T extends Group> T persistNewGroup(T group) throws DataBackendException
     {
         try
         {
@@ -154,7 +128,8 @@ public abstract class TorqueAbstractGrou
     *         backend.
     * @throws UnknownEntityException if the group does not exist.
     */
-    public synchronized void renameGroup(Group group, String name) throws DataBackendException, UnknownEntityException
+    @Override
+	public synchronized void renameGroup(Group group, String name) throws DataBackendException, UnknownEntityException
     {
         if (checkExists(group))
         {
@@ -185,7 +160,8 @@ public abstract class TorqueAbstractGrou
     *         backend.
     * @throws UnknownEntityException if the group does not exist.
     */
-    public synchronized void removeGroup(Group group) throws DataBackendException, UnknownEntityException
+    @Override
+	public synchronized void removeGroup(Group group) throws DataBackendException, UnknownEntityException
     {
         try
         {
@@ -206,7 +182,8 @@ public abstract class TorqueAbstractGrou
      *         data backend.
      * @throws UnknownEntityException if the group does not exist.
      */
-    public <T extends Group> T getGroupByName(String name) throws DataBackendException, UnknownEntityException
+    @Override
+	public <T extends Group> T getGroupByName(String name) throws DataBackendException, UnknownEntityException
     {
         T group = null;
         Connection con = null;
@@ -253,7 +230,8 @@ public abstract class TorqueAbstractGrou
      * @throws DataBackendException if there was an error accessing the
      *         data backend.
      */
-    public GroupSet getAllGroups() throws DataBackendException
+    @Override
+	public GroupSet getAllGroups() throws DataBackendException
     {
         GroupSet groupSet = new GroupSet();
         Connection con = null;
@@ -298,7 +276,8 @@ public abstract class TorqueAbstractGrou
      * @throws DataBackendException when more than one Group with
      *         the same name exists.
      */
-    public boolean checkExists(String groupName) throws DataBackendException
+    @Override
+	public boolean checkExists(String groupName) throws DataBackendException
     {
         boolean exists = false;
 
@@ -350,7 +329,8 @@ public abstract class TorqueAbstractGrou
      * @throws UnknownEntityException
      *             if the group does not exist.
      */
-    public <T extends Group> T getGroupById(Object id) throws DataBackendException, UnknownEntityException
+    @Override
+	public <T extends Group> T getGroupById(Object id) throws DataBackendException, UnknownEntityException
     {
         T group;
 

Modified: turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/TorqueAbstractPermissionManager.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/TorqueAbstractPermissionManager.java?rev=1743685&r1=1743684&r2=1743685&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/TorqueAbstractPermissionManager.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/TorqueAbstractPermissionManager.java Fri May 13 14:52:08 2016
@@ -40,44 +40,17 @@ import org.apache.torque.util.Transactio
  */
 public abstract class TorqueAbstractPermissionManager extends AbstractPermissionManager
 {
-    private Boolean customPeer = false;  //  used for torque which uses per object peer classes
-    
-    private String peerClassName;
-    private static final String PEER_CLASS_NAME_KEY = "peerClassName";
     
     /**
      * Avalon Service lifecycle method
-     */
-    public void configure(Configuration conf) throws ConfigurationException
+     */ 
+    @Override
+	public void configure(Configuration conf) throws ConfigurationException
     {
        super.configure( conf );
-       
-        peerClassName = conf.getChild( PEER_CLASS_NAME_KEY).getValue( null );
-        if (peerClassName != null) {
-            setPeerClassName( peerClassName );
-            setCustomPeer(true);
-        } 
-    }
-    
-    public Boolean getCustomPeer()
-    {
-        return customPeer;
-    }
-
-    public void setCustomPeer( Boolean customPeer )
-    {
-        this.customPeer = customPeer;
-    }
 
-    public String getPeerClassName()
-    {
-        return peerClassName;
-    }
-
-    public void setPeerClassName( String peerClassName )
-    {
-        this.peerClassName = peerClassName;
     }
+    
     /**
      * Get all specialized Permissions
      *
@@ -132,7 +105,8 @@ public abstract class TorqueAbstractPerm
      * @throws UnknownEntityException
      *             if the permission does not exist.
      */
-    public synchronized void renamePermission(Permission permission, String name) throws DataBackendException, UnknownEntityException
+    @Override
+	public synchronized void renamePermission(Permission permission, String name) throws DataBackendException, UnknownEntityException
     {
         if (checkExists(permission))
         {
@@ -165,7 +139,8 @@ public abstract class TorqueAbstractPerm
      * @throws UnknownEntityException
      *             if the permission does not exist.
      */
-    public synchronized void removePermission(Permission permission) throws DataBackendException, UnknownEntityException
+    @Override
+	public synchronized void removePermission(Permission permission) throws DataBackendException, UnknownEntityException
     {
         if (checkExists(permission))
         {
@@ -195,7 +170,8 @@ public abstract class TorqueAbstractPerm
      * @throws EntityExistsException
      *             if the permission already exists.
      */
-    protected synchronized <T extends Permission> T persistNewPermission(T permission) throws DataBackendException
+    @Override
+	protected synchronized <T extends Permission> T persistNewPermission(T permission) throws DataBackendException
     {
         try
         {
@@ -216,7 +192,8 @@ public abstract class TorqueAbstractPerm
      * @throws DataBackendException
      *             if there was an error accessing the data backend.
      */
-    public PermissionSet getAllPermissions() throws DataBackendException
+    @Override
+	public PermissionSet getAllPermissions() throws DataBackendException
     {
         PermissionSet permissionSet = new PermissionSet();
         Connection con = null;
@@ -266,7 +243,8 @@ public abstract class TorqueAbstractPerm
      * @throws DataBackendException
      *             when more than one Permission with the same name exists.
      */
-    public boolean checkExists(String permissionName) throws DataBackendException
+    @Override
+	public boolean checkExists(String permissionName) throws DataBackendException
     {
         boolean exists = false;
 
@@ -321,7 +299,8 @@ public abstract class TorqueAbstractPerm
      * @throws UnknownEntityException
      *             if the permission does not exist.
      */
-    public <T extends Permission> T getPermissionById(Object id) throws DataBackendException, UnknownEntityException
+    @Override
+	public <T extends Permission> T getPermissionById(Object id) throws DataBackendException, UnknownEntityException
     {
         T permission;
 
@@ -374,7 +353,8 @@ public abstract class TorqueAbstractPerm
      *         data backend.
      * @throws UnknownEntityException if the group does not exist.
      */
-    public <T extends Permission> T getPermissionByName(String name) throws DataBackendException, UnknownEntityException
+    @Override
+	public <T extends Permission> T getPermissionByName(String name) throws DataBackendException, UnknownEntityException
     {
         T permission = null;
         Connection con = null;

Modified: turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/TorqueAbstractRoleManager.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/TorqueAbstractRoleManager.java?rev=1743685&r1=1743684&r2=1743685&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/TorqueAbstractRoleManager.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/TorqueAbstractRoleManager.java Fri May 13 14:52:08 2016
@@ -38,46 +38,19 @@ import org.apache.torque.util.Transactio
  * @author <a href="mailto:tv@apache.org">Thomas Vandahl</a>
  * @version $Id:$
  */
-public abstract class TorqueAbstractRoleManager extends AbstractRoleManager
+public abstract class TorqueAbstractRoleManager extends AbstractRoleManager 
 {
-    private Boolean customPeer = false;  //  used for torque which uses per object peer classes
-    
-    private String peerClassName;
-    private static final String PEER_CLASS_NAME_KEY = "peerClassName";
     
     /**
      * Avalon Service lifecycle method
      */
-    public void configure(Configuration conf) throws ConfigurationException
+    @Override
+	public void configure(Configuration conf) throws ConfigurationException
     {
        super.configure( conf );
-       
-        peerClassName = conf.getChild( PEER_CLASS_NAME_KEY).getValue( null );
-        if (peerClassName != null) {
-            setPeerClassName( peerClassName );
-            setCustomPeer(true);
-        } 
+ 
     }
     
-    public Boolean getCustomPeer()
-    {
-        return customPeer;
-    }
-
-    public void setCustomPeer( Boolean customPeer )
-    {
-        this.customPeer = customPeer;
-    }
-
-    public String getPeerClassName()
-    {
-        return peerClassName;
-    }
-
-    public void setPeerClassName( String peerClassName )
-    {
-        this.peerClassName = peerClassName;
-    }
     /**
      * Get all specialized Roles
      *
@@ -130,7 +103,8 @@ public abstract class TorqueAbstractRole
     *         backend.
     * @throws UnknownEntityException if the role does not exist.
     */
-    public synchronized void renameRole(Role role, String name) throws DataBackendException, UnknownEntityException
+    @Override
+	public synchronized void renameRole(Role role, String name) throws DataBackendException, UnknownEntityException
     {
         if (checkExists(role))
         {
@@ -162,7 +136,8 @@ public abstract class TorqueAbstractRole
     *         backend.
     * @throws EntityExistsException if the role already exists.
     */
-    protected synchronized <T extends Role> T persistNewRole(T role) throws DataBackendException
+    @Override
+	protected synchronized <T extends Role> T persistNewRole(T role) throws DataBackendException
     {
         try
         {
@@ -184,7 +159,8 @@ public abstract class TorqueAbstractRole
     *         backend.
     * @throws UnknownEntityException if the role does not exist.
     */
-    public synchronized void removeRole(Role role) throws DataBackendException, UnknownEntityException
+    @Override
+	public synchronized void removeRole(Role role) throws DataBackendException, UnknownEntityException
     {
         if (checkExists(role))
         {
@@ -211,7 +187,8 @@ public abstract class TorqueAbstractRole
       * @throws DataBackendException when more than one Role with
       *         the same name exists.
       */
-    public boolean checkExists(String roleName) throws DataBackendException
+    @Override
+	public boolean checkExists(String roleName) throws DataBackendException
     {
         boolean exists = false;
 
@@ -258,7 +235,8 @@ public abstract class TorqueAbstractRole
      * @throws DataBackendException if there was an error accessing the
      *         data backend.
      */
-    public RoleSet getAllRoles() throws DataBackendException
+    @Override
+	public RoleSet getAllRoles() throws DataBackendException
     {
         RoleSet roleSet = new RoleSet();
         Connection con = null;
@@ -306,7 +284,8 @@ public abstract class TorqueAbstractRole
      * @throws UnknownEntityException
      *             if the role does not exist.
      */
-    public <T extends Role> T getRoleById(Object id) throws DataBackendException, UnknownEntityException
+    @Override
+	public <T extends Role> T getRoleById(Object id) throws DataBackendException, UnknownEntityException
     {
         T role;
 
@@ -359,7 +338,8 @@ public abstract class TorqueAbstractRole
      *         data backend.
      * @throws UnknownEntityException if the role does not exist.
      */
-    public <T extends Role> T getRoleByName(String name) throws DataBackendException, UnknownEntityException
+    @Override
+	public <T extends Role> T getRoleByName(String name) throws DataBackendException, UnknownEntityException
     {
         T role = null;
         Connection con = null;

Modified: turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/TorqueAbstractUserManager.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/TorqueAbstractUserManager.java?rev=1743685&r1=1743684&r2=1743685&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/TorqueAbstractUserManager.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/TorqueAbstractUserManager.java Fri May 13 14:52:08 2016
@@ -40,44 +40,18 @@ import org.apache.torque.util.Transactio
  */
 public abstract class TorqueAbstractUserManager extends AbstractUserManager
 {
-    private Boolean customPeer = false;  //  used for torque which uses per object peer classes
-    
-    private String peerClassName;
-    private static final String PEER_CLASS_NAME_KEY = "peerClassName";
     
     /**
      * Avalon Service lifecycle method
      */
-    public void configure(Configuration conf) throws ConfigurationException
+    @Override
+	public void configure(Configuration conf) throws ConfigurationException
     {
        super.configure( conf );
-       
-        peerClassName = conf.getChild( PEER_CLASS_NAME_KEY).getValue( null );
-        if (peerClassName != null) {
-            setPeerClassName( peerClassName );
-            setCustomPeer(true);
-        } 
-    }
-    
-    public Boolean getCustomPeer()
-    {
-        return customPeer;
-    }
-
-    public void setCustomPeer( Boolean customPeer )
-    {
-        this.customPeer = customPeer;
-    }
 
-    public String getPeerClassName()
-    {
-        return peerClassName;
     }
+    
 
-    public void setPeerClassName( String peerClassName )
-    {
-        this.peerClassName = peerClassName;
-    }
     /**
      * Get all specialized Users
      *
@@ -128,7 +102,8 @@ public abstract class TorqueAbstractUser
     *         backend.
     * @throws UnknownEntityException if the user account is not present.
     */
-    public synchronized void removeUser(User user) throws DataBackendException, UnknownEntityException
+    @Override
+	public synchronized void removeUser(User user) throws DataBackendException, UnknownEntityException
     {
         try
         {
@@ -149,7 +124,8 @@ public abstract class TorqueAbstractUser
        *         data backend.
        * @throws EntityExistsException if the user account already exists.
        */
-    protected synchronized <T extends User> T persistNewUser(T user) throws DataBackendException
+    @Override
+	protected synchronized <T extends User> T persistNewUser(T user) throws DataBackendException
     {
         try
         {
@@ -171,7 +147,8 @@ public abstract class TorqueAbstractUser
        *         backend.
        * @throws UnknownEntityException if the role does not exist.
        */
-    public synchronized void saveUser(User user) throws DataBackendException, UnknownEntityException
+    @Override
+	public synchronized void saveUser(User user) throws DataBackendException, UnknownEntityException
     {
         if (checkExists(user))
         {
@@ -202,7 +179,8 @@ public abstract class TorqueAbstractUser
      * @throws DataBackendException if there was an error accessing
      *         the data backend.
      */
-    public boolean checkExists(String userName) throws DataBackendException
+    @Override
+	public boolean checkExists(String userName) throws DataBackendException
     {
         boolean exists = false;
 
@@ -253,7 +231,8 @@ public abstract class TorqueAbstractUser
      * @exception DataBackendException if there is a problem accessing the
      *            storage.
      */
-    public <T extends User> T getUser(String userName) throws UnknownEntityException, DataBackendException
+    @Override
+	public <T extends User> T getUser(String userName) throws UnknownEntityException, DataBackendException
     {
         T user = null;
         Connection con = null;
@@ -300,7 +279,8 @@ public abstract class TorqueAbstractUser
        * @throws DataBackendException if there was an error accessing the data
        *         backend.
        */
-    public UserSet getAllUsers() throws DataBackendException
+    @Override
+	public UserSet getAllUsers() throws DataBackendException
     {
         UserSet userSet = new UserSet();
         Connection con = null;
@@ -348,7 +328,8 @@ public abstract class TorqueAbstractUser
      * @throws UnknownEntityException
      *             if the user does not exist.
      */
-    public <T extends User> T getUserById(Object id) throws DataBackendException, UnknownEntityException
+    @Override
+	public <T extends User> T getUserById(Object id) throws DataBackendException, UnknownEntityException
     {
         T user;
 

Modified: turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/PeerManagable.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/PeerManagable.java?rev=1743685&r1=1743684&r2=1743685&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/PeerManagable.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/PeerManagable.java Fri May 13 14:52:08 2016
@@ -1,7 +1,18 @@
 package org.apache.fulcrum.security.torque.peer;
 
+import org.apache.fulcrum.security.util.DataBackendException;
+
 public interface PeerManagable
 {
 
     public abstract PeerManager getPeerManager();
+    
+    public Peer getPeerInstance() throws DataBackendException;
+    
+    public Boolean getCustomPeer();
+    public void setCustomPeer( Boolean customPeer );
+
+    public String getPeerClassName();
+
+    public void setPeerClassName( String peerClassName );
 }

Modified: turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/TorqueTurbinePeer.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/TorqueTurbinePeer.java?rev=1743685&r1=1743684&r2=1743685&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/TorqueTurbinePeer.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/TorqueTurbinePeer.java Fri May 13 14:52:08 2016
@@ -7,6 +7,7 @@ import org.apache.torque.NoRowsException
 import org.apache.torque.TooManyRowsException;
 import org.apache.torque.TorqueException;
 import org.apache.torque.criteria.Criteria;
+import org.apache.torque.map.TableMap;
 
 /**
  * This extension to the marker interface {@linkplain Peer} is to allow for swappable Peer implementations 
@@ -20,7 +21,9 @@ import org.apache.torque.criteria.Criter
 public interface TorqueTurbinePeer<T>
     extends Peer
 {
-
+	
+	 TableMap getTableMap() throws TorqueException;
+	
      List<T> doSelect( Criteria criteria,
                          Connection connection) throws TorqueException;
      

Added: turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/managers/PeerGroupManager.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/managers/PeerGroupManager.java?rev=1743685&view=auto
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/managers/PeerGroupManager.java (added)
+++ turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/managers/PeerGroupManager.java Fri May 13 14:52:08 2016
@@ -0,0 +1,110 @@
+package org.apache.fulcrum.security.torque.peer.managers;
+/*
+ * 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 org.apache.avalon.framework.configuration.Configuration;
+import org.apache.avalon.framework.configuration.ConfigurationException;
+import org.apache.fulcrum.security.torque.TorqueAbstractGroupManager;
+import org.apache.fulcrum.security.torque.peer.Peer;
+import org.apache.fulcrum.security.torque.peer.PeerManagable;
+import org.apache.fulcrum.security.torque.peer.PeerManager;
+import org.apache.fulcrum.security.torque.peer.TorqueTurbinePeer;
+import org.apache.fulcrum.security.util.DataBackendException;
+
+/**
+ * This implementation persists to a database via Torque.
+ *
+ * @author <a href="mailto:tv@apache.org">Thomas Vandahl</a>
+ * @version $Id:$
+ */
+public abstract class PeerGroupManager extends TorqueAbstractGroupManager implements PeerManagable
+{
+    
+    private Boolean customPeer = false;  //  used for torque which uses per object peer classes
+    private String peerClassName;
+    PeerManager peerManager;
+    private static final String PEER_CLASS_NAME_KEY = "peerClassName";
+    
+    private String columnName = "GROUP_NAME";
+    
+    /**
+     * Avalon Service lifecycle method
+     */
+    @Override
+	public void configure(Configuration conf) throws ConfigurationException
+    {
+       super.configure( conf );
+       
+        peerClassName = conf.getChild( PEER_CLASS_NAME_KEY).getValue( null );
+        if (peerClassName != null) {
+            setPeerClassName( peerClassName );
+            setCustomPeer(true);
+        } 
+    }
+    
+    @Override
+   	public Peer getPeerInstance() throws DataBackendException {
+           return getPeerManager().getPeerInstance(getPeerClassName(), TorqueTurbinePeer.class, getClassName());
+    }
+       
+       /**
+        * @return Returns the persistenceHelper.
+        */
+       @Override
+   	public PeerManager getPeerManager()
+       {
+           if (peerManager == null)
+           {
+               peerManager = (PeerManager) resolve(PeerManager.ROLE);
+           }
+           return peerManager;
+       }
+
+   	public String getColumnName() {
+   		return columnName;
+   	}
+
+   	public void setColumnName(String columnName) {
+   		this.columnName = columnName;
+   	}
+    
+    @Override
+	public Boolean getCustomPeer()
+    {
+        return customPeer;
+    }
+
+    @Override
+	public void setCustomPeer( Boolean customPeer )
+    {
+        this.customPeer = customPeer;
+    }
+
+    @Override
+	public String getPeerClassName()
+    {
+        return peerClassName;
+    }
+
+    @Override
+	public void setPeerClassName( String peerClassName )
+    {
+        this.peerClassName = peerClassName;
+    }
+
+}

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

Added: turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/managers/PeerPermissionManager.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/managers/PeerPermissionManager.java?rev=1743685&view=auto
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/managers/PeerPermissionManager.java (added)
+++ turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/managers/PeerPermissionManager.java Fri May 13 14:52:08 2016
@@ -0,0 +1,121 @@
+package org.apache.fulcrum.security.torque.peer.managers;
+/*
+ * 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 java.util.List;
+
+import org.apache.avalon.framework.configuration.Configuration;
+import org.apache.avalon.framework.configuration.ConfigurationException;
+import org.apache.fulcrum.security.entity.Permission;
+import org.apache.fulcrum.security.spi.AbstractPermissionManager;
+import org.apache.fulcrum.security.torque.TorqueAbstractPermissionManager;
+import org.apache.fulcrum.security.torque.peer.Peer;
+import org.apache.fulcrum.security.torque.peer.PeerManagable;
+import org.apache.fulcrum.security.torque.peer.PeerManager;
+import org.apache.fulcrum.security.torque.peer.TorqueTurbinePeer;
+import org.apache.fulcrum.security.util.DataBackendException;
+import org.apache.fulcrum.security.util.EntityExistsException;
+import org.apache.fulcrum.security.util.PermissionSet;
+import org.apache.fulcrum.security.util.UnknownEntityException;
+import org.apache.torque.NoRowsException;
+import org.apache.torque.TooManyRowsException;
+import org.apache.torque.TorqueException;
+import org.apache.torque.util.Transaction;
+/**
+ * This implementation persists to a database via Torque.
+ *
+ * @author <a href="mailto:tv@apache.org">Thomas Vandahl</a>
+ * @version $Id:$
+ */
+public abstract class PeerPermissionManager extends TorqueAbstractPermissionManager  implements PeerManagable 
+{
+    private Boolean customPeer = false;  //  used for torque which uses per object peer classes
+    
+    private String peerClassName;
+    private static final String PEER_CLASS_NAME_KEY = "peerClassName";
+    PeerManager peerManager;
+    
+    private String columnName = "ROLE_NAME";
+    
+    /**
+     * Avalon Service lifecycle method
+     */ 
+    @Override
+	public void configure(Configuration conf) throws ConfigurationException
+    {
+       super.configure( conf );
+       
+        peerClassName = conf.getChild( PEER_CLASS_NAME_KEY).getValue( null );
+        if (peerClassName != null) {
+            setPeerClassName( peerClassName );
+            setCustomPeer(true);
+        } 
+    }
+    
+    @Override
+	public Boolean getCustomPeer()
+    {
+        return customPeer;
+    }
+
+    @Override
+	public void setCustomPeer( Boolean customPeer )
+    {
+        this.customPeer = customPeer;
+    }
+
+    @Override
+	public String getPeerClassName()
+    {
+        return peerClassName;
+    }
+
+    @Override
+	public void setPeerClassName( String peerClassName )
+    {
+        this.peerClassName = peerClassName;
+    }
+    
+    @Override
+   	public Peer getPeerInstance() throws DataBackendException {
+           return getPeerManager().getPeerInstance(getPeerClassName(), TorqueTurbinePeer.class, getClassName());
+       }
+       
+       /**
+        * @return Returns the persistenceHelper.
+        */
+       @Override
+   	public PeerManager getPeerManager()
+       {
+           if (peerManager == null)
+           {
+               peerManager = (PeerManager) resolve(PeerManager.ROLE);
+           }
+           return peerManager;
+    }
+
+   	public String getColumnName() {
+   		return columnName;
+   	}
+
+   	public void setColumnName(String columnName) {
+   		this.columnName = columnName;
+   	}
+   
+}

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

Added: turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/managers/PeerRoleManager.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/managers/PeerRoleManager.java?rev=1743685&view=auto
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/managers/PeerRoleManager.java (added)
+++ turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/managers/PeerRoleManager.java Fri May 13 14:52:08 2016
@@ -0,0 +1,120 @@
+package org.apache.fulcrum.security.torque.peer.managers;
+/*
+ * 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 java.util.List;
+
+import org.apache.avalon.framework.configuration.Configuration;
+import org.apache.avalon.framework.configuration.ConfigurationException;
+import org.apache.fulcrum.security.entity.Role;
+import org.apache.fulcrum.security.torque.TorqueAbstractRoleManager;
+import org.apache.fulcrum.security.torque.om.TorqueTurbineRolePeer;
+import org.apache.fulcrum.security.torque.peer.Peer;
+import org.apache.fulcrum.security.torque.peer.PeerManagable;
+import org.apache.fulcrum.security.torque.peer.PeerManager;
+import org.apache.fulcrum.security.torque.peer.TorqueTurbinePeer;
+import org.apache.fulcrum.security.util.DataBackendException;
+import org.apache.torque.NoRowsException;
+import org.apache.torque.TooManyRowsException;
+import org.apache.torque.TorqueException;
+import org.apache.torque.criteria.Criteria;
+/**
+ * This implementation persists to a database via Torque.
+ *
+ * @author <a href="mailto:tv@apache.org">Thomas Vandahl</a>
+ * @version $Id:$
+ */
+public abstract class PeerRoleManager extends TorqueAbstractRoleManager implements PeerManagable
+{
+    private Boolean customPeer = false;  //  used for torque which uses per object peer classes
+    
+    private String peerClassName;
+    private static final String PEER_CLASS_NAME_KEY = "peerClassName";
+    PeerManager peerManager;
+    
+    private String columnName = "ROLE_NAME";
+    
+    /**
+     * Avalon Service lifecycle method
+     */
+    @Override
+	public void configure(Configuration conf) throws ConfigurationException
+    {
+       super.configure( conf );
+       
+        peerClassName = conf.getChild( PEER_CLASS_NAME_KEY).getValue( null );
+        if (peerClassName != null) {
+            setPeerClassName( peerClassName );
+            setCustomPeer(true);
+        } 
+    }
+   
+    
+    @Override
+	public Peer getPeerInstance() throws DataBackendException {
+        return getPeerManager().getPeerInstance(getPeerClassName(), TorqueTurbinePeer.class, getClassName());
+    }
+    
+    /**
+     * @return Returns the persistenceHelper.
+     */
+    @Override
+	public PeerManager getPeerManager()
+    {
+        if (peerManager == null)
+        {
+            peerManager = (PeerManager) resolve(PeerManager.ROLE);
+        }
+        return peerManager;
+    }
+    
+	public String getColumnName() {
+		return columnName;
+	}
+
+	public void setColumnName(String columnName) {
+		this.columnName = columnName;
+	}
+
+    
+	@Override
+	public Boolean getCustomPeer()
+    {
+        return customPeer;
+    }
+
+    @Override
+	public void setCustomPeer( Boolean customPeer )
+    {
+        this.customPeer = customPeer;
+    }
+
+    @Override
+	public String getPeerClassName()
+    {
+        return peerClassName;
+    }
+
+    @Override
+	public void setPeerClassName( String peerClassName )
+    {
+        this.peerClassName = peerClassName;
+    }
+  
+}

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

Added: turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/managers/PeerUserManager.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/managers/PeerUserManager.java?rev=1743685&view=auto
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/managers/PeerUserManager.java (added)
+++ turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/peer/managers/PeerUserManager.java Fri May 13 14:52:08 2016
@@ -0,0 +1,128 @@
+package org.apache.fulcrum.security.torque.peer.managers;
+/*
+ * 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 java.util.List;
+
+import org.apache.avalon.framework.configuration.Configuration;
+import org.apache.avalon.framework.configuration.ConfigurationException;
+import org.apache.fulcrum.security.entity.User;
+import org.apache.fulcrum.security.torque.TorqueAbstractUserManager;
+import org.apache.fulcrum.security.torque.om.TorqueTurbineUserPeer;
+import org.apache.fulcrum.security.torque.peer.Peer;
+import org.apache.fulcrum.security.torque.peer.PeerManagable;
+import org.apache.fulcrum.security.torque.peer.PeerManager;
+import org.apache.fulcrum.security.torque.peer.TorqueTurbinePeer;
+import org.apache.fulcrum.security.util.DataBackendException;
+import org.apache.fulcrum.security.util.UnknownEntityException;
+import org.apache.torque.NoRowsException;
+import org.apache.torque.TooManyRowsException;
+import org.apache.torque.TorqueException;
+import org.apache.torque.criteria.Criteria;
+/**
+ * This implementation persists to a database via Torque.
+ *
+ * @author <a href="mailto:tv@apache.org">Thomas Vandahl</a>
+ * @version $Id:$
+ */
+public abstract class PeerUserManager extends TorqueAbstractUserManager implements PeerManagable
+{
+	/**
+	 * if set, the generic implementation is used (by setting @link {@link #PEER_CLASS_NAME_KEY} in configuration file.
+	 */
+    private Boolean customPeer = false;  //  used for torque which uses per object peer classes
+    
+    private String peerClassName;
+    private static final String PEER_CLASS_NAME_KEY = "peerClassName";
+    PeerManager peerManager;
+    
+	private String columnName = "LOGIN_NAME";
+    
+    /**
+     * Avalon Service lifecycle method
+     */
+    @Override
+	public void configure(Configuration conf) throws ConfigurationException
+    {
+       super.configure( conf );
+       
+        peerClassName = conf.getChild( PEER_CLASS_NAME_KEY).getValue( null );
+        if (peerClassName != null) {
+            setPeerClassName( peerClassName );
+            setCustomPeer(true);
+        } 
+    }
+  
+    
+    @Override
+	public Peer getPeerInstance() throws DataBackendException {
+        return getPeerManager().getPeerInstance(getPeerClassName(), TorqueTurbinePeer.class, getClassName());
+    }
+    
+    /**
+     * @return Returns the persistenceHelper.
+     */
+    @Override
+    public PeerManager getPeerManager()
+    {
+        if (peerManager == null)
+        {
+            peerManager = (PeerManager) resolve(PeerManager.ROLE);
+        }
+        return peerManager;
+    }
+
+	public String getColumnName() {
+		return columnName;
+	}
+
+	public void setColumnName(String columnName) {
+		this.columnName = columnName;
+	}
+    
+    /**
+     * 
+     * @return if <code>true</code>, the generic implementation is used.
+     */
+    @Override
+	public Boolean getCustomPeer()
+    {
+        return customPeer;
+    }
+
+    @Override
+	public void setCustomPeer( Boolean customPeer )
+    {
+        this.customPeer = customPeer;
+    }
+
+    @Override
+	public String getPeerClassName()
+    {
+        return peerClassName;
+    }
+
+    @Override
+	public void setPeerClassName( String peerClassName )
+    {
+        this.peerClassName = peerClassName;
+    }
+   
+    
+}

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

Modified: turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineGroupManagerImpl.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineGroupManagerImpl.java?rev=1743685&r1=1743684&r2=1743685&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineGroupManagerImpl.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineGroupManagerImpl.java Fri May 13 14:52:08 2016
@@ -21,12 +21,9 @@ import java.sql.Connection;
 import java.util.List;
 
 import org.apache.fulcrum.security.entity.Group;
-import org.apache.fulcrum.security.torque.TorqueAbstractGroupManager;
 import org.apache.fulcrum.security.torque.om.TorqueTurbineGroupPeer;
-import org.apache.fulcrum.security.torque.peer.Peer;
-import org.apache.fulcrum.security.torque.peer.PeerManagable;
-import org.apache.fulcrum.security.torque.peer.PeerManager;
 import org.apache.fulcrum.security.torque.peer.TorqueTurbinePeer;
+import org.apache.fulcrum.security.torque.peer.managers.PeerGroupManager;
 import org.apache.fulcrum.security.util.DataBackendException;
 import org.apache.torque.NoRowsException;
 import org.apache.torque.TooManyRowsException;
@@ -38,17 +35,17 @@ import org.apache.torque.criteria.Criter
  * @author <a href="mailto:tv@apache.org">Thomas Vandahl</a>
  * @version $Id:$
  */
-public class TorqueTurbineGroupManagerImpl extends TorqueAbstractGroupManager implements PeerManagable
+public class TorqueTurbineGroupManagerImpl extends PeerGroupManager 
 {
     
-    PeerManager peerManager;
     /**
      * @see org.apache.fulcrum.security.torque.TorqueAbstractGroupManager#doSelectAllGroups(java.sql.Connection)
      */
-    @SuppressWarnings("unchecked")
+    @Override
+	@SuppressWarnings("unchecked")
 	protected <T extends Group> List<T> doSelectAllGroups(Connection con) throws TorqueException
     {
-        Criteria criteria = new Criteria(TorqueTurbineGroupPeer.DATABASE_NAME);
+        Criteria criteria = new Criteria();
         
         if ( (getCustomPeer())) {
             try
@@ -69,7 +66,8 @@ public class TorqueTurbineGroupManagerIm
     /**
      * @see org.apache.fulcrum.security.torque.TorqueAbstractGroupManager#doSelectById(java.lang.Integer, java.sql.Connection)
      */
-    @SuppressWarnings("unchecked")
+    @Override
+	@SuppressWarnings("unchecked")
 	protected <T extends Group> T doSelectById(Integer id, Connection con) throws NoRowsException, TooManyRowsException, TorqueException
     {
         if ( (getCustomPeer())) {
@@ -90,11 +88,11 @@ public class TorqueTurbineGroupManagerIm
     /**
      * @see org.apache.fulcrum.security.torque.TorqueAbstractGroupManager#doSelectByName(java.lang.String, java.sql.Connection)
      */
-    @SuppressWarnings("unchecked")
+    @Override
+	@SuppressWarnings("unchecked")
 	protected <T extends Group> T doSelectByName(String name, Connection con) throws NoRowsException, TooManyRowsException, TorqueException
     {
-        Criteria criteria = new Criteria(TorqueTurbineGroupPeer.DATABASE_NAME);
-        criteria.where(TorqueTurbineGroupPeer.GROUP_NAME, name);
+        Criteria criteria = new Criteria();
         criteria.setIgnoreCase(true);
         criteria.setSingleRecord(true);
         List<T> groups = null;
@@ -102,14 +100,16 @@ public class TorqueTurbineGroupManagerIm
         if ( (getCustomPeer())) {
             try
             {
-                
-                groups = ((TorqueTurbinePeer<T>) getPeerInstance()).doSelect( criteria, con );
+            	TorqueTurbinePeer<T> peerInstance = (TorqueTurbinePeer<T>)getPeerInstance();
+                criteria.where(peerInstance.getTableMap().getColumn(getColumnName()), name);
+                groups = peerInstance.doSelect( criteria, con );
             }
             catch ( DataBackendException e )
             {
                 throw new TorqueException( e );
             }
         } else {
+            criteria.where(TorqueTurbineGroupPeer.GROUP_NAME, name);
             groups = (List<T>) TorqueTurbineGroupPeer.doSelect(criteria, con);
         }
 
@@ -121,19 +121,5 @@ public class TorqueTurbineGroupManagerIm
         return groups.get(0);
     }
     
-    public Peer getPeerInstance() throws DataBackendException {
-        return getPeerManager().getPeerInstance(getPeerClassName(), TorqueTurbinePeer.class, getClassName());
-    }
-    
-    /**
-     * @return Returns the persistenceHelper.
-     */
-    public PeerManager getPeerManager()
-    {
-        if (peerManager == null)
-        {
-            peerManager = (PeerManager) resolve(PeerManager.ROLE);
-        }
-        return peerManager;
-    }
+  
 }

Modified: turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbinePermissionManagerImpl.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbinePermissionManagerImpl.java?rev=1743685&r1=1743684&r2=1743685&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbinePermissionManagerImpl.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbinePermissionManagerImpl.java Fri May 13 14:52:08 2016
@@ -27,6 +27,7 @@ import org.apache.fulcrum.security.torqu
 import org.apache.fulcrum.security.torque.peer.PeerManagable;
 import org.apache.fulcrum.security.torque.peer.PeerManager;
 import org.apache.fulcrum.security.torque.peer.TorqueTurbinePeer;
+import org.apache.fulcrum.security.torque.peer.managers.PeerPermissionManager;
 import org.apache.fulcrum.security.util.DataBackendException;
 import org.apache.torque.NoRowsException;
 import org.apache.torque.TooManyRowsException;
@@ -38,18 +39,18 @@ import org.apache.torque.criteria.Criter
  * @author <a href="mailto:tv@apache.org">Thomas Vandahl</a>
  * @version $Id:$
  */
-public class TorqueTurbinePermissionManagerImpl extends TorqueAbstractPermissionManager implements PeerManagable
+public class TorqueTurbinePermissionManagerImpl extends PeerPermissionManager 
 {
     
-    PeerManager peerManager;
     
     /**
      * @see org.apache.fulcrum.security.torque.TorqueAbstractPermissionManager#doSelectAllPermissions(java.sql.Connection)
      */
-    @SuppressWarnings("unchecked")
+    @Override
+	@SuppressWarnings("unchecked")
 	protected <T extends Permission> List<T> doSelectAllPermissions(Connection con) throws TorqueException
     {
-        Criteria criteria = new Criteria(TorqueTurbinePermissionPeer.DATABASE_NAME);
+        Criteria criteria = new Criteria();
         
         if ( (getCustomPeer())) {
             try
@@ -70,7 +71,8 @@ public class TorqueTurbinePermissionMana
     /**
      * @see org.apache.fulcrum.security.torque.TorqueAbstractPermissionManager#doSelectById(java.lang.Integer, java.sql.Connection)
      */
-    @SuppressWarnings("unchecked")
+    @Override
+	@SuppressWarnings("unchecked")
 	protected <T extends Permission> T doSelectById(Integer id, Connection con) throws NoRowsException, TooManyRowsException, TorqueException
     {
         if ( (getCustomPeer())) {
@@ -90,11 +92,12 @@ public class TorqueTurbinePermissionMana
     /**
      * @see org.apache.fulcrum.security.torque.TorqueAbstractPermissionManager#doSelectByName(java.lang.String, java.sql.Connection)
      */
-    @SuppressWarnings("unchecked")
+    @Override
+	@SuppressWarnings("unchecked")
 	protected <T extends Permission> T doSelectByName(String name, Connection con) throws NoRowsException, TooManyRowsException, TorqueException
     {
-        Criteria criteria = new Criteria(TorqueTurbinePermissionPeer.DATABASE_NAME);
-        criteria.where(TorqueTurbinePermissionPeer.PERMISSION_NAME, name);
+        Criteria criteria = new Criteria();
+       
         criteria.setIgnoreCase(true);
         criteria.setSingleRecord(true);
         
@@ -102,13 +105,17 @@ public class TorqueTurbinePermissionMana
         if ( (getCustomPeer())) {
             try
             {
-                permissions = ((TorqueTurbinePeer<T>) getPeerInstance()).doSelect(criteria, con);
+            	TorqueTurbinePeer<T> peerInstance = (TorqueTurbinePeer<T>)getPeerInstance();
+            	criteria.where(peerInstance.getTableMap().getColumn(getColumnName()), name);
+            	permissions = peerInstance.doSelect( criteria, con );
+                
             }
             catch ( DataBackendException e )
             {
                 throw new TorqueException( e );
             }
         } else {
+        	 criteria.where(TorqueTurbinePermissionPeer.PERMISSION_NAME, name);
             permissions = (List<T>) TorqueTurbinePermissionPeer.doSelect(criteria, con);
         } 
 
@@ -117,22 +124,8 @@ public class TorqueTurbinePermissionMana
             throw new NoRowsException(name);
         }
 
-        return (T) permissions.get(0);
-    }
-    
-    public Peer getPeerInstance() throws DataBackendException {
-        return getPeerManager().getPeerInstance(getPeerClassName(), TorqueTurbinePeer.class, getClassName());
+        return permissions.get(0);
     }
     
-    /**
-     * @return Returns the persistenceHelper.
-     */
-    public PeerManager getPeerManager()
-    {
-        if (peerManager == null)
-        {
-            peerManager = (PeerManager) resolve(PeerManager.ROLE);
-        }
-        return peerManager;
-    }
+  
 }

Modified: turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineRoleManagerImpl.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineRoleManagerImpl.java?rev=1743685&r1=1743684&r2=1743685&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineRoleManagerImpl.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineRoleManagerImpl.java Fri May 13 14:52:08 2016
@@ -27,6 +27,7 @@ import org.apache.fulcrum.security.torqu
 import org.apache.fulcrum.security.torque.peer.PeerManagable;
 import org.apache.fulcrum.security.torque.peer.PeerManager;
 import org.apache.fulcrum.security.torque.peer.TorqueTurbinePeer;
+import org.apache.fulcrum.security.torque.peer.managers.PeerRoleManager;
 import org.apache.fulcrum.security.util.DataBackendException;
 import org.apache.torque.NoRowsException;
 import org.apache.torque.TooManyRowsException;
@@ -38,17 +39,17 @@ import org.apache.torque.criteria.Criter
  * @author <a href="mailto:tv@apache.org">Thomas Vandahl</a>
  * @version $Id:$
  */
-public class TorqueTurbineRoleManagerImpl extends TorqueAbstractRoleManager implements PeerManagable
+public class TorqueTurbineRoleManagerImpl extends PeerRoleManager 
 {
-    PeerManager peerManager;
-    
-    /**
+
+	/**
      * @see org.apache.fulcrum.security.torque.TorqueAbstractRoleManager#doSelectAllRoles(java.sql.Connection)
      */
-    @SuppressWarnings("unchecked")
+    @Override
+	@SuppressWarnings("unchecked")
 	protected <T extends Role> List<T> doSelectAllRoles(Connection con) throws TorqueException
     {
-        Criteria criteria = new Criteria(TorqueTurbineRolePeer.DATABASE_NAME);
+        Criteria criteria = new Criteria();
 
         if ( (getCustomPeer())) {
             try
@@ -67,7 +68,8 @@ public class TorqueTurbineRoleManagerImp
     /**
      * @see org.apache.fulcrum.security.torque.TorqueAbstractRoleManager#doSelectById(java.lang.Integer, java.sql.Connection)
      */
-    @SuppressWarnings("unchecked")
+    @Override
+	@SuppressWarnings("unchecked")
 	protected <T extends Role> T doSelectById(Integer id, Connection con) throws NoRowsException, TooManyRowsException, TorqueException
     {
         if ( (getCustomPeer())) {
@@ -87,11 +89,11 @@ public class TorqueTurbineRoleManagerImp
     /**
      * @see org.apache.fulcrum.security.torque.TorqueAbstractRoleManager#doSelectByName(java.lang.String, java.sql.Connection)
      */
-    @SuppressWarnings("unchecked")
+    @Override
+	@SuppressWarnings("unchecked")
 	protected <T extends Role> T doSelectByName(String name, Connection con) throws NoRowsException, TooManyRowsException, TorqueException
     {
-        Criteria criteria = new Criteria(TorqueTurbineRolePeer.DATABASE_NAME);
-        criteria.where(TorqueTurbineRolePeer.ROLE_NAME, name);
+        Criteria criteria = new Criteria();
         criteria.setIgnoreCase(true);
         criteria.setSingleRecord(true);
         
@@ -99,13 +101,16 @@ public class TorqueTurbineRoleManagerImp
         if ( (getCustomPeer())) {
             try
             {
-                roles = ((TorqueTurbinePeer<T>)getPeerInstance()).doSelect( criteria, con );
+            	TorqueTurbinePeer<T> peerInstance = (TorqueTurbinePeer<T>)getPeerInstance();
+            	criteria.where(peerInstance.getTableMap().getColumn(getColumnName()), name);
+                roles = peerInstance.doSelect( criteria, con );
             }
             catch ( DataBackendException e )
             {
                 throw new TorqueException( e );
             }
         } else {
+            criteria.where(TorqueTurbineRolePeer.ROLE_NAME, name);
             roles =  (List<T>) TorqueTurbineRolePeer.doSelect(criteria, con);
         }
 
@@ -116,20 +121,5 @@ public class TorqueTurbineRoleManagerImp
 
         return roles.get(0);
     }
-    
-    public Peer getPeerInstance() throws DataBackendException {
-        return getPeerManager().getPeerInstance(getPeerClassName(), TorqueTurbinePeer.class, getClassName());
-    }
-    
-    /**
-     * @return Returns the persistenceHelper.
-     */
-    public PeerManager getPeerManager()
-    {
-        if (peerManager == null)
-        {
-            peerManager = (PeerManager) resolve(PeerManager.ROLE);
-        }
-        return peerManager;
-    }
+   
 }

Modified: turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineUserManagerImpl.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineUserManagerImpl.java?rev=1743685&r1=1743684&r2=1743685&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineUserManagerImpl.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineUserManagerImpl.java Fri May 13 14:52:08 2016
@@ -28,8 +28,10 @@ import org.apache.fulcrum.security.torqu
 import org.apache.fulcrum.security.torque.peer.PeerManagable;
 import org.apache.fulcrum.security.torque.peer.PeerManager;
 import org.apache.fulcrum.security.torque.peer.TorqueTurbinePeer;
+import org.apache.fulcrum.security.torque.peer.managers.PeerUserManager;
 import org.apache.fulcrum.security.util.DataBackendException;
 import org.apache.fulcrum.security.util.UnknownEntityException;
+import org.apache.fulcrum.security.util.UserSet;
 import org.apache.torque.NoRowsException;
 import org.apache.torque.TooManyRowsException;
 import org.apache.torque.TorqueException;
@@ -41,18 +43,60 @@ import org.apache.torque.criteria.Criter
  * @author <a href="mailto:tv@apache.org">Thomas Vandahl</a>
  * @version $Id$
  */
-public class TorqueTurbineUserManagerImpl extends TorqueAbstractUserManager implements TurbineUserManager, PeerManagable
+public class TorqueTurbineUserManagerImpl extends PeerUserManager implements TurbineUserManager
 {
-    PeerManager peerManager;
+
     private static final String ANON = "anon";
 
     /**
+     * Default implementation.
+     */
+    @Override
+    public <T extends User> T getAnonymousUser()
+        throws UnknownEntityException
+    {
+        try
+        {
+            T anonUser =  getUser( ANON );
+            // add more, if needed
+            return anonUser;
+        }
+        catch ( DataBackendException e )
+        {
+            throw new UnknownEntityException( "Failed to load anonymous user",e);
+        } 
+    }
+
+    /**
+     * Default implementation.
+     */
+    @Override
+    public boolean isAnonymousUser( User u )
+    {
+        try
+        {
+            User anon = getAnonymousUser();
+            if (u.equals( anon )) 
+                {
+                 return true;
+                }
+        }
+        catch ( Exception e )
+        {
+            getLogger().error( "Failed to check user:" + e.getMessage(),e);
+        }
+        return false;
+    }
+    
+    /**
      * @see org.apache.fulcrum.security.torque.TorqueAbstractUserManager#doSelectAllUsers(java.sql.Connection)
      */
-    @SuppressWarnings("unchecked")
+   
+    @Override
+	@SuppressWarnings("unchecked")
 	protected <T extends User> List<T> doSelectAllUsers(Connection con) throws TorqueException
     {
-        Criteria criteria = new Criteria(TorqueTurbineUserPeer.DATABASE_NAME);
+        Criteria criteria = new Criteria();
         
         if ( (getCustomPeer())) {
             try
@@ -71,7 +115,8 @@ public class TorqueTurbineUserManagerImp
     /**
      * @see org.apache.fulcrum.security.torque.TorqueAbstractUserManager#doSelectById(java.lang.Integer, java.sql.Connection)
      */
-    @SuppressWarnings("unchecked")
+    @Override
+	@SuppressWarnings("unchecked")
 	protected <T extends User> T doSelectById(Integer id, Connection con) throws NoRowsException, TooManyRowsException, TorqueException
     {
         if ( (getCustomPeer())) {
@@ -91,11 +136,12 @@ public class TorqueTurbineUserManagerImp
     /**
      * @see org.apache.fulcrum.security.torque.TorqueAbstractUserManager#doSelectByName(java.lang.String, java.sql.Connection)
      */
-    @SuppressWarnings("unchecked")
+    @Override
+	@SuppressWarnings("unchecked")
 	protected <T extends User> T doSelectByName(String name, Connection con) throws NoRowsException, TooManyRowsException, TorqueException
     {
-        Criteria criteria = new Criteria(TorqueTurbineUserPeer.DATABASE_NAME);
-        criteria.where(TorqueTurbineUserPeer.LOGIN_NAME, name);
+        Criteria criteria = new Criteria();
+        
         criteria.setIgnoreCase(true);
         criteria.setSingleRecord(true);
         
@@ -103,14 +149,17 @@ public class TorqueTurbineUserManagerImp
         if ( (getCustomPeer())) {
             try
             {
-                users = ((TorqueTurbinePeer<T>)getPeerInstance()).doSelect( criteria, con );
+            	TorqueTurbinePeer<T> peerInstance = (TorqueTurbinePeer<T>)getPeerInstance();
+            	criteria.where(peerInstance.getTableMap().getColumn(getColumnName() ), name);
+                users = peerInstance.doSelect( criteria, con );
             }
             catch ( DataBackendException e )
             {
                 throw new TorqueException( e );
             }
         } else {
-            users = (List<T>) TorqueTurbineUserPeer.doSelect(criteria, con);
+        	criteria.where(TorqueTurbineUserPeer.LOGIN_NAME, name);
+        	users = (List<T>) TorqueTurbineUserPeer.doSelect(criteria, con);
         }
 
 
@@ -122,60 +171,4 @@ public class TorqueTurbineUserManagerImp
         return users.get(0);
     }
 
-    /**
-     * Default implementation.
-     */
-    @Override
-    public <T extends User> T getAnonymousUser()
-        throws UnknownEntityException
-    {
-        try
-        {
-            T anonUser =  getUser( ANON );
-            // add more, if needed
-            return anonUser;
-        }
-        catch ( DataBackendException e )
-        {
-            throw new UnknownEntityException( "Failed to load anonymous user",e);
-        } 
-    }
-
-    /**
-     * Default implementation.
-     */
-    @Override
-    public boolean isAnonymousUser( User u )
-    {
-        try
-        {
-            User anon = getAnonymousUser();
-            if (u.equals( anon )) 
-                {
-                 return true;
-                }
-        }
-        catch ( Exception e )
-        {
-            getLogger().error( "Failed to check user:" + e.getMessage(),e);
-        }
-        return false;
-    }
-    
-    public Peer getPeerInstance() throws DataBackendException {
-        return getPeerManager().getPeerInstance(getPeerClassName(), TorqueTurbinePeer.class, getClassName());
-    }
-    
-    /**
-     * @return Returns the persistenceHelper.
-     */
-    @Override
-    public PeerManager getPeerManager()
-    {
-        if (peerManager == null)
-        {
-            peerManager = (PeerManager) resolve(PeerManager.ROLE);
-        }
-        return peerManager;
-    }
 }

Modified: turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TorquePeerTurbineModelManagerTest.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TorquePeerTurbineModelManagerTest.java?rev=1743685&r1=1743684&r2=1743685&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TorquePeerTurbineModelManagerTest.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/test/org/apache/fulcrum/security/torque/turbine/TorquePeerTurbineModelManagerTest.java Fri May 13 14:52:08 2016
@@ -32,6 +32,10 @@ import org.apache.fulcrum.security.torqu
 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;
 
@@ -49,7 +53,8 @@ public class TorquePeerTurbineModelManag
     
     public static boolean customPeers = false;
 
-    public void setUp() throws Exception
+    @Override
+	public void setUp() throws Exception
     {
 
         try
@@ -81,32 +86,33 @@ public class TorquePeerTurbineModelManag
     
     public void testCustomPeerSet() {
         if (roleManager instanceof TorqueAbstractRoleManager) {
-            assertTrue( "If a custom Peer for RoleManager should be tested, a peerClassName element should be set in the configuration file for roleManager.", ((TorqueAbstractRoleManager)roleManager).getCustomPeer() == customPeers);
+            assertTrue( "If a custom Peer for RoleManager should be tested, a peerClassName element should be set in the configuration file for roleManager.", ((PeerRoleManager)roleManager).getCustomPeer() == customPeers);
         }
         if (roleManager instanceof PeerManagable) {
             assertNotNull(((PeerManagable)roleManager).getPeerManager());
         }
         if (userManager instanceof TorqueAbstractUserManager) {
-            assertTrue( "If a custom Peer for UserManager should be tested, a peerClassName element should be set in the configuration file for userManager.", ((TorqueAbstractUserManager)userManager).getCustomPeer() == customPeers);
+            assertTrue( "If a custom Peer for UserManager should be tested, a peerClassName element should be set in the configuration file for userManager.", ((PeerUserManager)userManager).getCustomPeer() == customPeers);
         }
         if (userManager instanceof PeerManagable) {
             assertNotNull(((PeerManagable)userManager).getPeerManager());
         }
         if (groupManager instanceof TorqueAbstractGroupManager) {
-            assertTrue( "If a custom Peer for GroupManager should be tested, a peerClassName element should be set in the configuration file for groupManager.", ((TorqueAbstractGroupManager)groupManager).getCustomPeer() == customPeers);
+            assertTrue( "If a custom Peer for GroupManager should be tested, a peerClassName element should be set in the configuration file for groupManager.", ((PeerGroupManager)groupManager).getCustomPeer() == customPeers);
         }
         if (groupManager instanceof PeerManagable) {
             assertNotNull(((PeerManagable)groupManager).getPeerManager());
         }
         if (permissionManager instanceof TorqueAbstractPermissionManager) {
-            assertTrue( "If a custom Peer for PermissionManager should be tested, a peerClassName element should be set in the configuration file for permissionManager.", ((TorqueAbstractPermissionManager)permissionManager).getCustomPeer() == customPeers);
+            assertTrue( "If a custom Peer for PermissionManager should be tested, a peerClassName element should be set in the configuration file for permissionManager.", ((PeerPermissionManager)permissionManager).getCustomPeer() == customPeers);
         }
         if (permissionManager instanceof PeerManagable) {
             assertNotNull(((PeerManagable)permissionManager).getPeerManager());
         }
     }
 
-    public void tearDown()
+    @Override
+	public void tearDown()
     {
         // cleanup tables
         try



Re: svn commit: r1743685 - in /turbine/fulcrum/trunk/security/torque/src: java/org/apache/fulcrum/security/torque/ java/org/apache/fulcrum/security/torque/peer/ java/org/apache/fulcrum/security/torque/peer/managers/ java/org/apache/fulcrum/security/torque/...

Posted by Thomas Vandahl <tv...@apache.org>.
On 13.05.16 16:52, gk@apache.org wrote:
> Author: gk
> Date: Fri May 13 14:52:08 2016
> New Revision: 1743685
> 
> URL: http://svn.apache.org/viewvc?rev=1743685&view=rev
> Log:
> - extract configurable Peer managers 

I suggest to consider BasePeerImpl-derived objects for the purpose. It's
much easier. I'll try to come up with an example.

Bye, Thomas.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@turbine.apache.org
For additional commands, e-mail: dev-help@turbine.apache.org