Class 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 Detail

      • 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 Detail

      • 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