epugh       2004/07/07 11:18:43

  Modified:    
security/hibernate/src/test/org/apache/fulcrum/security/hibernate/dynamic
                        HibernateDynamicModelManagerTest.java
               
security/hibernate/src/java/org/apache/fulcrum/security/hibernate/dynamic
                        HibernateModelManagerImpl.java
               security/hibernate/src/java/org/apache/fulcrum/security/hibernate/basic
                        HibernateModelManagerImpl.java
  Removed:     security/hibernate/src/java/org/apache/fulcrum/security/hibernate
                        AbstractHibernateModelManager.java
  Log:
  refactor to use AbstractDynamicModelManager
  
  Revision  Changes    Path
  1.3       +2 -1      
jakarta-turbine-fulcrum/security/hibernate/src/test/org/apache/fulcrum/security/hibernate/dynamic/HibernateDynamicModelManagerTest.java
  
  Index: HibernateDynamicModelManagerTest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-fulcrum/security/hibernate/src/test/org/apache/fulcrum/security/hibernate/dynamic/HibernateDynamicModelManagerTest.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- HibernateDynamicModelManagerTest.java     7 Jul 2004 17:29:37 -0000       1.2
  +++ HibernateDynamicModelManagerTest.java     7 Jul 2004 18:18:42 -0000       1.3
  @@ -27,6 +27,7 @@
       .test
       .AbstractDynamicModelManagerTest;
   import org.apache.fulcrum.security.hibernate.HibernateHelper;
  +
   /**
    * @author <a href="mailto:[EMAIL PROTECTED]">Eric Pugh</a>
    * @version $Id$
  
  
  
  1.8       +18 -145   
jakarta-turbine-fulcrum/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/dynamic/HibernateModelManagerImpl.java
  
  Index: HibernateModelManagerImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-fulcrum/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/dynamic/HibernateModelManagerImpl.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- HibernateModelManagerImpl.java    7 Jul 2004 17:29:37 -0000       1.7
  +++ HibernateModelManagerImpl.java    7 Jul 2004 18:18:43 -0000       1.8
  @@ -23,14 +23,14 @@
   import org.apache.fulcrum.security.entity.Permission;
   import org.apache.fulcrum.security.entity.Role;
   import org.apache.fulcrum.security.entity.User;
  -import org.apache.fulcrum.security.hibernate.AbstractHibernateModelManager;
  +import org.apache.fulcrum.security.hibernate.PersistenceHelper;
  +import org.apache.fulcrum.security.model.dynamic.AbstractDynamicModelManager;
   import org.apache.fulcrum.security.model.dynamic.DynamicModelManager;
   import org.apache.fulcrum.security.model.dynamic.entity.DynamicGroup;
   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.util.DataBackendException;
  -import org.apache.fulcrum.security.util.PermissionSet;
   import org.apache.fulcrum.security.util.UnknownEntityException;
   /**
    * This implementation persists to a database via Hibernate.
  @@ -38,11 +38,12 @@
    * @author <a href="mailto:[EMAIL PROTECTED]">Eric Pugh</a>
    * @version $Id$
    */
  -public class HibernateModelManagerImpl extends AbstractHibernateModelManager 
implements DynamicModelManager
  +public class HibernateModelManagerImpl extends AbstractDynamicModelManager 
implements DynamicModelManager
   {
       /** Logging */
       private static Log log = LogFactory.getLog(HibernateModelManagerImpl.class);
   
  +    private PersistenceHelper persistenceHelper;
       /**
         * Revokes a Role from a Group.
         * 
  @@ -166,47 +167,7 @@
           {
               throw new UnknownEntityException("Unknown permission '" + 
permission.getName() + "'");
           }
  -    }
  -    /**
  -      * Revokes all permissions and groups from a Role.
  -      * 
  -      * This method is used when deleting a Role.
  -      * 
  -      * @param role the Role
  -      * @throws DataBackendException if there was an error accessing the data 
backend.
  -      * @throws UnknownEntityException if the Role is not present.
  -      */
  -    public synchronized void revokeAll(Role role)
  -        throws DataBackendException, UnknownEntityException
  -    {
  -        boolean roleExists = false;
  -        try
  -        {
  -            roleExists = getRoleManager().checkExists(role);
  -            if (roleExists)
  -            {
  -                ((DynamicRole) role).setPermissions(new PermissionSet());
  -                             getPersistenceHelper().updateEntity(role);
  -                             
  -                             Object groups[] = ((DynamicRole) 
role).getGroups().toArray();
  -                             
  -                             for (int i = 0; i < groups.length; i++)
  -                             {
  -                                     Group group = (Group) groups[i];
  -                                     revoke(group, role);
  -                             }       
  -                             return;            
  -                     }
  -        }
  -        catch (Exception e)
  -        {
  -            throw new DataBackendException("revokeAll(Role) failed", e);
  -        }
  -        finally
  -        {
  -        }
  -        throw new UnknownEntityException("Unknown role '" + role.getName() + "'");
  -    }
  +    }  
   
       /**
         * Puts a user in a group.
  @@ -297,37 +258,7 @@
           }
       }
   
  -    /**
  -      * Revokes all groups from a user
  -      * 
  -      * This method is used when deleting an account.
  -      * 
  -      * @param user the User.
  -      * @throws DataBackendException if there was an error accessing the data 
backend.
  -      * @throws UnknownEntityException if the account is not present.
  -      */
  -    public synchronized void revokeAll(User user)
  -        throws DataBackendException, UnknownEntityException
  -    {
  -        boolean userExists = false;
  -        userExists = getUserManager().checkExists(user);
  -        if (userExists)
  -        {
  -            Object groups[] = ((DynamicUser) user).getGroups().toArray();
  -
  -            for (int i = 0; i < groups.length; i++)
  -            {
  -                Group group = (Group) groups[i];
  -                revoke(user, group);
  -            }
   
  -            return;
  -        }
  -        else
  -        {
  -            throw new UnknownEntityException("Unknown user '" + user.getName() + 
"'");
  -        }
  -    }
       /**
         * Grants a Group a Role
         * 
  @@ -368,76 +299,18 @@
           }
       }
       
  -    /**
  -     * Revokes all users and roles from a group
  -     * 
  -     * This method is used when deleting a group.
  -     * 
  -     * @param group the Group.
  -     * @throws DataBackendException if there was an error accessing the data 
backend.
  -     * @throws UnknownEntityException if the account is not present.
  -     */
  -    public synchronized void revokeAll(Group group)
  -     throws DataBackendException, UnknownEntityException
  +     /**
  +      * @return Returns the persistenceHelper.
  +      */
  +     public PersistenceHelper getPersistenceHelper() throws DataBackendException
        {
  -     boolean groupExists = false;
  -     groupExists = getGroupManager().checkExists(group);
  -     if (groupExists)
  -     {
  -             Object users[] = ((DynamicGroup) group).getUsers().toArray();
  -             
  -             for (int i = 0; i < users.length; i++)
  -             {
  -                     User user = (User) users[i];
  -                     revoke(user, group);
  -             }
  -
  -             Object roles[] = ((DynamicGroup) group).getRoles().toArray();
  -             
  -             for (int i = 0; i < roles.length; i++)
  -             {
  -                     Role role = (Role) roles[i];
  -                     revoke(group, role);
  -             }
  -
  -             return;
  -     }
  -     else
  -     {
  -             throw new UnknownEntityException("Unknown group '" + group.getName() + 
"'");
  -     }
  -    }
  +             if (persistenceHelper == null)
  +             {
  +                     persistenceHelper = 
(PersistenceHelper)resolve(PersistenceHelper.ROLE);
  +             }
  +             return persistenceHelper;
  +     }    
  + 
       
  -    /**
  -     * Revokes all roles from a permission
  -     * 
  -     * This method is used when deleting a permission.
  -     * 
  -     * @param permission the permission.
  -     * @throws DataBackendException if there was an error accessing the data 
backend.
  -     * @throws UnknownEntityException if the account is not present.
  -     */
  -    public synchronized void revokeAll(Permission permission)
  -     throws DataBackendException, UnknownEntityException
  -     {
  -     boolean permissionExists = false;
  -     permissionExists = getPermissionManager().checkExists(permission);
  -     if (permissionExists)
  -     {
  -             Object roles[] = ((DynamicPermission) permission).getRoles().toArray();
  -             
  -             for (int i = 0; i < roles.length; i++)
  -             {
  -                 Role role = (Role) roles[i];
  -                     revoke(role, permission);
  -             }
  -
  -             
  -             return;
  -     }
  -     else
  -     {
  -             throw new UnknownEntityException("Unknown permission '" + 
permission.getName() + "'");
  -     }
  -    }    
  + 
   }
  
  
  
  1.6       +17 -3     
jakarta-turbine-fulcrum/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/basic/HibernateModelManagerImpl.java
  
  Index: HibernateModelManagerImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-turbine-fulcrum/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/basic/HibernateModelManagerImpl.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- HibernateModelManagerImpl.java    7 Jul 2004 17:29:38 -0000       1.5
  +++ HibernateModelManagerImpl.java    7 Jul 2004 18:18:43 -0000       1.6
  @@ -21,10 +21,11 @@
   import org.apache.commons.logging.LogFactory;
   import org.apache.fulcrum.security.entity.Group;
   import org.apache.fulcrum.security.entity.User;
  -import org.apache.fulcrum.security.hibernate.AbstractHibernateModelManager;
  +import org.apache.fulcrum.security.hibernate.PersistenceHelper;
   import org.apache.fulcrum.security.model.basic.BasicModelManager;
   import org.apache.fulcrum.security.model.basic.entity.BasicGroup;
   import org.apache.fulcrum.security.model.basic.entity.BasicUser;
  +import org.apache.fulcrum.security.spi.AbstractManager;
   import org.apache.fulcrum.security.util.DataBackendException;
   import org.apache.fulcrum.security.util.UnknownEntityException;
   /**
  @@ -33,11 +34,12 @@
    * @author <a href="mailto:[EMAIL PROTECTED]">Eric Pugh</a>
    * @version $Id$
    */
  -public class HibernateModelManagerImpl extends AbstractHibernateModelManager 
implements BasicModelManager
  +public class HibernateModelManagerImpl extends AbstractManager implements 
BasicModelManager
   {
       /** Logging */
       private static Log log = LogFactory.getLog(HibernateModelManagerImpl.class);
       
  +    private PersistenceHelper persistenceHelper;
   
       /**
         * Puts a user in a group.
  @@ -163,5 +165,17 @@
               throw new UnknownEntityException("Unknown user '" + user.getName() + 
"'");
           }
       }
  +    
  +     /**
  +      * @return Returns the persistenceHelper.
  +      */
  +     public PersistenceHelper getPersistenceHelper() throws DataBackendException
  +     {
  +             if (persistenceHelper == null)
  +             {
  +                     persistenceHelper = 
(PersistenceHelper)resolve(PersistenceHelper.ROLE);
  +             }
  +             return persistenceHelper;
  +     }    
   
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to