com.atlassian.crowd.dao.membership
Class MembershipDAOHibernate

java.lang.Object
  extended by org.springframework.dao.support.DaoSupport
      extended by org.springframework.orm.hibernate3.support.HibernateDaoSupport
          extended by com.atlassian.crowd.util.persistence.hibernate.HibernateDao
              extended by com.atlassian.crowd.dao.membership.MembershipDAOHibernate
All Implemented Interfaces:
InternalMembershipDao, MembershipDao, org.springframework.beans.factory.InitializingBean

public class MembershipDAOHibernate
extends HibernateDao
implements MembershipDao, InternalMembershipDao


Field Summary
 
Fields inherited from class com.atlassian.crowd.util.persistence.hibernate.HibernateDao
batchFinder, batchProcessor, logger
 
Constructor Summary
MembershipDAOHibernate()
           
 
Method Summary
 BatchResult<InternalMembership> addAll(java.util.Set<InternalMembership> memberships)
          Bulk add of memberships.
 BatchResult<java.lang.String> addAllUsersToGroup(long directoryId, java.util.Collection<java.lang.String> userNames, java.lang.String groupName)
          Adds all the given users into the given group.
 void addGroupToGroup(long directoryId, java.lang.String childGroup, java.lang.String parentGroup)
          Adds group as a child of the (supposedly) parent group.
 void addUserToGroup(long directoryId, java.lang.String username, java.lang.String groupName)
          Adds user as a member of group.
 java.util.List<InternalMembership> findAll(java.util.Collection<Directory> directories)
           
 java.util.List<InternalMembership> findAllLocal(java.util.Collection<Directory> directories)
           
 java.lang.Class getPersistentClass()
          All subclasses of HibernateDAO must implement this method for HibernateDao.load(long) to work correctly
 boolean isGroupDirectMember(long directoryId, java.lang.String childGroup, java.lang.String parentGroup)
          Determines whether the group is a direct member of the (supposedly) parent group.
 boolean isUserDirectMember(long directoryId, java.lang.String username, java.lang.String groupName)
          Determines whether the user is a direct member of the group.
 void removeAllRelationships(long directoryId)
          Removes all relationships the the given directory identified by directory id.
 void removeAllUserRelationships(long directoryId)
          Removes all user relationships the the given directory identified by directory id.
 void removeGroupFromGroup(long directoryId, java.lang.String childGroup, java.lang.String parentGroup)
          Removes group from the parent group.
 void removeGroupMembers(long directoryId, java.lang.String groupName)
          Removes all members of the given group name.
 void removeGroupMemberships(long directoryId, java.lang.String groupName)
          Removes all relationships from parent groups to the given group name.
 void removeUserFromGroup(long directoryId, java.lang.String username, java.lang.String groupName)
          Removes user as a member of the given group.
 void removeUserMemberships(long directoryId, java.lang.String username)
          Removes all MembershipType.GROUP_USER relationships from parent groups to the given username.
 void renameGroupRelationships(long directoryId, java.lang.String oldName, java.lang.String newName)
          Renames group name in all relationships.
 void renameUserRelationships(long directoryId, java.lang.String oldName, java.lang.String newName)
          Renames username in all relationships.
<T> java.util.List<T>
search(long directoryId, MembershipQuery<T> query)
          Search for memberships by the given criteria.
 void setGroupDao(GroupDAOHibernate groupDao)
           
 void setHqlQueryTranslater(HQLQueryTranslater hqlQueryTranslater)
           
 void setUserDao(UserDAOHibernate userDao)
           
 
Methods inherited from class com.atlassian.crowd.util.persistence.hibernate.HibernateDao
load, loadReference, remove, save, saveOrUpdate, setBatchFinder, setBatchProcessor, update
 
Methods inherited from class org.springframework.orm.hibernate3.support.HibernateDaoSupport
checkDaoConfig, convertHibernateAccessException, createHibernateTemplate, getHibernateTemplate, getSession, getSession, getSessionFactory, releaseSession, setHibernateTemplate, setSessionFactory
 
Methods inherited from class org.springframework.dao.support.DaoSupport
afterPropertiesSet, initDao
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MembershipDAOHibernate

public MembershipDAOHibernate()
Method Detail

getPersistentClass

public java.lang.Class getPersistentClass()
Description copied from class: HibernateDao
All subclasses of HibernateDAO must implement this method for HibernateDao.load(long) to work correctly

Specified by:
getPersistentClass in class HibernateDao
Returns:
Class

addAllUsersToGroup

public BatchResult<java.lang.String> addAllUsersToGroup(long directoryId,
                                                        java.util.Collection<java.lang.String> userNames,
                                                        java.lang.String groupName)
                                                 throws GroupNotFoundException
Description copied from interface: MembershipDao
Adds all the given users into the given group.

Specified by:
addAllUsersToGroup in interface MembershipDao
Parameters:
directoryId - the directory to perform the operation
userNames - the collection of users
groupName - group
Returns:
result containing both successful and failed users
Throws:
GroupNotFoundException - if the group does not exist

isUserDirectMember

public boolean isUserDirectMember(long directoryId,
                                  java.lang.String username,
                                  java.lang.String groupName)
Description copied from interface: MembershipDao
Determines whether the user is a direct member of the group.

Specified by:
isUserDirectMember in interface MembershipDao
Parameters:
directoryId - the directory to perform the operation
username - user
groupName - group
Returns:
true if the user is a direct member of the group

isGroupDirectMember

public boolean isGroupDirectMember(long directoryId,
                                   java.lang.String childGroup,
                                   java.lang.String parentGroup)
Description copied from interface: MembershipDao
Determines whether the group is a direct member of the (supposedly) parent group.

Specified by:
isGroupDirectMember in interface MembershipDao
Parameters:
directoryId - the directory to perform the operation
childGroup - child group
parentGroup - parent group
Returns:
true if the group is a direct member of the (supposedly) parent group

addUserToGroup

public void addUserToGroup(long directoryId,
                           java.lang.String username,
                           java.lang.String groupName)
                    throws UserNotFoundException,
                           GroupNotFoundException
Description copied from interface: MembershipDao
Adds user as a member of group.

Specified by:
addUserToGroup in interface MembershipDao
Parameters:
directoryId - the directory to perform the operation
username - user
groupName - group
Throws:
UserNotFoundException - if the user does not exist
GroupNotFoundException - if the group does not exist

removeUserFromGroup

public void removeUserFromGroup(long directoryId,
                                java.lang.String username,
                                java.lang.String groupName)
                         throws UserNotFoundException,
                                GroupNotFoundException,
                                MembershipNotFoundException
Description copied from interface: MembershipDao
Removes user as a member of the given group.

Specified by:
removeUserFromGroup in interface MembershipDao
Parameters:
directoryId - the directory to perform the operation
username - user
groupName - group
Throws:
UserNotFoundException - if the user does not exist
GroupNotFoundException - if the group does not exist
MembershipNotFoundException - if the user is not a member of the said group

addGroupToGroup

public void addGroupToGroup(long directoryId,
                            java.lang.String childGroup,
                            java.lang.String parentGroup)
                     throws GroupNotFoundException
Description copied from interface: MembershipDao
Adds group as a child of the (supposedly) parent group.

Specified by:
addGroupToGroup in interface MembershipDao
Parameters:
directoryId - the directory to perform the operation
childGroup - the (supposedly) child group
parentGroup - parent group
Throws:
GroupNotFoundException - if either child or parent group is not found

removeGroupFromGroup

public void removeGroupFromGroup(long directoryId,
                                 java.lang.String childGroup,
                                 java.lang.String parentGroup)
                          throws MembershipNotFoundException
Description copied from interface: MembershipDao
Removes group from the parent group.

Specified by:
removeGroupFromGroup in interface MembershipDao
Parameters:
directoryId - the directory to perform the operation
childGroup - child group
parentGroup - parent group
Throws:
MembershipNotFoundException - if the membership relationship between the child and parent group does not exist

removeGroupMembers

public void removeGroupMembers(long directoryId,
                               java.lang.String groupName)
Description copied from interface: InternalMembershipDao
Removes all members of the given group name.

Specified by:
removeGroupMembers in interface InternalMembershipDao
Parameters:
directoryId - Directory id.
groupName - Group name.

removeGroupMemberships

public void removeGroupMemberships(long directoryId,
                                   java.lang.String groupName)
Description copied from interface: InternalMembershipDao
Removes all relationships from parent groups to the given group name.

Specified by:
removeGroupMemberships in interface InternalMembershipDao
Parameters:
directoryId - Directory id.
groupName - Group name.

removeUserMemberships

public void removeUserMemberships(long directoryId,
                                  java.lang.String username)
Description copied from interface: InternalMembershipDao
Removes all MembershipType.GROUP_USER relationships from parent groups to the given username.

Specified by:
removeUserMemberships in interface InternalMembershipDao
Parameters:
directoryId - Directory id.
username - Username.

removeAllRelationships

public void removeAllRelationships(long directoryId)
Description copied from interface: InternalMembershipDao
Removes all relationships the the given directory identified by directory id.

Specified by:
removeAllRelationships in interface InternalMembershipDao
Parameters:
directoryId - Directory id.

removeAllUserRelationships

public void removeAllUserRelationships(long directoryId)
Description copied from interface: InternalMembershipDao
Removes all user relationships the the given directory identified by directory id.

Specified by:
removeAllUserRelationships in interface InternalMembershipDao
Parameters:
directoryId - Directory id.

search

public <T> java.util.List<T> search(long directoryId,
                                    MembershipQuery<T> query)
Description copied from interface: MembershipDao
Search for memberships by the given criteria.

Specified by:
search in interface MembershipDao
Parameters:
directoryId - the directory to perform the operation
query - criteria
Returns:
list (can be empty but never null) of memberships which match the given criteria

renameUserRelationships

public void renameUserRelationships(long directoryId,
                                    java.lang.String oldName,
                                    java.lang.String newName)
Description copied from interface: InternalMembershipDao
Renames username in all relationships.

Specified by:
renameUserRelationships in interface InternalMembershipDao
Parameters:
directoryId - Directory id.
oldName - Old username.
newName - New username.

renameGroupRelationships

public void renameGroupRelationships(long directoryId,
                                     java.lang.String oldName,
                                     java.lang.String newName)
Description copied from interface: InternalMembershipDao
Renames group name in all relationships.

Specified by:
renameGroupRelationships in interface InternalMembershipDao
Parameters:
directoryId - Directory id.
oldName - Old group name.
newName - New group name.

findAll

public java.util.List<InternalMembership> findAll(java.util.Collection<Directory> directories)
Parameters:
directories - directories to search for memberships
Returns:
all memberships across all directories (used for export).

findAllLocal

public java.util.List<InternalMembership> findAllLocal(java.util.Collection<Directory> directories)
Parameters:
directories - directories to search for memberships
Returns:
all memberships across all directories (used for export).

addAll

public BatchResult<InternalMembership> addAll(java.util.Set<InternalMembership> memberships)
Description copied from interface: InternalMembershipDao
Bulk add of memberships.

Specified by:
addAll in interface InternalMembershipDao
Parameters:
memberships - Set of memberships.
Returns:
Batch result.

setUserDao

public void setUserDao(UserDAOHibernate userDao)

setGroupDao

public void setGroupDao(GroupDAOHibernate groupDao)

setHqlQueryTranslater

public void setHqlQueryTranslater(HQLQueryTranslater hqlQueryTranslater)


Copyright © 2012 Atlassian. All Rights Reserved.