Class HibernateGroupDao

java.lang.Object
com.atlassian.confluence.impl.user.crowd.hibernate.HibernateGroupDao
All Implemented Interfaces:
InternalGroupDao<com.atlassian.crowd.model.group.InternalGroup>, com.atlassian.crowd.embedded.spi.GroupDao

public class HibernateGroupDao extends Object implements InternalGroupDao<com.atlassian.crowd.model.group.InternalGroup>
Hibernate 5/Spring implementation of group persistence
Since:
7.20.0
  • Constructor Summary

    Constructors
    Constructor
    Description
    HibernateGroupDao(org.hibernate.SessionFactory sessionFactory, Supplier<com.atlassian.crowd.embedded.spi.DirectoryDao> directoryDao, InternalMembershipDao membershipDao, com.atlassian.crowd.util.persistence.hibernate.batch.BatchProcessor<org.hibernate.Session> batchProcessor, com.atlassian.crowd.util.persistence.hibernate.batch.BatchFinder batchFinder)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    com.atlassian.crowd.model.group.InternalGroup
    add(com.atlassian.crowd.model.group.Group group)
     
    com.atlassian.crowd.util.BatchResult<com.atlassian.crowd.model.group.Group>
    addAll(Set<? extends com.atlassian.crowd.model.group.Group> groups)
     
    com.atlassian.crowd.model.group.InternalGroup
    addLocal(com.atlassian.crowd.model.group.Group group)
     
    findByExternalIds(long directoryId, Set<String> externalIds)
     
    com.atlassian.crowd.model.group.InternalDirectoryGroup
    findByName(long directoryId, String name)
     
    com.atlassian.crowd.model.group.GroupWithAttributes
    findByNameWithAttributes(long directoryId, String name)
     
    findExternalIdsByNames(long directoryId, Set<String> groupNames)
     
    getAllExternalIds(long directoryId)
     
    long
    getExternalGroupCount(long directoryId)
     
    long
    getGroupCount(long directoryId)
     
    getLocalGroupNames(long directoryId)
     
    com.atlassian.crowd.model.group.InternalGroup
    internalFindByGroup(com.atlassian.crowd.model.group.Group group)
    Find the persistent group object that corresponds to the provided group.
    com.atlassian.crowd.model.group.InternalGroup
    internalFindByName(long directoryId, String name)
    Find a persistent group object from a given directory and group name
    void
    remove(com.atlassian.crowd.model.group.Group group)
     
    void
    removeAllGroups(long directoryId)
    Remove all groups from a particular directory (used when deleting an internal directory)
    com.atlassian.crowd.util.BatchResult<String>
    removeAllGroups(long directoryId, Set<String> groupNames)
     
    void
    removeAttribute(com.atlassian.crowd.model.group.Group group, String attributeName)
     
    com.atlassian.crowd.model.group.Group
    rename(com.atlassian.crowd.model.group.Group group, String newName)
     
    <T> List<T>
    search(long directoryId, com.atlassian.crowd.search.query.entity.EntityQuery<T> query)
     
    void
    storeAttributes(com.atlassian.crowd.model.group.Group group, Map<String,Set<String>> attributes)
     
    com.atlassian.crowd.model.group.Group
    update(com.atlassian.crowd.model.group.Group group)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • HibernateGroupDao

      public HibernateGroupDao(org.hibernate.SessionFactory sessionFactory, Supplier<com.atlassian.crowd.embedded.spi.DirectoryDao> directoryDao, InternalMembershipDao membershipDao, com.atlassian.crowd.util.persistence.hibernate.batch.BatchProcessor<org.hibernate.Session> batchProcessor, com.atlassian.crowd.util.persistence.hibernate.batch.BatchFinder batchFinder)
  • Method Details

    • findByName

      public com.atlassian.crowd.model.group.InternalDirectoryGroup findByName(long directoryId, String name) throws com.atlassian.crowd.exception.GroupNotFoundException
      Specified by:
      findByName in interface com.atlassian.crowd.embedded.spi.GroupDao
      Throws:
      com.atlassian.crowd.exception.GroupNotFoundException
    • removeAllGroups

      public com.atlassian.crowd.util.BatchResult<String> removeAllGroups(long directoryId, Set<String> groupNames)
      Specified by:
      removeAllGroups in interface com.atlassian.crowd.embedded.spi.GroupDao
    • getAllExternalIds

      public Set<String> getAllExternalIds(long directoryId) throws com.atlassian.crowd.exception.DirectoryNotFoundException
      Specified by:
      getAllExternalIds in interface com.atlassian.crowd.embedded.spi.GroupDao
      Throws:
      com.atlassian.crowd.exception.DirectoryNotFoundException
    • getGroupCount

      public long getGroupCount(long directoryId) throws com.atlassian.crowd.exception.DirectoryNotFoundException
      Specified by:
      getGroupCount in interface com.atlassian.crowd.embedded.spi.GroupDao
      Throws:
      com.atlassian.crowd.exception.DirectoryNotFoundException
    • getLocalGroupNames

      public Set<String> getLocalGroupNames(long directoryId) throws com.atlassian.crowd.exception.DirectoryNotFoundException
      Specified by:
      getLocalGroupNames in interface com.atlassian.crowd.embedded.spi.GroupDao
      Throws:
      com.atlassian.crowd.exception.DirectoryNotFoundException
    • findByExternalIds

      public Map<String,String> findByExternalIds(long directoryId, Set<String> externalIds)
      Specified by:
      findByExternalIds in interface com.atlassian.crowd.embedded.spi.GroupDao
    • findExternalIdsByNames

      public Map<String,String> findExternalIdsByNames(long directoryId, Set<String> groupNames)
      Specified by:
      findExternalIdsByNames in interface com.atlassian.crowd.embedded.spi.GroupDao
    • getExternalGroupCount

      public long getExternalGroupCount(long directoryId) throws com.atlassian.crowd.exception.DirectoryNotFoundException
      Specified by:
      getExternalGroupCount in interface com.atlassian.crowd.embedded.spi.GroupDao
      Throws:
      com.atlassian.crowd.exception.DirectoryNotFoundException
    • findByNameWithAttributes

      public com.atlassian.crowd.model.group.GroupWithAttributes findByNameWithAttributes(long directoryId, String name) throws com.atlassian.crowd.exception.GroupNotFoundException
      Specified by:
      findByNameWithAttributes in interface com.atlassian.crowd.embedded.spi.GroupDao
      Throws:
      com.atlassian.crowd.exception.GroupNotFoundException
    • addAll

      public com.atlassian.crowd.util.BatchResult<com.atlassian.crowd.model.group.Group> addAll(Set<? extends com.atlassian.crowd.model.group.Group> groups) throws com.atlassian.crowd.exception.DirectoryNotFoundException
      Specified by:
      addAll in interface com.atlassian.crowd.embedded.spi.GroupDao
      Throws:
      com.atlassian.crowd.exception.DirectoryNotFoundException
    • add

      public com.atlassian.crowd.model.group.InternalGroup add(com.atlassian.crowd.model.group.Group group) throws com.atlassian.crowd.exception.DirectoryNotFoundException
      Specified by:
      add in interface com.atlassian.crowd.embedded.spi.GroupDao
      Specified by:
      add in interface InternalGroupDao<com.atlassian.crowd.model.group.InternalGroup>
      Throws:
      com.atlassian.crowd.exception.DirectoryNotFoundException
    • addLocal

      public com.atlassian.crowd.model.group.InternalGroup addLocal(com.atlassian.crowd.model.group.Group group) throws com.atlassian.crowd.exception.DirectoryNotFoundException
      Specified by:
      addLocal in interface com.atlassian.crowd.embedded.spi.GroupDao
      Specified by:
      addLocal in interface InternalGroupDao<com.atlassian.crowd.model.group.InternalGroup>
      Throws:
      com.atlassian.crowd.exception.DirectoryNotFoundException
    • update

      public com.atlassian.crowd.model.group.Group update(com.atlassian.crowd.model.group.Group group) throws com.atlassian.crowd.exception.GroupNotFoundException
      Specified by:
      update in interface com.atlassian.crowd.embedded.spi.GroupDao
      Throws:
      com.atlassian.crowd.exception.GroupNotFoundException
    • rename

      public com.atlassian.crowd.model.group.Group rename(com.atlassian.crowd.model.group.Group group, String newName) throws com.atlassian.crowd.exception.GroupNotFoundException
      Specified by:
      rename in interface com.atlassian.crowd.embedded.spi.GroupDao
      Throws:
      com.atlassian.crowd.exception.GroupNotFoundException
    • internalFindByGroup

      public com.atlassian.crowd.model.group.InternalGroup internalFindByGroup(com.atlassian.crowd.model.group.Group group) throws com.atlassian.crowd.exception.GroupNotFoundException
      Description copied from interface: InternalGroupDao
      Find the persistent group object that corresponds to the provided group.
      Specified by:
      internalFindByGroup in interface InternalGroupDao<com.atlassian.crowd.model.group.InternalGroup>
      Throws:
      com.atlassian.crowd.exception.GroupNotFoundException
    • removeAllGroups

      public void removeAllGroups(long directoryId)
      Description copied from interface: InternalGroupDao
      Remove all groups from a particular directory (used when deleting an internal directory)
      Specified by:
      removeAllGroups in interface InternalGroupDao<com.atlassian.crowd.model.group.InternalGroup>
    • storeAttributes

      public void storeAttributes(com.atlassian.crowd.model.group.Group group, Map<String,Set<String>> attributes) throws com.atlassian.crowd.exception.GroupNotFoundException
      Specified by:
      storeAttributes in interface com.atlassian.crowd.embedded.spi.GroupDao
      Throws:
      com.atlassian.crowd.exception.GroupNotFoundException
    • removeAttribute

      public void removeAttribute(com.atlassian.crowd.model.group.Group group, String attributeName) throws com.atlassian.crowd.exception.GroupNotFoundException
      Specified by:
      removeAttribute in interface com.atlassian.crowd.embedded.spi.GroupDao
      Throws:
      com.atlassian.crowd.exception.GroupNotFoundException
    • remove

      public void remove(com.atlassian.crowd.model.group.Group group) throws com.atlassian.crowd.exception.GroupNotFoundException
      Specified by:
      remove in interface com.atlassian.crowd.embedded.spi.GroupDao
      Throws:
      com.atlassian.crowd.exception.GroupNotFoundException
    • search

      public <T> List<T> search(long directoryId, com.atlassian.crowd.search.query.entity.EntityQuery<T> query)
      Specified by:
      search in interface com.atlassian.crowd.embedded.spi.GroupDao
    • internalFindByName

      public com.atlassian.crowd.model.group.InternalGroup internalFindByName(long directoryId, String name) throws com.atlassian.crowd.exception.GroupNotFoundException
      Description copied from interface: InternalGroupDao
      Find a persistent group object from a given directory and group name
      Specified by:
      internalFindByName in interface InternalGroupDao<com.atlassian.crowd.model.group.InternalGroup>
      Throws:
      com.atlassian.crowd.exception.GroupNotFoundException