You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by tv...@apache.org on 2007/04/05 19:28:55 UTC
svn commit: r525904 [3/4] - in
/jakarta/turbine/fulcrum/trunk/security/torque: ./ schema/ src/java/
src/java/org/apache/ src/java/org/apache/fulcrum/security/torque/
src/java/org/apache/fulcrum/security/torque/basic/
src/java/org/apache/fulcrum/securit...
Modified: jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicGroupManagerImpl.java
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicGroupManagerImpl.java?view=diff&rev=525904&r1=525903&r2=525904
==============================================================================
--- jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicGroupManagerImpl.java (original)
+++ jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicGroupManagerImpl.java Thu Apr 5 10:28:53 2007
@@ -15,25 +15,13 @@
* limitations under the License.
*/
import java.sql.Connection;
-import java.util.Iterator;
import java.util.List;
-import org.apache.fulcrum.security.RoleManager;
-import org.apache.fulcrum.security.UserManager;
import org.apache.fulcrum.security.entity.Group;
-import org.apache.fulcrum.security.entity.Role;
-import org.apache.fulcrum.security.entity.User;
-import org.apache.fulcrum.security.model.dynamic.entity.DynamicGroup;
import org.apache.fulcrum.security.torque.TorqueAbstractGroupManager;
-import org.apache.fulcrum.security.torque.om.TorqueDynamicGroupRolePeer;
-import org.apache.fulcrum.security.torque.om.TorqueDynamicUserGroupPeer;
-import org.apache.fulcrum.security.torque.om.TorqueRole;
-import org.apache.fulcrum.security.torque.om.TorqueRolePeer;
-import org.apache.fulcrum.security.torque.om.TorqueUser;
-import org.apache.fulcrum.security.torque.om.TorqueUserPeer;
-import org.apache.fulcrum.security.util.DataBackendException;
-import org.apache.fulcrum.security.util.RoleSet;
-import org.apache.fulcrum.security.util.UserSet;
+import org.apache.fulcrum.security.torque.om.TorqueDynamicGroupPeer;
+import org.apache.torque.NoRowsException;
+import org.apache.torque.TooManyRowsException;
import org.apache.torque.TorqueException;
import org.apache.torque.util.Criteria;
/**
@@ -45,55 +33,40 @@
public class TorqueDynamicGroupManagerImpl extends TorqueAbstractGroupManager
{
/**
- * Provides the users and roles for the given group
- *
- * @param group the group for which the users/roles should be retrieved
- * @param con a database connection
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractGroupManager#doSelectAllGroups(java.sql.Connection)
*/
- protected void attachObjectsForGroup(Group group, Connection con)
- throws TorqueException, DataBackendException
+ protected List doSelectAllGroups(Connection con) throws TorqueException
{
- UserSet userSet = new UserSet();
+ Criteria criteria = new Criteria(TorqueDynamicGroupPeer.DATABASE_NAME);
- Criteria criteria = new Criteria();
- criteria.addJoin(TorqueDynamicUserGroupPeer.USER_ID, TorqueUserPeer.USER_ID);
- criteria.add(TorqueDynamicUserGroupPeer.GROUP_ID, (Integer)group.getId());
-
- List users = TorqueUserPeer.doSelect(criteria, con);
- UserManager userManager = getUserManager();
-
- for (Iterator i = users.iterator(); i.hasNext();)
- {
- TorqueUser u = (TorqueUser)i.next();
- User user = userManager.getUserInstance();
-
- user.setId(u.getId());
- user.setName(u.getName());
- user.setPassword(u.getPassword());
- userSet.add(user);
- }
-
- ((DynamicGroup)group).setUsers(userSet);
+ return TorqueDynamicGroupPeer.doSelect(criteria, con);
+ }
- RoleSet roleSet = new RoleSet();
-
- criteria.clear();
- criteria.addJoin(TorqueDynamicGroupRolePeer.ROLE_ID, TorqueRolePeer.ROLE_ID);
- criteria.add(TorqueDynamicGroupRolePeer.GROUP_ID, (Integer)group.getId());
-
- List roles = TorqueRolePeer.doSelect(criteria, con);
- RoleManager roleManager = getRoleManager();
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractGroupManager#doSelectById(java.lang.Integer, java.sql.Connection)
+ */
+ protected Group doSelectById(Integer id, Connection con) throws NoRowsException, TooManyRowsException, TorqueException
+ {
+ return TorqueDynamicGroupPeer.retrieveByPK(id, con);
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractGroupManager#doSelectByName(java.lang.String, java.sql.Connection)
+ */
+ protected Group doSelectByName(String name, Connection con) throws NoRowsException, TooManyRowsException, TorqueException
+ {
+ Criteria criteria = new Criteria(TorqueDynamicGroupPeer.DATABASE_NAME);
+ criteria.add(TorqueDynamicGroupPeer.GROUP_NAME, name);
+ criteria.setIgnoreCase(true);
+ criteria.setSingleRecord(true);
- for (Iterator i = roles.iterator(); i.hasNext();)
+ List groups = TorqueDynamicGroupPeer.doSelect(criteria, con);
+
+ if (groups.isEmpty())
{
- TorqueRole r = (TorqueRole)i.next();
- Role role = roleManager.getRoleInstance();
-
- role.setId(r.getId());
- role.setName(r.getName());
- roleSet.add(role);
+ throw new NoRowsException(name);
}
- ((DynamicGroup)group).setRoles(roleSet);
+ return (Group)groups.get(0);
}
}
Modified: jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicModelManagerImpl.java
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicModelManagerImpl.java?view=diff&rev=525904&r1=525903&r2=525904
==============================================================================
--- jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicModelManagerImpl.java (original)
+++ jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicModelManagerImpl.java Thu Apr 5 10:28:53 2007
@@ -14,6 +14,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+import java.sql.Connection;
+
import org.apache.fulcrum.security.entity.Group;
import org.apache.fulcrum.security.entity.Permission;
import org.apache.fulcrum.security.entity.Role;
@@ -24,18 +26,11 @@
import org.apache.fulcrum.security.model.dynamic.entity.DynamicPermission;
import org.apache.fulcrum.security.model.dynamic.entity.DynamicRole;
import org.apache.fulcrum.security.model.dynamic.entity.DynamicUser;
-import org.apache.fulcrum.security.torque.om.TorqueDynamicGroupRole;
-import org.apache.fulcrum.security.torque.om.TorqueDynamicGroupRolePeer;
-import org.apache.fulcrum.security.torque.om.TorqueDynamicRolePermission;
-import org.apache.fulcrum.security.torque.om.TorqueDynamicRolePermissionPeer;
-import org.apache.fulcrum.security.torque.om.TorqueDynamicUserDelegates;
-import org.apache.fulcrum.security.torque.om.TorqueDynamicUserDelegatesPeer;
-import org.apache.fulcrum.security.torque.om.TorqueDynamicUserGroup;
-import org.apache.fulcrum.security.torque.om.TorqueDynamicUserGroupPeer;
+import org.apache.fulcrum.security.torque.TorqueAbstractSecurityEntity;
import org.apache.fulcrum.security.util.DataBackendException;
import org.apache.fulcrum.security.util.UnknownEntityException;
import org.apache.torque.TorqueException;
-import org.apache.torque.util.Criteria;
+import org.apache.torque.util.Transaction;
/**
* This implementation persists to a database via Torque.
*
@@ -55,27 +50,39 @@
public synchronized void revoke(Group group, Role role)
throws DataBackendException, UnknownEntityException
{
- boolean groupExists = false;
- boolean roleExists = false;
- try
+ boolean groupExists = getGroupManager().checkExists(group);
+ boolean roleExists = getRoleManager().checkExists(role);
+
+ if (groupExists && roleExists)
{
- groupExists = getGroupManager().checkExists(group);
- roleExists = getRoleManager().checkExists(role);
+ ((DynamicGroup) group).removeRole(role);
+ ((DynamicRole) role).removeGroup(group);
- if (groupExists && roleExists)
+ Connection con = null;
+
+ try
{
- ((DynamicGroup) group).removeRole(role);
- ((DynamicRole) role).removeGroup(group);
-
- Criteria criteria = new Criteria();
- criteria.add(TorqueDynamicGroupRolePeer.ROLE_ID, (Integer)role.getId());
- criteria.add(TorqueDynamicGroupRolePeer.GROUP_ID, (Integer)group.getId());
- TorqueDynamicGroupRolePeer.doDelete(criteria);
+ con = Transaction.begin(((TorqueAbstractSecurityEntity)role).getDatabaseName());
+
+ ((TorqueAbstractSecurityEntity)role).update(con);
+ ((TorqueAbstractSecurityEntity)group).update(con);
+
+ Transaction.commit(con);
+ con = null;
}
- }
- catch (TorqueException e)
- {
- throw new DataBackendException("revoke('" + group.getName() + "', '" + role.getName() + "') failed", e);
+ catch (TorqueException e)
+ {
+ throw new DataBackendException("revoke('" + group.getName() + "', '" + role.getName() + "') failed", e);
+ }
+ finally
+ {
+ if (con != null)
+ {
+ Transaction.safeRollback(con);
+ }
+ }
+
+ return;
}
if (!groupExists)
@@ -100,28 +107,39 @@
public synchronized void grant(Role role, Permission permission)
throws DataBackendException, UnknownEntityException
{
- boolean roleExists = false;
- boolean permissionExists = false;
+ boolean roleExists = getRoleManager().checkExists(role);
+ boolean permissionExists = getPermissionManager().checkExists(permission);
- try
+ if (roleExists && permissionExists)
{
- roleExists = getRoleManager().checkExists(role);
- permissionExists = getPermissionManager().checkExists(permission);
+ ((DynamicRole) role).addPermission(permission);
+ ((DynamicPermission) permission).addRole(role);
- if (roleExists && permissionExists)
+ Connection con = null;
+
+ try
{
- ((DynamicRole) role).addPermission(permission);
- ((DynamicPermission) permission).addRole(role);
-
- TorqueDynamicRolePermission rp = new TorqueDynamicRolePermission();
- rp.setPermissionId((Integer)permission.getId());
- rp.setRoleId((Integer)role.getId());
- rp.save();
+ con = Transaction.begin(((TorqueAbstractSecurityEntity)role).getDatabaseName());
+
+ ((TorqueAbstractSecurityEntity)role).update(con);
+ ((TorqueAbstractSecurityEntity)permission).update(con);
+
+ Transaction.commit(con);
+ con = null;
}
- }
- catch (Exception e)
- {
- throw new DataBackendException("grant('" + role.getName() + "', '" + permission.getName() + "') failed", e);
+ catch (TorqueException e)
+ {
+ throw new DataBackendException("grant('" + role.getName() + "', '" + permission.getName() + "') failed", e);
+ }
+ finally
+ {
+ if (con != null)
+ {
+ Transaction.safeRollback(con);
+ }
+ }
+
+ return;
}
if (!roleExists)
@@ -146,28 +164,39 @@
public synchronized void revoke(Role role, Permission permission)
throws DataBackendException, UnknownEntityException
{
- boolean roleExists = false;
- boolean permissionExists = false;
+ boolean roleExists = getRoleManager().checkExists(role);
+ boolean permissionExists = getPermissionManager().checkExists(permission);
- try
+ if (roleExists && permissionExists)
{
- roleExists = getRoleManager().checkExists(role);
- permissionExists = getPermissionManager().checkExists(permission);
+ ((DynamicRole) role).removePermission(permission);
+ ((DynamicPermission) permission).removeRole(role);
- if (roleExists && permissionExists)
+ Connection con = null;
+
+ try
{
- ((DynamicRole) role).removePermission(permission);
- ((DynamicPermission) permission).removeRole(role);
-
- Criteria criteria = new Criteria();
- criteria.add(TorqueDynamicRolePermissionPeer.ROLE_ID, (Integer)role.getId());
- criteria.add(TorqueDynamicRolePermissionPeer.PERMISSION_ID, (Integer)permission.getId());
- TorqueDynamicRolePermissionPeer.doDelete(criteria);
+ con = Transaction.begin(((TorqueAbstractSecurityEntity)role).getDatabaseName());
+
+ ((TorqueAbstractSecurityEntity)role).update(con);
+ ((TorqueAbstractSecurityEntity)permission).update(con);
+
+ Transaction.commit(con);
+ con = null;
}
- }
- catch (TorqueException e)
- {
- throw new DataBackendException("revoke('" + role.getName() + "', '" + permission.getName() + "') failed", e);
+ catch (TorqueException e)
+ {
+ throw new DataBackendException("revoke('" + role.getName() + "', '" + permission.getName() + "') failed", e);
+ }
+ finally
+ {
+ if (con != null)
+ {
+ Transaction.safeRollback(con);
+ }
+ }
+
+ return;
}
if (!roleExists)
@@ -192,30 +221,39 @@
*/
public synchronized void grant(User user, Group group) throws DataBackendException, UnknownEntityException
{
- boolean groupExists = false;
- boolean userExists = false;
+ boolean groupExists = getGroupManager().checkExists(group);
+ boolean userExists = getUserManager().checkExists(user);
- try
+ if (groupExists && userExists)
{
- groupExists = getGroupManager().checkExists(group);
- userExists = getUserManager().checkExists(user);
-
- if (groupExists && userExists)
+ ((DynamicUser) user).addGroup(group);
+ ((DynamicGroup) group).addUser(user);
+
+ Connection con = null;
+
+ try
{
- ((DynamicUser) user).addGroup(group);
- ((DynamicGroup) group).addUser(user);
+ con = Transaction.begin(((TorqueAbstractSecurityEntity)user).getDatabaseName());
- TorqueDynamicUserGroup ug = new TorqueDynamicUserGroup();
- ug.setGroupId((Integer)group.getId());
- ug.setUserId((Integer)user.getId());
- ug.save();
-
- return;
+ ((TorqueAbstractSecurityEntity)user).update(con);
+ ((TorqueAbstractSecurityEntity)group).update(con);
+
+ Transaction.commit(con);
+ con = null;
}
- }
- catch (Exception e)
- {
- throw new DataBackendException("grant('" + user.getName() + "', '" + group.getName() + "') failed", e);
+ catch (TorqueException e)
+ {
+ throw new DataBackendException("grant('" + user.getName() + "', '" + group.getName() + "') failed", e);
+ }
+ finally
+ {
+ if (con != null)
+ {
+ Transaction.safeRollback(con);
+ }
+ }
+
+ return;
}
if (!groupExists)
@@ -240,30 +278,39 @@
*/
public synchronized void revoke(User user, Group group) throws DataBackendException, UnknownEntityException
{
- boolean groupExists = false;
- boolean userExists = false;
+ boolean groupExists = getGroupManager().checkExists(group);
+ boolean userExists = getUserManager().checkExists(user);
- try
+ if (groupExists && userExists)
{
- groupExists = getGroupManager().checkExists(group);
- userExists = getUserManager().checkExists(user);
-
- if (groupExists && userExists)
+ ((DynamicUser) user).removeGroup(group);
+ ((DynamicGroup) group).removeUser(user);
+
+ Connection con = null;
+
+ try
{
- ((DynamicUser) user).removeGroup(group);
- ((DynamicGroup) group).removeUser(user);
+ con = Transaction.begin(((TorqueAbstractSecurityEntity)user).getDatabaseName());
- Criteria criteria = new Criteria();
- criteria.add(TorqueDynamicUserGroupPeer.GROUP_ID, (Integer)group.getId());
- criteria.add(TorqueDynamicUserGroupPeer.USER_ID, (Integer)user.getId());
- TorqueDynamicUserGroupPeer.doDelete(criteria);
-
- return;
+ ((TorqueAbstractSecurityEntity)user).update(con);
+ ((TorqueAbstractSecurityEntity)group).update(con);
+
+ Transaction.commit(con);
+ con = null;
}
- }
- catch (TorqueException e)
- {
- throw new DataBackendException("revoke('" + user.getName() + "', '" + group.getName() + "') failed", e);
+ catch (TorqueException e)
+ {
+ throw new DataBackendException("revoke('" + user.getName() + "', '" + group.getName() + "') failed", e);
+ }
+ finally
+ {
+ if (con != null)
+ {
+ Transaction.safeRollback(con);
+ }
+ }
+
+ return;
}
if (!groupExists)
@@ -288,27 +335,39 @@
public synchronized void grant(Group group, Role role)
throws DataBackendException, UnknownEntityException
{
- boolean groupExists = false;
- boolean roleExists = false;
+ boolean groupExists = getGroupManager().checkExists(group);
+ boolean roleExists = getRoleManager().checkExists(role);
- try
+ if (groupExists && roleExists)
{
- groupExists = getGroupManager().checkExists(group);
- roleExists = getRoleManager().checkExists(role);
- if (groupExists && roleExists)
+ ((DynamicGroup) group).addRole(role);
+ ((DynamicRole) role).addGroup(group);
+
+ Connection con = null;
+
+ try
{
- ((DynamicGroup) group).addRole(role);
- ((DynamicRole) role).addGroup(group);
+ con = Transaction.begin(((TorqueAbstractSecurityEntity)role).getDatabaseName());
+
+ ((TorqueAbstractSecurityEntity)role).update(con);
+ ((TorqueAbstractSecurityEntity)group).update(con);
- TorqueDynamicGroupRole gr = new TorqueDynamicGroupRole();
- gr.setGroupId((Integer)group.getId());
- gr.setRoleId((Integer)role.getId());
- gr.save();
+ Transaction.commit(con);
+ con = null;
}
- }
- catch (Exception e)
- {
- throw new DataBackendException("grant('" + group.getName() + "', '" + role.getName() + "') failed", e);
+ catch (TorqueException e)
+ {
+ throw new DataBackendException("grant('" + group.getName() + "', '" + role.getName() + "') failed", e);
+ }
+ finally
+ {
+ if (con != null)
+ {
+ Transaction.safeRollback(con);
+ }
+ }
+
+ return;
}
if (!groupExists)
@@ -330,29 +389,40 @@
public synchronized void addDelegate(User delegator, User delegatee)
throws DataBackendException, UnknownEntityException
{
- boolean delegatorExists = false;
- boolean delegateeExists = false;
+ boolean delegatorExists = getUserManager().checkExists(delegator);
+ boolean delegateeExists = getUserManager().checkExists(delegatee);
- try
+ if (delegatorExists && delegateeExists)
{
- delegatorExists = getUserManager().checkExists(delegator);
- delegateeExists = getUserManager().checkExists(delegatee);
+ super.addDelegate(delegator, delegatee);
- if (delegatorExists && delegateeExists)
+ Connection con = null;
+
+ try
{
- super.addDelegate(delegator, delegatee);
-
- TorqueDynamicUserDelegates d = new TorqueDynamicUserDelegates();
- d.setDelegatorUserId((Integer)delegator.getId());
- d.setDelegateeUserId((Integer)delegatee.getId());
- d.save();
+ con = Transaction.begin(((TorqueAbstractSecurityEntity)delegator).getDatabaseName());
+
+ ((TorqueAbstractSecurityEntity)delegator).update(con);
+ ((TorqueAbstractSecurityEntity)delegatee).update(con);
+
+ Transaction.commit(con);
+ con = null;
}
- }
- catch (Exception e)
- {
- throw new DataBackendException("addDelegate('"
- + delegator.getName() + "', '"
- + delegatee.getName() + "') failed", e);
+ catch (TorqueException e)
+ {
+ throw new DataBackendException("addDelegate('"
+ + delegator.getName() + "', '"
+ + delegatee.getName() + "') failed", e);
+ }
+ finally
+ {
+ if (con != null)
+ {
+ Transaction.safeRollback(con);
+ }
+ }
+
+ return;
}
if (!delegatorExists)
@@ -374,29 +444,40 @@
public synchronized void removeDelegate(User delegator, User delegatee)
throws DataBackendException, UnknownEntityException
{
- boolean delegatorExists = false;
- boolean delegateeExists = false;
+ boolean delegatorExists = getUserManager().checkExists(delegator);
+ boolean delegateeExists = getUserManager().checkExists(delegatee);
- try
+ if (delegatorExists && delegateeExists)
{
- delegatorExists = getUserManager().checkExists(delegator);
- delegateeExists = getUserManager().checkExists(delegatee);
+ super.removeDelegate(delegator, delegatee);
- if (delegatorExists && delegateeExists)
+ Connection con = null;
+
+ try
{
- super.removeDelegate(delegator, delegatee);
-
- Criteria criteria = new Criteria();
- criteria.add(TorqueDynamicUserDelegatesPeer.DELEGATOR_USER_ID, (Integer)delegator.getId());
- criteria.add(TorqueDynamicUserDelegatesPeer.DELEGATEE_USER_ID, (Integer)delegatee.getId());
- TorqueDynamicUserDelegatesPeer.doDelete(criteria);
+ con = Transaction.begin(((TorqueAbstractSecurityEntity)delegator).getDatabaseName());
+
+ ((TorqueAbstractSecurityEntity)delegator).update(con);
+ ((TorqueAbstractSecurityEntity)delegatee).update(con);
+
+ Transaction.commit(con);
+ con = null;
}
- }
- catch (TorqueException e)
- {
- throw new DataBackendException("removeDelegate('"
- + delegator.getName() + "', '"
- + delegatee.getName() + "') failed", e);
+ catch (TorqueException e)
+ {
+ throw new DataBackendException("removeDelegate('"
+ + delegator.getName() + "', '"
+ + delegatee.getName() + "') failed", e);
+ }
+ finally
+ {
+ if (con != null)
+ {
+ Transaction.safeRollback(con);
+ }
+ }
+
+ return;
}
if (!delegatorExists)
Modified: jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicPermissionManagerImpl.java
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicPermissionManagerImpl.java?view=diff&rev=525904&r1=525903&r2=525904
==============================================================================
--- jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicPermissionManagerImpl.java (original)
+++ jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicPermissionManagerImpl.java Thu Apr 5 10:28:53 2007
@@ -15,19 +15,13 @@
* limitations under the License.
*/
import java.sql.Connection;
-import java.util.Iterator;
import java.util.List;
-import org.apache.fulcrum.security.RoleManager;
import org.apache.fulcrum.security.entity.Permission;
-import org.apache.fulcrum.security.entity.Role;
-import org.apache.fulcrum.security.model.dynamic.entity.DynamicPermission;
import org.apache.fulcrum.security.torque.TorqueAbstractPermissionManager;
-import org.apache.fulcrum.security.torque.om.TorqueDynamicRolePermissionPeer;
-import org.apache.fulcrum.security.torque.om.TorqueRole;
-import org.apache.fulcrum.security.torque.om.TorqueRolePeer;
-import org.apache.fulcrum.security.util.DataBackendException;
-import org.apache.fulcrum.security.util.RoleSet;
+import org.apache.fulcrum.security.torque.om.TorqueDynamicPermissionPeer;
+import org.apache.torque.NoRowsException;
+import org.apache.torque.TooManyRowsException;
import org.apache.torque.TorqueException;
import org.apache.torque.util.Criteria;
/**
@@ -39,33 +33,40 @@
public class TorqueDynamicPermissionManagerImpl extends TorqueAbstractPermissionManager
{
/**
- * Provides the roles for the given permission
- *
- * @param permission the permission for which the roles should be retrieved
- * @param con a database connection
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractPermissionManager#doSelectAllPermissions(java.sql.Connection)
*/
- protected void attachObjectsForPermission(Permission permission, Connection con)
- throws TorqueException, DataBackendException
+ protected List doSelectAllPermissions(Connection con) throws TorqueException
{
- RoleSet roleSet = new RoleSet();
+ Criteria criteria = new Criteria(TorqueDynamicPermissionPeer.DATABASE_NAME);
- Criteria criteria = new Criteria();
- criteria.addJoin(TorqueDynamicRolePermissionPeer.ROLE_ID, TorqueRolePeer.ROLE_ID);
- criteria.add(TorqueDynamicRolePermissionPeer.PERMISSION_ID, (Integer)permission.getId());
-
- List roles = TorqueRolePeer.doSelect(criteria, con);
- RoleManager roleManager = getRoleManager();
+ return TorqueDynamicPermissionPeer.doSelect(criteria, con);
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractPermissionManager#doSelectById(java.lang.Integer, java.sql.Connection)
+ */
+ protected Permission doSelectById(Integer id, Connection con) throws NoRowsException, TooManyRowsException, TorqueException
+ {
+ return TorqueDynamicPermissionPeer.retrieveByPK(id, con);
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractPermissionManager#doSelectByName(java.lang.String, java.sql.Connection)
+ */
+ protected Permission doSelectByName(String name, Connection con) throws NoRowsException, TooManyRowsException, TorqueException
+ {
+ Criteria criteria = new Criteria(TorqueDynamicPermissionPeer.DATABASE_NAME);
+ criteria.add(TorqueDynamicPermissionPeer.PERMISSION_NAME, name);
+ criteria.setIgnoreCase(true);
+ criteria.setSingleRecord(true);
- for (Iterator i = roles.iterator(); i.hasNext();)
+ List permissions = TorqueDynamicPermissionPeer.doSelect(criteria, con);
+
+ if (permissions.isEmpty())
{
- TorqueRole r = (TorqueRole)i.next();
- Role role = roleManager.getRoleInstance();
-
- role.setId(r.getId());
- role.setName(r.getName());
- roleSet.add(role);
+ throw new NoRowsException(name);
}
- ((DynamicPermission)permission).setRoles(roleSet);
+ return (Permission)permissions.get(0);
}
}
Modified: jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicRoleManagerImpl.java
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicRoleManagerImpl.java?view=diff&rev=525904&r1=525903&r2=525904
==============================================================================
--- jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicRoleManagerImpl.java (original)
+++ jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicRoleManagerImpl.java Thu Apr 5 10:28:53 2007
@@ -15,26 +15,13 @@
* limitations under the License.
*/
import java.sql.Connection;
-import java.util.Iterator;
import java.util.List;
-import org.apache.fulcrum.security.GroupManager;
-import org.apache.fulcrum.security.PermissionManager;
-import org.apache.fulcrum.security.entity.Group;
-import org.apache.fulcrum.security.entity.Permission;
import org.apache.fulcrum.security.entity.Role;
-import org.apache.fulcrum.security.model.dynamic.entity.DynamicRole;
import org.apache.fulcrum.security.torque.TorqueAbstractRoleManager;
-import org.apache.fulcrum.security.torque.om.TorqueDynamicGroupRolePeer;
-import org.apache.fulcrum.security.torque.om.TorqueDynamicRolePermissionPeer;
-import org.apache.fulcrum.security.torque.om.TorqueGroup;
-import org.apache.fulcrum.security.torque.om.TorqueGroupPeer;
-import org.apache.fulcrum.security.torque.om.TorquePermission;
-import org.apache.fulcrum.security.torque.om.TorquePermissionPeer;
-import org.apache.fulcrum.security.util.DataBackendException;
-import org.apache.fulcrum.security.util.GroupSet;
-import org.apache.fulcrum.security.util.PermissionSet;
-import org.apache.fulcrum.security.util.UnknownEntityException;
+import org.apache.fulcrum.security.torque.om.TorqueDynamicRolePeer;
+import org.apache.torque.NoRowsException;
+import org.apache.torque.TooManyRowsException;
import org.apache.torque.TorqueException;
import org.apache.torque.util.Criteria;
/**
@@ -46,54 +33,40 @@
public class TorqueDynamicRoleManagerImpl extends TorqueAbstractRoleManager
{
/**
- * Provides the groups/permissions for the given role
- *
- * @param role the role for which the groups/permissions should be retrieved
- * @param con a database connection
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractRoleManager#doSelectAllRoles(java.sql.Connection)
*/
- protected void attachObjectsForRole(Role role, Connection con)
- throws TorqueException, DataBackendException, UnknownEntityException
+ protected List doSelectAllRoles(Connection con) throws TorqueException
{
- GroupSet groupSet = new GroupSet();
-
- Criteria criteria = new Criteria();
- criteria.addJoin(TorqueDynamicGroupRolePeer.GROUP_ID, TorqueGroupPeer.GROUP_ID);
- criteria.add(TorqueDynamicGroupRolePeer.ROLE_ID, (Integer)role.getId());
-
- List groups = TorqueGroupPeer.doSelect(criteria, con);
- GroupManager groupManager = getGroupManager();
-
- for (Iterator i = groups.iterator(); i.hasNext();)
- {
- TorqueGroup g = (TorqueGroup)i.next();
- Group group = groupManager.getGroupInstance();
-
- group.setId(g.getId());
- group.setName(g.getName());
- groupSet.add(group);
- }
-
- ((DynamicRole)role).setGroups(groupSet);
+ Criteria criteria = new Criteria(TorqueDynamicRolePeer.DATABASE_NAME);
- PermissionSet permissionSet = new PermissionSet();
-
- criteria.clear();
- criteria.addJoin(TorqueDynamicRolePermissionPeer.PERMISSION_ID, TorquePermissionPeer.PERMISSION_ID);
- criteria.add(TorqueDynamicRolePermissionPeer.ROLE_ID, (Integer)role.getId());
-
- List permissions = TorquePermissionPeer.doSelect(criteria, con);
- PermissionManager permissionManager = getPermissionManager();
+ return TorqueDynamicRolePeer.doSelect(criteria, con);
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractRoleManager#doSelectById(java.lang.Integer, java.sql.Connection)
+ */
+ protected Role doSelectById(Integer id, Connection con) throws NoRowsException, TooManyRowsException, TorqueException
+ {
+ return TorqueDynamicRolePeer.retrieveByPK(id, con);
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractRoleManager#doSelectByName(java.lang.String, java.sql.Connection)
+ */
+ protected Role doSelectByName(String name, Connection con) throws NoRowsException, TooManyRowsException, TorqueException
+ {
+ Criteria criteria = new Criteria(TorqueDynamicRolePeer.DATABASE_NAME);
+ criteria.add(TorqueDynamicRolePeer.ROLE_NAME, name);
+ criteria.setIgnoreCase(true);
+ criteria.setSingleRecord(true);
+
+ List roles = TorqueDynamicRolePeer.doSelect(criteria, con);
- for (Iterator i = permissions.iterator(); i.hasNext();)
+ if (roles.isEmpty())
{
- TorquePermission p = (TorquePermission)i.next();
- Permission permission = permissionManager.getPermissionInstance();
-
- permission.setId(p.getId());
- permission.setName(p.getName());
- permissionSet.add(permission);
+ throw new NoRowsException(name);
}
- ((DynamicRole)role).setPermissions(permissionSet);
+ return (Role)roles.get(0);
}
}
Modified: jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicUserManagerImpl.java
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicUserManagerImpl.java?view=diff&rev=525904&r1=525903&r2=525904
==============================================================================
--- jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicUserManagerImpl.java (original)
+++ jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/dynamic/TorqueDynamicUserManagerImpl.java Thu Apr 5 10:28:53 2007
@@ -15,24 +15,13 @@
* limitations under the License.
*/
import java.sql.Connection;
-import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
-import java.util.Set;
-import org.apache.fulcrum.security.GroupManager;
-import org.apache.fulcrum.security.entity.Group;
import org.apache.fulcrum.security.entity.User;
-import org.apache.fulcrum.security.model.dynamic.entity.DynamicUser;
import org.apache.fulcrum.security.torque.TorqueAbstractUserManager;
-import org.apache.fulcrum.security.torque.om.TorqueDynamicUserDelegatesPeer;
-import org.apache.fulcrum.security.torque.om.TorqueDynamicUserGroupPeer;
-import org.apache.fulcrum.security.torque.om.TorqueGroup;
-import org.apache.fulcrum.security.torque.om.TorqueGroupPeer;
-import org.apache.fulcrum.security.torque.om.TorqueUser;
-import org.apache.fulcrum.security.torque.om.TorqueUserPeer;
-import org.apache.fulcrum.security.util.DataBackendException;
-import org.apache.fulcrum.security.util.GroupSet;
+import org.apache.fulcrum.security.torque.om.TorqueDynamicUserPeer;
+import org.apache.torque.NoRowsException;
+import org.apache.torque.TooManyRowsException;
import org.apache.torque.TorqueException;
import org.apache.torque.util.Criteria;
/**
@@ -44,75 +33,40 @@
public class TorqueDynamicUserManagerImpl extends TorqueAbstractUserManager
{
/**
- * Provides the attached objects for the given user
- *
- * @param user the user for which the attached objects should be retrieved
- * @param con a database connection
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractUserManager#doSelectAllUsers(java.sql.Connection)
*/
- protected void attachObjectsForUser(User user, Connection con)
- throws TorqueException, DataBackendException
+ protected List doSelectAllUsers(Connection con) throws TorqueException
{
- GroupSet groupSet = new GroupSet();
-
- Criteria criteria = new Criteria();
- criteria.addJoin(TorqueDynamicUserGroupPeer.GROUP_ID, TorqueGroupPeer.GROUP_ID);
- criteria.add(TorqueDynamicUserGroupPeer.USER_ID, (Integer)user.getId());
-
- List groups = TorqueGroupPeer.doSelect(criteria, con);
- GroupManager groupManager = getGroupManager();
-
- for (Iterator i = groups.iterator(); i.hasNext();)
- {
- TorqueGroup g = (TorqueGroup)i.next();
- Group group = groupManager.getGroupInstance();
-
- group.setId(g.getId());
- group.setName(g.getName());
- groupSet.add(group);
- }
-
- ((DynamicUser)user).setGroups(groupSet);
+ Criteria criteria = new Criteria(TorqueDynamicUserPeer.DATABASE_NAME);
- Set delegatorsSet = new HashSet();
-
- criteria.clear();
- criteria.addJoin(TorqueDynamicUserDelegatesPeer.DELEGATOR_USER_ID, TorqueUserPeer.USER_ID);
- criteria.add(TorqueDynamicUserDelegatesPeer.DELEGATEE_USER_ID, (Integer)user.getId());
-
- List users = TorqueUserPeer.doSelect(criteria, con);
-
- for (Iterator i = users.iterator(); i.hasNext();)
- {
- TorqueUser u = (TorqueUser)i.next();
- User delegator = getUserInstance();
-
- delegator.setId(u.getId());
- delegator.setName(u.getName());
- delegator.setPassword(u.getPassword());
- delegatorsSet.add(delegator);
- }
-
- ((DynamicUser)user).setDelegators(delegatorsSet);
+ return TorqueDynamicUserPeer.doSelect(criteria, con);
+ }
- Set delegateesSet = new HashSet();
-
- criteria.clear();
- criteria.addJoin(TorqueDynamicUserDelegatesPeer.DELEGATEE_USER_ID, TorqueUserPeer.USER_ID);
- criteria.add(TorqueDynamicUserDelegatesPeer.DELEGATOR_USER_ID, (Integer)user.getId());
-
- users = TorqueUserPeer.doSelect(criteria, con);
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractUserManager#doSelectById(java.lang.Integer, java.sql.Connection)
+ */
+ protected User doSelectById(Integer id, Connection con) throws NoRowsException, TooManyRowsException, TorqueException
+ {
+ return TorqueDynamicUserPeer.retrieveByPK(id, con);
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractUserManager#doSelectByName(java.lang.String, java.sql.Connection)
+ */
+ protected User doSelectByName(String name, Connection con) throws NoRowsException, TooManyRowsException, TorqueException
+ {
+ Criteria criteria = new Criteria(TorqueDynamicUserPeer.DATABASE_NAME);
+ criteria.add(TorqueDynamicUserPeer.LOGIN_NAME, name);
+ criteria.setIgnoreCase(true);
+ criteria.setSingleRecord(true);
+
+ List users = TorqueDynamicUserPeer.doSelect(criteria, con);
- for (Iterator i = users.iterator(); i.hasNext();)
+ if (users.isEmpty())
{
- TorqueUser u = (TorqueUser)i.next();
- User delegatee = getUserInstance();
-
- delegatee.setId(u.getId());
- delegatee.setName(u.getName());
- delegatee.setPassword(u.getPassword());
- delegateesSet.add(delegatee);
+ throw new NoRowsException(name);
}
- ((DynamicUser)user).setDelegatees(delegateesSet);
+ return (User)users.get(0);
}
}
Added: jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueAbstractTurbineGroup.java
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueAbstractTurbineGroup.java?view=auto&rev=525904
==============================================================================
--- jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueAbstractTurbineGroup.java (added)
+++ jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueAbstractTurbineGroup.java Thu Apr 5 10:28:53 2007
@@ -0,0 +1,174 @@
+package org.apache.fulcrum.security.torque.turbine;
+/*
+ * Copyright 2001-2004 The Apache Software Foundation
+ *
+ * Licensed 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.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.fulcrum.security.model.turbine.entity.TurbineGroup;
+import org.apache.fulcrum.security.model.turbine.entity.TurbineUserGroupRole;
+import org.apache.fulcrum.security.torque.TorqueAbstractSecurityEntity;
+import org.apache.fulcrum.security.torque.om.TorqueTurbineGroupPeer;
+import org.apache.fulcrum.security.torque.om.TorqueTurbineUserGroupRole;
+import org.apache.fulcrum.security.torque.om.TorqueTurbineUserGroupRolePeer;
+import org.apache.torque.TorqueException;
+import org.apache.torque.om.SimpleKey;
+import org.apache.torque.util.Criteria;
+/**
+ * This abstract class provides the SecurityInterface to the managers.
+ *
+ * @author <a href="mailto:tv@apache.org">Thomas Vandahl</a>
+ * @version $Id:$
+ */
+public abstract class TorqueAbstractTurbineGroup extends TorqueAbstractSecurityEntity
+ implements TurbineGroup
+{
+ /** a cache of user_group_role objects */
+ private Set userGroupRoleSet = null;
+
+ /**
+ * Forward reference to generated code
+ *
+ * Get a list of association objects, pre-populated with their TorqueTurbineRole
+ * objects.
+ *
+ * @param criteria Criteria to define the selection of records
+ * @throws TorqueException
+ *
+ * @return a list of User/Group/Role relations
+ */
+ protected abstract List getTorqueTurbineUserGroupRolesJoinTorqueTurbineRole(Criteria criteria)
+ throws TorqueException;
+
+ /**
+ * @see org.apache.fulcrum.security.model.turbine.entity.TurbineGroup#addUserGroupRole(org.apache.fulcrum.security.model.turbine.entity.TurbineUserGroupRole)
+ */
+ public void addUserGroupRole(TurbineUserGroupRole userGroupRole)
+ {
+ getUserGroupRoleSet().add(userGroupRole);
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.model.turbine.entity.TurbineGroup#getUserGroupRoleSet()
+ */
+ public Set getUserGroupRoleSet()
+ {
+ if (userGroupRoleSet == null)
+ {
+ userGroupRoleSet = new HashSet();
+ }
+
+ return userGroupRoleSet;
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.model.turbine.entity.TurbineGroup#removeUserGroupRole(org.apache.fulcrum.security.model.turbine.entity.TurbineUserGroupRole)
+ */
+ public void removeUserGroupRole(TurbineUserGroupRole userGroupRole)
+ {
+ getUserGroupRoleSet().remove(userGroupRole);
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.model.turbine.entity.TurbineGroup#setUserGroupRoleSet(java.util.Set)
+ */
+ public void setUserGroupRoleSet(Set userGroupRoleSet)
+ {
+ if (userGroupRoleSet != null)
+ {
+ this.userGroupRoleSet = userGroupRoleSet;
+ }
+ else
+ {
+ this.userGroupRoleSet = new HashSet();
+ }
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractSecurityEntity#getDatabaseName()
+ */
+ public String getDatabaseName()
+ {
+ return TorqueTurbineGroupPeer.DATABASE_NAME;
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractSecurityEntity#retrieveAttachedObjects(java.sql.Connection)
+ */
+ public void retrieveAttachedObjects(Connection con) throws TorqueException
+ {
+ this.userGroupRoleSet = new HashSet();
+
+ // the generated method that allows a Connection parameter is missing
+ List ugrs = getTorqueTurbineUserGroupRolesJoinTorqueTurbineRole(new Criteria());
+
+ for (Iterator i = ugrs.iterator(); i.hasNext();)
+ {
+ TorqueTurbineUserGroupRole ttugr = (TorqueTurbineUserGroupRole)i.next();
+
+ TurbineUserGroupRole ugr = new TurbineUserGroupRole();
+ ugr.setGroup(this);
+ ugr.setRole(ttugr.getTorqueTurbineRole());
+ ugr.setUser(ttugr.getTorqueTurbineUser(con));
+ userGroupRoleSet.add(ugr);
+ }
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractSecurityEntity#update(java.sql.Connection)
+ */
+ public void update(Connection con) throws TorqueException
+ {
+ if (userGroupRoleSet != null)
+ {
+ Criteria criteria = new Criteria();
+
+ /* remove old entries */
+ criteria.add(TorqueTurbineUserGroupRolePeer.GROUP_ID, getEntityId());
+ TorqueTurbineUserGroupRolePeer.doDelete(criteria, con);
+
+ for (Iterator i = userGroupRoleSet.iterator(); i.hasNext();)
+ {
+ TurbineUserGroupRole ugr = (TurbineUserGroupRole)i.next();
+
+ TorqueTurbineUserGroupRole ttugr = new TorqueTurbineUserGroupRole();
+ ttugr.setGroupId((Integer)ugr.getGroup().getId());
+ ttugr.setUserId((Integer)ugr.getUser().getId());
+ ttugr.setRoleId((Integer)ugr.getRole().getId());
+ ttugr.save(con);
+ }
+ }
+
+ try
+ {
+ save(con);
+ }
+ catch (Exception e)
+ {
+ throw new TorqueException(e);
+ }
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractSecurityEntity#delete()
+ */
+ public void delete() throws TorqueException
+ {
+ TorqueTurbineGroupPeer.doDelete(SimpleKey.keyFor(getEntityId()));
+ }
+}
\ No newline at end of file
Added: jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueAbstractTurbinePermission.java
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueAbstractTurbinePermission.java?view=auto&rev=525904
==============================================================================
--- jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueAbstractTurbinePermission.java (added)
+++ jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueAbstractTurbinePermission.java Thu Apr 5 10:28:53 2007
@@ -0,0 +1,189 @@
+package org.apache.fulcrum.security.torque.turbine;
+/*
+ * Copyright 2001-2004 The Apache Software Foundation
+ *
+ * Licensed 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.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.fulcrum.security.entity.Role;
+import org.apache.fulcrum.security.model.turbine.entity.TurbinePermission;
+import org.apache.fulcrum.security.torque.TorqueAbstractSecurityEntity;
+import org.apache.fulcrum.security.torque.om.TorqueTurbinePermissionPeer;
+import org.apache.fulcrum.security.torque.om.TorqueTurbineRole;
+import org.apache.fulcrum.security.torque.om.TorqueTurbineRolePermission;
+import org.apache.fulcrum.security.torque.om.TorqueTurbineRolePermissionPeer;
+import org.apache.fulcrum.security.util.RoleSet;
+import org.apache.torque.TorqueException;
+import org.apache.torque.om.SimpleKey;
+import org.apache.torque.util.Criteria;
+/**
+ * This abstract class provides the SecurityInterface to the managers.
+ *
+ * @author <a href="mailto:tv@apache.org">Thomas Vandahl</a>
+ * @version $Id:$
+ */
+public abstract class TorqueAbstractTurbinePermission extends TorqueAbstractSecurityEntity
+ implements TurbinePermission
+{
+ /** a cache of role objects */
+ private Set roleSet = null;
+
+ /**
+ * Forward reference to generated code
+ *
+ * Get a list of association objects, pre-populated with their TorqueTurbineRole
+ * objects.
+ *
+ * @param criteria Criteria to define the selection of records
+ * @throws TorqueException
+ *
+ * @return a list of Role/Permission relations
+ */
+ protected abstract List getTorqueTurbineRolePermissionsJoinTorqueTurbineRole(Criteria criteria)
+ throws TorqueException;
+
+ /**
+ * @see org.apache.fulcrum.security.model.turbine.entity.TurbinePermission#addRole(org.apache.fulcrum.security.entity.Role)
+ */
+ public void addRole(Role role)
+ {
+ getRoles().add(role);
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.model.turbine.entity.TurbinePermission#getRoles()
+ */
+ public RoleSet getRoles()
+ {
+ if (roleSet == null)
+ {
+ roleSet = new RoleSet();
+ }
+ else if(!(roleSet instanceof RoleSet))
+ {
+ roleSet = new RoleSet(roleSet);
+ }
+
+ return (RoleSet)roleSet;
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.model.turbine.entity.TurbinePermission#getRolesAsSet()
+ */
+ public Set getRolesAsSet()
+ {
+ return roleSet;
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.model.turbine.entity.TurbinePermission#removeRole(org.apache.fulcrum.security.entity.Role)
+ */
+ public void removeRole(Role role)
+ {
+ getRoles().remove(role);
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.model.turbine.entity.TurbinePermission#setRoles(org.apache.fulcrum.security.util.RoleSet)
+ */
+ public void setRoles(RoleSet roleSet)
+ {
+ if (roleSet != null)
+ {
+ this.roleSet = roleSet;
+ }
+ else
+ {
+ this.roleSet = new RoleSet();
+ }
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.model.turbine.entity.TurbinePermission#setRolesAsSet(java.util.Set)
+ */
+ public void setRolesAsSet(Set roles)
+ {
+ setRoles(new RoleSet(roles));
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractSecurityEntity#getDatabaseName()
+ */
+ public String getDatabaseName()
+ {
+ return TorqueTurbinePermissionPeer.DATABASE_NAME;
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractSecurityEntity#retrieveAttachedObjects(java.sql.Connection)
+ */
+ public void retrieveAttachedObjects(Connection con) throws TorqueException
+ {
+ this.roleSet = new RoleSet();
+
+ // the generated method that allows a Connection parameter is missing
+ List rolepermissions = getTorqueTurbineRolePermissionsJoinTorqueTurbineRole(new Criteria());
+
+ for (Iterator i = rolepermissions.iterator(); i.hasNext();)
+ {
+ TorqueTurbineRolePermission ttrp = (TorqueTurbineRolePermission)i.next();
+ roleSet.add(ttrp.getTorqueTurbineRole());
+ }
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractSecurityEntity#update(java.sql.Connection)
+ */
+ public void update(Connection con) throws TorqueException
+ {
+ if (roleSet != null)
+ {
+ Criteria criteria = new Criteria();
+
+ /* remove old entries */
+ criteria.add(TorqueTurbineRolePermissionPeer.PERMISSION_ID, getEntityId());
+ TorqueTurbineRolePermissionPeer.doDelete(criteria, con);
+
+ for (Iterator i = roleSet.iterator(); i.hasNext();)
+ {
+ TorqueTurbineRole role = (TorqueTurbineRole)i.next();
+
+ TorqueTurbineRolePermission rp = new TorqueTurbineRolePermission();
+ rp.setRoleId(role.getEntityId());
+ rp.setPermissionId(getEntityId());
+ rp.save(con);
+ }
+ }
+
+ try
+ {
+ save(con);
+ }
+ catch (Exception e)
+ {
+ throw new TorqueException(e);
+ }
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractSecurityEntity#delete()
+ */
+ public void delete() throws TorqueException
+ {
+ TorqueTurbinePermissionPeer.doDelete(SimpleKey.keyFor(getEntityId()));
+ }
+}
\ No newline at end of file
Added: jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueAbstractTurbineRole.java
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueAbstractTurbineRole.java?view=auto&rev=525904
==============================================================================
--- jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueAbstractTurbineRole.java (added)
+++ jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueAbstractTurbineRole.java Thu Apr 5 10:28:53 2007
@@ -0,0 +1,290 @@
+package org.apache.fulcrum.security.torque.turbine;
+/*
+ * Copyright 2001-2004 The Apache Software Foundation
+ *
+ * Licensed 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.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.fulcrum.security.entity.Permission;
+import org.apache.fulcrum.security.model.turbine.entity.TurbineRole;
+import org.apache.fulcrum.security.model.turbine.entity.TurbineUserGroupRole;
+import org.apache.fulcrum.security.torque.TorqueAbstractSecurityEntity;
+import org.apache.fulcrum.security.torque.om.TorqueTurbinePermission;
+import org.apache.fulcrum.security.torque.om.TorqueTurbineRolePeer;
+import org.apache.fulcrum.security.torque.om.TorqueTurbineRolePermission;
+import org.apache.fulcrum.security.torque.om.TorqueTurbineRolePermissionPeer;
+import org.apache.fulcrum.security.torque.om.TorqueTurbineUserGroupRole;
+import org.apache.fulcrum.security.torque.om.TorqueTurbineUserGroupRolePeer;
+import org.apache.fulcrum.security.util.PermissionSet;
+import org.apache.torque.TorqueException;
+import org.apache.torque.om.SimpleKey;
+import org.apache.torque.util.Criteria;
+/**
+ * This abstract class provides the SecurityInterface to the managers.
+ *
+ * @author <a href="mailto:tv@apache.org">Thomas Vandahl</a>
+ * @version $Id:$
+ */
+public abstract class TorqueAbstractTurbineRole extends TorqueAbstractSecurityEntity
+ implements TurbineRole
+{
+ /** a cache of permission objects */
+ private Set permissionSet = null;
+
+ /** a cache of user_group_role objects */
+ private Set userGroupRoleSet = null;
+
+ /**
+ * Forward reference to generated code
+ *
+ * Get a list of association objects, pre-populated with their TorqueTurbinePermission
+ * objects.
+ *
+ * @param criteria Criteria to define the selection of records
+ * @throws TorqueException
+ *
+ * @return a list of Role/Permission relations
+ */
+ protected abstract List getTorqueTurbineRolePermissionsJoinTorqueTurbinePermission(Criteria criteria)
+ throws TorqueException;
+
+ /**
+ * Forward reference to generated code
+ *
+ * Get a list of association objects, pre-populated with their TorqueTurbineGroup
+ * objects.
+ *
+ * @param criteria Criteria to define the selection of records
+ * @throws TorqueException
+ *
+ * @return a list of User/Group/Role relations
+ */
+ protected abstract List getTorqueTurbineUserGroupRolesJoinTorqueTurbineGroup(Criteria criteria)
+ throws TorqueException;
+
+ /**
+ * @see org.apache.fulcrum.security.model.turbine.entity.TurbineRole#addPermission(org.apache.fulcrum.security.entity.Permission)
+ */
+ public void addPermission(Permission permission)
+ {
+ getPermissions().add(permission);
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.model.turbine.entity.TurbineRole#addUserGroupRole(org.apache.fulcrum.security.model.turbine.entity.TurbineUserGroupRole)
+ */
+ public void addUserGroupRole(TurbineUserGroupRole userGroupRole)
+ {
+ getUserGroupRoleSet().add(userGroupRole);
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.model.turbine.entity.TurbineRole#getPermissions()
+ */
+ public PermissionSet getPermissions()
+ {
+ if (permissionSet == null)
+ {
+ permissionSet = new PermissionSet();
+ }
+ else if(!(permissionSet instanceof PermissionSet))
+ {
+ permissionSet = new PermissionSet(permissionSet);
+ }
+
+ return (PermissionSet)permissionSet;
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.model.turbine.entity.TurbineRole#getPermissionsAsSet()
+ */
+ public Set getPermissionsAsSet()
+ {
+ return permissionSet;
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.model.turbine.entity.TurbineRole#getUserGroupRoleSet()
+ */
+ public Set getUserGroupRoleSet()
+ {
+ if (userGroupRoleSet == null)
+ {
+ userGroupRoleSet = new HashSet();
+ }
+
+ return userGroupRoleSet;
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.model.turbine.entity.TurbineRole#removePermission(org.apache.fulcrum.security.entity.Permission)
+ */
+ public void removePermission(Permission permission)
+ {
+ getPermissions().remove(permission);
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.model.turbine.entity.TurbineRole#removeUserGroupRole(org.apache.fulcrum.security.model.turbine.entity.TurbineUserGroupRole)
+ */
+ public void removeUserGroupRole(TurbineUserGroupRole userGroupRole)
+ {
+ getUserGroupRoleSet().remove(userGroupRole);
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.model.turbine.entity.TurbineRole#setPermissions(org.apache.fulcrum.security.util.PermissionSet)
+ */
+ public void setPermissions(PermissionSet permissionSet)
+ {
+ if (permissionSet != null)
+ {
+ this.permissionSet = permissionSet;
+ }
+ else
+ {
+ this.permissionSet = new PermissionSet();
+ }
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.model.turbine.entity.TurbineRole#setPermissionsAsSet(java.util.Set)
+ */
+ public void setPermissionsAsSet(Set permissions)
+ {
+ setPermissions(new PermissionSet(permissions));
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.model.turbine.entity.TurbineRole#setUserGroupRoleSet(java.util.Set)
+ */
+ public void setUserGroupRoleSet(Set userGroupRoleSet)
+ {
+ if (userGroupRoleSet != null)
+ {
+ this.userGroupRoleSet = userGroupRoleSet;
+ }
+ else
+ {
+ this.userGroupRoleSet = new HashSet();
+ }
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractSecurityEntity#getDatabaseName()
+ */
+ public String getDatabaseName()
+ {
+ return TorqueTurbineRolePeer.DATABASE_NAME;
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractSecurityEntity#retrieveAttachedObjects(java.sql.Connection)
+ */
+ public void retrieveAttachedObjects(Connection con) throws TorqueException
+ {
+ this.permissionSet = new PermissionSet();
+
+ // the generated method that allows a Connection parameter is missing
+ List rolepermissions = getTorqueTurbineRolePermissionsJoinTorqueTurbinePermission(new Criteria());
+
+ for (Iterator i = rolepermissions.iterator(); i.hasNext();)
+ {
+ TorqueTurbineRolePermission ttrp = (TorqueTurbineRolePermission)i.next();
+ permissionSet.add(ttrp.getTorqueTurbinePermission());
+ }
+
+ this.userGroupRoleSet = new HashSet();
+
+ // the generated method that allows a Connection parameter is missing
+ List ugrs = getTorqueTurbineUserGroupRolesJoinTorqueTurbineGroup(new Criteria());
+
+ for (Iterator i = ugrs.iterator(); i.hasNext();)
+ {
+ TorqueTurbineUserGroupRole ttugr = (TorqueTurbineUserGroupRole)i.next();
+
+ TurbineUserGroupRole ugr = new TurbineUserGroupRole();
+ ugr.setRole(this);
+ ugr.setGroup(ttugr.getTorqueTurbineGroup());
+ ugr.setUser(ttugr.getTorqueTurbineUser(con));
+ userGroupRoleSet.add(ugr);
+ }
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractSecurityEntity#update(java.sql.Connection)
+ */
+ public void update(Connection con) throws TorqueException
+ {
+ if (permissionSet != null)
+ {
+ Criteria criteria = new Criteria();
+
+ /* remove old entries */
+ criteria.add(TorqueTurbineRolePermissionPeer.ROLE_ID, getEntityId());
+ TorqueTurbineRolePermissionPeer.doDelete(criteria, con);
+
+ for (Iterator i = permissionSet.iterator(); i.hasNext();)
+ {
+ TorqueTurbinePermission permission = (TorqueTurbinePermission)i.next();
+
+ TorqueTurbineRolePermission rp = new TorqueTurbineRolePermission();
+ rp.setPermissionId(permission.getEntityId());
+ rp.setRoleId(getEntityId());
+ rp.save(con);
+ }
+ }
+
+ if (userGroupRoleSet != null)
+ {
+ Criteria criteria = new Criteria();
+
+ /* remove old entries */
+ criteria.add(TorqueTurbineUserGroupRolePeer.ROLE_ID, getEntityId());
+ TorqueTurbineUserGroupRolePeer.doDelete(criteria, con);
+
+ for (Iterator i = userGroupRoleSet.iterator(); i.hasNext();)
+ {
+ TurbineUserGroupRole ugr = (TurbineUserGroupRole)i.next();
+
+ TorqueTurbineUserGroupRole ttugr = new TorqueTurbineUserGroupRole();
+ ttugr.setGroupId((Integer)ugr.getGroup().getId());
+ ttugr.setUserId((Integer)ugr.getUser().getId());
+ ttugr.setRoleId((Integer)ugr.getRole().getId());
+ ttugr.save(con);
+ }
+ }
+
+ try
+ {
+ save(con);
+ }
+ catch (Exception e)
+ {
+ throw new TorqueException(e);
+ }
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractSecurityEntity#delete()
+ */
+ public void delete() throws TorqueException
+ {
+ TorqueTurbineRolePeer.doDelete(SimpleKey.keyFor(getEntityId()));
+ }
+}
\ No newline at end of file
Added: jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueAbstractTurbineUser.java
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueAbstractTurbineUser.java?view=auto&rev=525904
==============================================================================
--- jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueAbstractTurbineUser.java (added)
+++ jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueAbstractTurbineUser.java Thu Apr 5 10:28:53 2007
@@ -0,0 +1,174 @@
+package org.apache.fulcrum.security.torque.turbine;
+/*
+ * Copyright 2001-2004 The Apache Software Foundation
+ *
+ * Licensed 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.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.fulcrum.security.model.turbine.entity.TurbineUser;
+import org.apache.fulcrum.security.model.turbine.entity.TurbineUserGroupRole;
+import org.apache.fulcrum.security.torque.TorqueAbstractSecurityEntity;
+import org.apache.fulcrum.security.torque.om.TorqueTurbineUserGroupRole;
+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.om.SimpleKey;
+import org.apache.torque.util.Criteria;
+/**
+ * This abstract class provides the SecurityInterface to the managers.
+ *
+ * @author <a href="mailto:tv@apache.org">Thomas Vandahl</a>
+ * @version $Id:$
+ */
+public abstract class TorqueAbstractTurbineUser extends TorqueAbstractSecurityEntity
+ implements TurbineUser
+{
+ /** a cache of user_group_role objects */
+ private Set userGroupRoleSet = null;
+
+ /**
+ * Forward reference to generated code
+ *
+ * Get a list of association objects, pre-populated with their TorqueTurbineRole
+ * objects.
+ *
+ * @param criteria Criteria to define the selection of records
+ * @throws TorqueException
+ *
+ * @return a list of User/Group/Role relations
+ */
+ protected abstract List getTorqueTurbineUserGroupRolesJoinTorqueTurbineRole(Criteria criteria)
+ throws TorqueException;
+
+ /**
+ * @see org.apache.fulcrum.security.model.turbine.entity.TurbineUser#addUserGroupRole(org.apache.fulcrum.security.model.turbine.entity.TurbineUserGroupRole)
+ */
+ public void addUserGroupRole(TurbineUserGroupRole userGroupRole)
+ {
+ getUserGroupRoleSet().add(userGroupRole);
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.model.turbine.entity.TurbineUser#getUserGroupRoleSet()
+ */
+ public Set getUserGroupRoleSet()
+ {
+ if (userGroupRoleSet == null)
+ {
+ userGroupRoleSet = new HashSet();
+ }
+
+ return userGroupRoleSet;
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.model.turbine.entity.TurbineUser#removeUserGroupRole(org.apache.fulcrum.security.model.turbine.entity.TurbineUserGroupRole)
+ */
+ public void removeUserGroupRole(TurbineUserGroupRole userGroupRole)
+ {
+ getUserGroupRoleSet().remove(userGroupRole);
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.model.turbine.entity.TurbineUser#setUserGroupRoleSet(java.util.Set)
+ */
+ public void setUserGroupRoleSet(Set userGroupRoleSet)
+ {
+ if (userGroupRoleSet != null)
+ {
+ this.userGroupRoleSet = userGroupRoleSet;
+ }
+ else
+ {
+ this.userGroupRoleSet = new HashSet();
+ }
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractSecurityEntity#getDatabaseName()
+ */
+ public String getDatabaseName()
+ {
+ return TorqueTurbineUserPeer.DATABASE_NAME;
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractSecurityEntity#retrieveAttachedObjects(java.sql.Connection)
+ */
+ public void retrieveAttachedObjects(Connection con) throws TorqueException
+ {
+ this.userGroupRoleSet = new HashSet();
+
+ // the generated method that allows a Connection parameter is missing
+ List ugrs = getTorqueTurbineUserGroupRolesJoinTorqueTurbineRole(new Criteria());
+
+ for (Iterator i = ugrs.iterator(); i.hasNext();)
+ {
+ TorqueTurbineUserGroupRole ttugr = (TorqueTurbineUserGroupRole)i.next();
+
+ TurbineUserGroupRole ugr = new TurbineUserGroupRole();
+ ugr.setUser(this);
+ ugr.setRole(ttugr.getTorqueTurbineRole());
+ ugr.setGroup(ttugr.getTorqueTurbineGroup(con));
+ userGroupRoleSet.add(ugr);
+ }
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractSecurityEntity#update(java.sql.Connection)
+ */
+ public void update(Connection con) throws TorqueException
+ {
+ if (userGroupRoleSet != null)
+ {
+ Criteria criteria = new Criteria();
+
+ /* remove old entries */
+ criteria.add(TorqueTurbineUserGroupRolePeer.USER_ID, getEntityId());
+ TorqueTurbineUserGroupRolePeer.doDelete(criteria, con);
+
+ for (Iterator i = userGroupRoleSet.iterator(); i.hasNext();)
+ {
+ TurbineUserGroupRole ugr = (TurbineUserGroupRole)i.next();
+
+ TorqueTurbineUserGroupRole ttugr = new TorqueTurbineUserGroupRole();
+ ttugr.setGroupId((Integer)ugr.getGroup().getId());
+ ttugr.setUserId((Integer)ugr.getUser().getId());
+ ttugr.setRoleId((Integer)ugr.getRole().getId());
+ ttugr.save(con);
+ }
+ }
+
+ try
+ {
+ save(con);
+ }
+ catch (Exception e)
+ {
+ throw new TorqueException(e);
+ }
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractSecurityEntity#delete()
+ */
+ public void delete() throws TorqueException
+ {
+ TorqueTurbineUserPeer.doDelete(SimpleKey.keyFor(getEntityId()));
+ }
+}
\ No newline at end of file
Modified: jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineGroupManagerImpl.java
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineGroupManagerImpl.java?view=diff&rev=525904&r1=525903&r2=525904
==============================================================================
--- jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineGroupManagerImpl.java (original)
+++ jakarta/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineGroupManagerImpl.java Thu Apr 5 10:28:53 2007
@@ -15,26 +15,13 @@
* limitations under the License.
*/
import java.sql.Connection;
-import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
-import java.util.Set;
-import org.apache.fulcrum.security.RoleManager;
-import org.apache.fulcrum.security.UserManager;
import org.apache.fulcrum.security.entity.Group;
-import org.apache.fulcrum.security.entity.Role;
-import org.apache.fulcrum.security.entity.User;
-import org.apache.fulcrum.security.model.turbine.entity.TurbineGroup;
-import org.apache.fulcrum.security.model.turbine.entity.TurbineUserGroupRole;
import org.apache.fulcrum.security.torque.TorqueAbstractGroupManager;
-import org.apache.fulcrum.security.torque.om.TorqueRole;
-import org.apache.fulcrum.security.torque.om.TorqueRolePeer;
-import org.apache.fulcrum.security.torque.om.TorqueTurbineUserGroupRole;
-import org.apache.fulcrum.security.torque.om.TorqueTurbineUserGroupRolePeer;
-import org.apache.fulcrum.security.torque.om.TorqueUser;
-import org.apache.fulcrum.security.torque.om.TorqueUserPeer;
-import org.apache.fulcrum.security.util.DataBackendException;
+import org.apache.fulcrum.security.torque.om.TorqueTurbineGroupPeer;
+import org.apache.torque.NoRowsException;
+import org.apache.torque.TooManyRowsException;
import org.apache.torque.TorqueException;
import org.apache.torque.util.Criteria;
/**
@@ -46,46 +33,40 @@
public class TorqueTurbineGroupManagerImpl extends TorqueAbstractGroupManager
{
/**
- * Provides the user/group/role-relations for the given group
- *
- * @param group the group for which the relations should be retrieved
- * @param con a database connection
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractGroupManager#doSelectAllGroups(java.sql.Connection)
*/
- protected void attachObjectsForGroup(Group group, Connection con)
- throws TorqueException, DataBackendException
+ protected List doSelectAllGroups(Connection con) throws TorqueException
{
- Set ugrSet = new HashSet();
-
- Criteria criteria = new Criteria();
- criteria.add(TorqueTurbineUserGroupRolePeer.GROUP_ID, (Integer)group.getId());
-
- List ugrs = TorqueTurbineUserGroupRolePeer.doSelect(criteria, con);
- UserManager userManager = getUserManager();
- RoleManager roleManager = getRoleManager();
-
- for (Iterator i = ugrs.iterator(); i.hasNext();)
- {
- TurbineUserGroupRole ugr = new TurbineUserGroupRole();
- ugr.setGroup(group);
-
- TorqueTurbineUserGroupRole tugr = (TorqueTurbineUserGroupRole)i.next();
+ Criteria criteria = new Criteria(TorqueTurbineGroupPeer.DATABASE_NAME);
+
+ return TorqueTurbineGroupPeer.doSelect(criteria, con);
+ }
+
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractGroupManager#doSelectById(java.lang.Integer, java.sql.Connection)
+ */
+ protected Group doSelectById(Integer id, Connection con) throws NoRowsException, TooManyRowsException, TorqueException
+ {
+ return TorqueTurbineGroupPeer.retrieveByPK(id, con);
+ }
- User user = userManager.getUserInstance();
- TorqueUser u = TorqueUserPeer.retrieveByPK(tugr.getUserId(), con);
- user.setId(u.getId());
- user.setName(u.getName());
- user.setPassword(u.getPassword());
- ugr.setUser(user);
+ /**
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractGroupManager#doSelectByName(java.lang.String, java.sql.Connection)
+ */
+ protected Group doSelectByName(String name, Connection con) throws NoRowsException, TooManyRowsException, TorqueException
+ {
+ Criteria criteria = new Criteria(TorqueTurbineGroupPeer.DATABASE_NAME);
+ criteria.add(TorqueTurbineGroupPeer.GROUP_NAME, name);
+ criteria.setIgnoreCase(true);
+ criteria.setSingleRecord(true);
+
+ List groups = TorqueTurbineGroupPeer.doSelect(criteria, con);
- Role role = roleManager.getRoleInstance();
- TorqueRole r = TorqueRolePeer.retrieveByPK(tugr.getRoleId(), con);
- role.setId(r.getId());
- role.setName(r.getName());
- ugr.setRole(role);
-
- ugrSet.add(ugr);
+ if (groups.isEmpty())
+ {
+ throw new NoRowsException(name);
}
- ((TurbineGroup)group).setUserGroupRoleSet(ugrSet);
+ return (Group)groups.get(0);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-dev-help@jakarta.apache.org