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 2019/01/11 10:09:53 UTC
svn commit: r1851024 [2/2] - in
/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque:
./ basic/ dynamic/ security/ security/turbine/ turbine/
Modified: turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/FulcrumAbstractTurbineUser.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/FulcrumAbstractTurbineUser.java?rev=1851024&r1=1851023&r2=1851024&view=diff
==============================================================================
--- turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/FulcrumAbstractTurbineUser.java (original)
+++ turbine/fulcrum/trunk/security/torque/src/java/org/apache/fulcrum/security/torque/turbine/FulcrumAbstractTurbineUser.java Fri Jan 11 10:09:52 2019
@@ -29,6 +29,7 @@ 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.security.turbine.TorqueAbstractTurbineTurbineSecurityEntity;
+import org.apache.fulcrum.security.util.DataBackendException;
import org.apache.torque.TorqueException;
import org.apache.torque.criteria.Criteria;
import org.apache.torque.om.SimpleKey;
@@ -69,7 +70,7 @@ public abstract class FulcrumAbstractTur
*/
@Override
public void retrieveAttachedObjects( Connection con )
- throws TorqueException
+ throws DataBackendException
{
retrieveAttachedObjects( con, false );
}
@@ -78,22 +79,26 @@ public abstract class FulcrumAbstractTur
* @see org.apache.fulcrum.security.torque.security.TorqueAbstractSecurityEntity#retrieveAttachedObjects(java.sql.Connection, java.lang.Boolean)
*/
@Override
- public void retrieveAttachedObjects(Connection con, Boolean lazy) throws TorqueException
+ public void retrieveAttachedObjects(Connection con, Boolean lazy) throws DataBackendException
{
- if (!lazy) {
- Set<TurbineUserGroupRole> userGroupRoleSet = new HashSet<TurbineUserGroupRole>();
- List<TorqueTurbineUserGroupRole> ugrs = getTorqueTurbineUserGroupRolesJoinTorqueTurbineRole(new Criteria(), con);
-
- for (TorqueTurbineUserGroupRole ttugr : ugrs)
- {
- TurbineUserGroupRole ugr = new TurbineUserGroupRole();
- ugr.setUser((User) this);
- ugr.setRole(ttugr.getTorqueTurbineRole());
- ugr.setGroup(ttugr.getTorqueTurbineGroup(con));
- userGroupRoleSet.add(ugr);
+ try {
+ if (!lazy) {
+ Set<TurbineUserGroupRole> userGroupRoleSet = new HashSet<TurbineUserGroupRole>();
+ List<TorqueTurbineUserGroupRole> ugrs = getTorqueTurbineUserGroupRolesJoinTorqueTurbineRole(new Criteria(), con);
+
+ for (TorqueTurbineUserGroupRole ttugr : ugrs)
+ {
+ TurbineUserGroupRole ugr = new TurbineUserGroupRole();
+ ugr.setUser((User) this);
+ ugr.setRole(ttugr.getTorqueTurbineRole());
+ ugr.setGroup(ttugr.getTorqueTurbineGroup(con));
+ userGroupRoleSet.add(ugr);
+ }
+ setUserGroupRoleSet(userGroupRoleSet);
}
- setUserGroupRoleSet(userGroupRoleSet);
- }
+ } catch (TorqueException e ) {
+ throw new DataBackendException( e.getMessage(),e );
+ }
}
/* (non-Javadoc)
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=1851024&r1=1851023&r2=1851024&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 Jan 11 10:09:52 2019
@@ -178,7 +178,7 @@ public class TorqueTurbineUserManagerImp
/**
* Retrieve a user from persistent storage using username as the
- * key.
+ * key. Also retrieves all attached objects (user group role relationships).
*
* @param userName the name of the user.
* @return an User object.
@@ -229,7 +229,7 @@ public class TorqueTurbineUserManagerImp
}
/**
- * Retrieves all users defined in the system.
+ * Retrieves all users with attached related objects (user group role relationships) defined in the system.
*
* @return the names of all users defined in the system.
* @throws DataBackendException if there was an error accessing the data
@@ -274,7 +274,7 @@ public class TorqueTurbineUserManagerImp
}
/**
- * Retrieve a User object with specified id.
+ * Retrieve a User object with specified id and all attached objects (user group role relationships).
*
* @param id
* the id of the User.
@@ -329,32 +329,45 @@ public class TorqueTurbineUserManagerImp
return user;
}
- private <T extends User> void attachRelatedObjects( T user, Connection con )
- throws TorqueException
+ /**
+ * Retrieves all related objects (user group roles). If the objects not exists {@link DataBackendException} is wrapped in a new TorqueException.
+ *
+ * @param user
+ * @param con
+ * @throws TorqueException
+ */
+ private <T extends User> void attachRelatedObjects( T user, Connection con ) throws TorqueException
+ {
+ if (user instanceof TorqueAbstractSecurityEntity) {
+ if (getCustomPeer()) {
+ try
{
- if (user instanceof TorqueAbstractSecurityEntity) {
- if (getCustomPeer()) {
- try
- {
- TorqueTurbineUserGroupRolePeer<TurbineUserGroupRoleModelPeerMapper> peerInstance =
- (TorqueTurbineUserGroupRolePeer<TurbineUserGroupRoleModelPeerMapper>) getUserGroupRolePeerInstance();
- Criteria criteria = new Criteria();
- // expecting the same name in any custom implementation
- criteria.where(peerInstance.getTableMap().getColumn(getColumnName4UserGroupRole() ), ( (TorqueAbstractSecurityEntity) user ).getEntityId() );
- List<TurbineUserGroupRoleModelPeerMapper> ugrs = peerInstance.doSelectJoinTurbineRole( criteria, con );
-
- if (user instanceof TorqueAbstractTurbineTurbineSecurityEntityDefault) {
- ((TorqueAbstractTurbineTurbineSecurityEntityDefault)user).retrieveAttachedObjects(con, false, ugrs);
- }
- }
- catch ( DataBackendException e )
- {
- throw new TorqueException( e );
- }
- } else {
- ((TorqueAbstractSecurityEntity)user).retrieveAttachedObjects(con);
- }
+ TorqueTurbineUserGroupRolePeer<TurbineUserGroupRoleModelPeerMapper> peerInstance =
+ (TorqueTurbineUserGroupRolePeer<TurbineUserGroupRoleModelPeerMapper>) getUserGroupRolePeerInstance();
+ Criteria criteria = new Criteria();
+ // expecting the same name in any custom implementation
+ criteria.where(peerInstance.getTableMap().getColumn(getColumnName4UserGroupRole() ), ( (TorqueAbstractSecurityEntity) user ).getEntityId() );
+ List<TurbineUserGroupRoleModelPeerMapper> ugrs = peerInstance.doSelectJoinTurbineRole( criteria, con );
+
+ if (user instanceof TorqueAbstractTurbineTurbineSecurityEntityDefault) {
+ ((TorqueAbstractTurbineTurbineSecurityEntityDefault)user).retrieveAttachedObjects(con, false, ugrs);
}
}
+ catch ( DataBackendException e )
+ {
+ throw new TorqueException( e );
+ }
+ } else {
+ try
+ {
+ ((TorqueAbstractSecurityEntity)user).retrieveAttachedObjects(con);
+ }
+ catch ( DataBackendException e )
+ {
+ throw new TorqueException( e );
+ }
+ }
+ }
+ }
}