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 );
+              }
+          }
+      }
+  }
 
 }