private void attachRelatedObjects()

in torque/src/java/org/apache/fulcrum/security/torque/turbine/TorqueTurbineUserManagerImpl.java [364:396]


  private <T extends User> void attachRelatedObjects( T user, Connection con ) throws TorqueException
  {
      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.doSelectJoinTurbineGroup( 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 );
              }
          }
      }
  }