edu.internet2.middleware.grouper.internal.dao.hib3
Class Hib3GroupDAO

java.lang.Object
  extended by edu.internet2.middleware.grouper.internal.dao.hib3.Hib3DAO
      extended by edu.internet2.middleware.grouper.internal.dao.hib3.Hib3GroupDAO
All Implemented Interfaces:
GroupDAO, GrouperDAO

public class Hib3GroupDAO
extends Hib3DAO
implements GroupDAO

Basic Hibernate Group DAO interface.

Since:
@HEAD@
Version:
$Id: Hib3GroupDAO.java,v 1.51 2009-12-10 08:54:15 mchyzer Exp $
Author:
blair christensen.

Field Summary
 
Fields inherited from class edu.internet2.middleware.grouper.internal.dao.hib3.Hib3DAO
hibernateInitted
 
Constructor Summary
Hib3GroupDAO()
           
 
Method Summary
 Set<GroupType> _findAllTypesByGroup(String uuid)
          find al types for a group
 GroupTypeTuple addType(Group _g, GroupType _gt)
           
 void delete(Group _g)
           
 GroupTypeTuple deleteType(Group group, GroupType groupType)
           
 boolean exists(String uuid)
           
 Set<Group> findAllByAnyApproximateAttr(String val)
           
 Set<Group> findAllByAnyApproximateAttr(String val, String scope)
           
 Set<Group> findAllByApproximateAlternateName(String name)
          Find groups using an approximate string for the alternate name.
 Set<Group> findAllByApproximateAlternateName(String name, String scope)
          Find groups using an approximate string for the alternate name.
 Set<Group> findAllByApproximateAttr(String attr, String val)
          Implementation Notes.
 Set<Group> findAllByApproximateAttr(String attr, String val, String scope)
          Implementation Notes.
 Set<Group> findAllByApproximateCurrentName(String name)
          Find groups using an approximate string for the current name, display name, extension, display extension.
 Set<Group> findAllByApproximateCurrentName(String name, String scope)
          Find groups using an approximate string for the current name, display name, extension, display extension.
 Set<Group> findAllByApproximateName(String name)
          Implementation Notes.
 Set<Group> findAllByApproximateName(String name, String scope)
          Implementation Notes.
 Set<Group> findAllByAttr(String attr, String val)
          Implementation Notes.
 Set<Group> findAllByAttr(String attr, String val, String scope)
          Implementation Notes.
 Set<Group> findAllByCreatedAfter(Date d)
           
 Set<Group> findAllByCreatedAfter(Date d, String scope)
           
 Set<Group> findAllByCreatedBefore(Date d)
           
 Set<Group> findAllByCreatedBefore(Date d, String scope)
           
 Set<Group> findAllByLastMembershipAfter(Date d)
           
 Set<Group> findAllByLastMembershipAfter(Date d, String scope)
           
 Set<Group> findAllByLastMembershipBefore(Date d)
           
 Set<Group> findAllByLastMembershipBefore(Date d, String scope)
           
 Set<Group> findAllByModifiedAfter(Date d)
           
 Set<Group> findAllByModifiedAfter(Date d, String scope)
           
 Set<Group> findAllByModifiedBefore(Date d)
           
 Set<Group> findAllByModifiedBefore(Date d, String scope)
           
 Set<Group> findAllByType(GroupType _gt)
          Note, this doesnt cache
 Set<Group> findAllByType(GroupType _gt, QueryOptions queryOptions)
          this caches
 Set<Group> findAllByType(GroupType _gt, String scope)
           
 Group findByAlternateName(String name, boolean exceptionIfNotFound)
          Find a group by its alternate name only.
 Group findByAttribute(String attr, String val)
          Deprecated. use overload
 Group findByAttribute(String attr, String val, boolean exceptionIfNotFound)
           
 Set<Group> findByCreatorOrModifier(Member member)
          find groups by creator or modifier
 Group findByCurrentName(String name, boolean exceptionIfNotFound)
          Find a group by its current name only.
 Group findByName(String name)
          Deprecated. use overload
 Group findByName(String name, boolean exceptionIfNotFound)
           
 Group findByName(String name, boolean exceptionIfNotFound, QueryOptions queryOptions)
           
 Group findByUuid(String uuid)
          Deprecated. use overload
 Group findByUuid(String uuid, boolean exceptionIfNotFound)
           
 Group findByUuid(String uuid, boolean exceptionIfNotFound, QueryOptions queryOptions)
           
 Group findByUuidOrName(String uuid, String name, boolean exceptionIfNull)
           
 Set<Group> findByUuids(Collection<String> uuids, boolean exceptionOnNotFound)
          find all groups which have these uuids
 Set<Group> findGroupsInStemWithoutPrivilege(GrouperSession grouperSession, String stemId, Stem.Scope scope, Subject subject, Privilege privilege, QueryOptions queryOptions, boolean considerAllSubject, String sqlLikeString)
          see which groups do not have this privilege
 Set<Group> getAllGroups()
           
 Set<Group> getAllGroups(String scope)
           
 Set<Group> getAllGroupsMembershipSecure(Field field, String scope, GrouperSession grouperSession, Subject subject, QueryOptions queryOptions, Boolean enabled, MembershipType membershipType, Stem stem, Stem.Scope stemScope)
           
 Set<Group> getAllGroupsMembershipSecure(GrouperSession grouperSession, Subject subject, Set<Privilege> inPrivSet, QueryOptions queryOptions, boolean enabledOnly)
           
 Set<Group> getAllGroupsMembershipSecure(String scope, GrouperSession grouperSession, Subject subject, Set<Privilege> inPrivSet, QueryOptions queryOptions, boolean enabledOnly)
           
 Set<Group> getAllGroupsMembershipSecure(String scope, GrouperSession grouperSession, Subject subject, Set<Privilege> inPrivSet, QueryOptions queryOptions, boolean enabledOnly, Stem stem, Stem.Scope stemScope)
           
 Set<Group> getAllGroupsSecure(GrouperSession grouperSession, Subject subject, Set<Privilege> inPrivSet, QueryOptions queryOptions)
          In this case, send in the attribute name to sort by (default is displayName).
 Set<Group> getAllGroupsSecure(String scope, GrouperSession grouperSession, Subject subject, Set<Privilege> inPrivSet, QueryOptions queryOptions)
           
 Set<Group> getImmediateChildren(Stem stem)
           
 Set<Group> getImmediateChildrenMembershipSecure(GrouperSession grouperSession, Stem stem, Subject subject, Set<Privilege> inPrivSet, QueryOptions queryOptions, boolean enabledOnly)
          get immediate children secure
 Set<Group> getImmediateChildrenSecure(GrouperSession grouperSession, Stem stem, Subject subject, Set<Privilege> inPrivSet, QueryOptions queryOptions)
          get immediate children secure
 void putInExistsCache(String uuid, boolean exists)
          put in cache
 void saveUpdateProperties(Group group)
          save the update properties which are auto saved when business method is called
 void update(Group _g)
           
 void updateLastMembershipChange(String groupId)
           
 void updateLastMembershipChangeIncludeAncestorGroups(String groupId)
          This will update last_membership_change for group owners where group member in groupSet is the given groupId.
 
Methods inherited from class edu.internet2.middleware.grouper.internal.dao.hib3.Hib3DAO
evict, evictEntity, evictQueries, getConfiguration, initHibernateIfNotInitted, resourceNameFromClassName, session
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Hib3GroupDAO

public Hib3GroupDAO()
Method Detail

putInExistsCache

public void putInExistsCache(String uuid,
                             boolean exists)
put in cache

Specified by:
putInExistsCache in interface GroupDAO
Parameters:
uuid -
exists -

addType

public GroupTypeTuple addType(Group _g,
                              GroupType _gt)
                       throws GrouperDAOException
Specified by:
addType in interface GroupDAO
Throws:
GrouperDAOException
See Also:
GroupDAO.addType(edu.internet2.middleware.grouper.Group, edu.internet2.middleware.grouper.GroupType)

delete

public void delete(Group _g)
            throws GrouperDAOException
Specified by:
delete in interface GroupDAO
Parameters:
_g -
Throws:
GrouperDAOException
Since:
@HEAD@

deleteType

public GroupTypeTuple deleteType(Group group,
                                 GroupType groupType)
                          throws GrouperDAOException
Specified by:
deleteType in interface GroupDAO
Parameters:
group -
groupType -
Returns:
tuple
Throws:
GrouperDAOException
Since:
@HEAD@

exists

public boolean exists(String uuid)
               throws GrouperDAOException
Specified by:
exists in interface GroupDAO
Parameters:
uuid -
Returns:
if exists
Throws:
GrouperDAOException
Since:
@HEAD@

findAllByAnyApproximateAttr

public Set<Group> findAllByAnyApproximateAttr(String val)
                                       throws GrouperDAOException,
                                              IllegalStateException
Specified by:
findAllByAnyApproximateAttr in interface GroupDAO
Parameters:
val -
Returns:
set
Throws:
GrouperDAOException
IllegalStateException
Since:
@HEAD@

findAllByAnyApproximateAttr

public Set<Group> findAllByAnyApproximateAttr(String val,
                                              String scope)
                                       throws GrouperDAOException,
                                              IllegalStateException
Specified by:
findAllByAnyApproximateAttr in interface GroupDAO
Parameters:
val -
scope -
Returns:
set
Throws:
GrouperDAOException
IllegalStateException
Since:
@HEAD@

findAllByApproximateAttr

public Set<Group> findAllByApproximateAttr(String attr,
                                           String val)
                                    throws GrouperDAOException,
                                           IllegalStateException

Implementation Notes.

  1. This method will generate a full table scan of the attributes table. It will not perform well if there are a large number of groups.
  2. Hibernate caching is not enabled.

Specified by:
findAllByApproximateAttr in interface GroupDAO
Throws:
GrouperDAOException
IllegalStateException
Since:
@HEAD@
See Also:
GroupDAO.findAllByApproximateAttr(String, String)

findAllByApproximateAttr

public Set<Group> findAllByApproximateAttr(String attr,
                                           String val,
                                           String scope)
                                    throws GrouperDAOException,
                                           IllegalStateException

Implementation Notes.

  1. This method will generate a full table scan of the attributes table. It will not perform well if there are a large number of groups.
  2. Hibernate caching is not enabled.

Specified by:
findAllByApproximateAttr in interface GroupDAO
Throws:
GrouperDAOException
IllegalStateException
Since:
@HEAD@
See Also:
GroupDAO.findAllByApproximateAttr(String, String, String)

findAllByApproximateName

public Set<Group> findAllByApproximateName(String name)
                                    throws GrouperDAOException

Implementation Notes.

  1. This method will generate a full table scan of the attributes table. It will not perform well if there are a large number of groups.
  2. Hibernate caching is not enabled.

Specified by:
findAllByApproximateName in interface GroupDAO
Throws:
GrouperDAOException
Since:
@HEAD@
See Also:
GroupDAO.findAllByApproximateName(String)

findAllByApproximateName

public Set<Group> findAllByApproximateName(String name,
                                           String scope)
                                    throws GrouperDAOException

Implementation Notes.

  1. This method will generate a full table scan of the attributes table. It will not perform well if there are a large number of groups.
  2. Hibernate caching is not enabled.

Specified by:
findAllByApproximateName in interface GroupDAO
Throws:
GrouperDAOException
Since:
@HEAD@
See Also:
GroupDAO.findAllByApproximateName(String, String)

findAllByApproximateCurrentName

public Set<Group> findAllByApproximateCurrentName(String name)
                                           throws GrouperDAOException
Find groups using an approximate string for the current name, display name, extension, display extension.

Specified by:
findAllByApproximateCurrentName in interface GroupDAO
Parameters:
name -
Returns:
set
Throws:
GrouperDAOException

findAllByApproximateCurrentName

public Set<Group> findAllByApproximateCurrentName(String name,
                                                  String scope)
                                           throws GrouperDAOException
Find groups using an approximate string for the current name, display name, extension, display extension.

Specified by:
findAllByApproximateCurrentName in interface GroupDAO
Parameters:
name -
scope -
Returns:
set
Throws:
GrouperDAOException

findAllByApproximateAlternateName

public Set<Group> findAllByApproximateAlternateName(String name)
                                             throws GrouperDAOException
Find groups using an approximate string for the alternate name.

Specified by:
findAllByApproximateAlternateName in interface GroupDAO
Parameters:
name -
Returns:
set
Throws:
GrouperDAOException

findAllByApproximateAlternateName

public Set<Group> findAllByApproximateAlternateName(String name,
                                                    String scope)
                                             throws GrouperDAOException
Find groups using an approximate string for the alternate name.

Specified by:
findAllByApproximateAlternateName in interface GroupDAO
Parameters:
name -
scope -
Returns:
set
Throws:
GrouperDAOException

findAllByCreatedAfter

public Set<Group> findAllByCreatedAfter(Date d)
                                 throws GrouperDAOException
Specified by:
findAllByCreatedAfter in interface GroupDAO
Parameters:
d -
Returns:
set
Throws:
GrouperDAOException
Since:
@HEAD@

findAllByCreatedAfter

public Set<Group> findAllByCreatedAfter(Date d,
                                        String scope)
Specified by:
findAllByCreatedAfter in interface GroupDAO
Parameters:
d -
scope -
Returns:
set
Throws:
GrouperDAOException
Since:
@HEAD@

findAllByCreatedBefore

public Set<Group> findAllByCreatedBefore(Date d)
                                  throws GrouperDAOException
Specified by:
findAllByCreatedBefore in interface GroupDAO
Parameters:
d -
Returns:
set
Throws:
GrouperDAOException
Since:
@HEAD@

findAllByCreatedBefore

public Set<Group> findAllByCreatedBefore(Date d,
                                         String scope)
                                  throws GrouperDAOException
Specified by:
findAllByCreatedBefore in interface GroupDAO
Parameters:
d -
scope -
Returns:
set
Throws:
GrouperDAOException
Since:
@HEAD@

findAllByModifiedAfter

public Set<Group> findAllByModifiedAfter(Date d)
                                  throws GrouperDAOException
Specified by:
findAllByModifiedAfter in interface GroupDAO
Parameters:
d -
Returns:
set
Throws:
GrouperDAOException
Since:
@HEAD@

findAllByModifiedAfter

public Set<Group> findAllByModifiedAfter(Date d,
                                         String scope)
                                  throws GrouperDAOException
Specified by:
findAllByModifiedAfter in interface GroupDAO
Parameters:
d -
scope -
Returns:
set
Throws:
GrouperDAOException
Since:
@HEAD@

findAllByModifiedBefore

public Set<Group> findAllByModifiedBefore(Date d)
                                   throws GrouperDAOException
Specified by:
findAllByModifiedBefore in interface GroupDAO
Parameters:
d -
Returns:
set
Throws:
GrouperDAOException
Since:
@HEAD@

findAllByModifiedBefore

public Set<Group> findAllByModifiedBefore(Date d,
                                          String scope)
                                   throws GrouperDAOException
Specified by:
findAllByModifiedBefore in interface GroupDAO
Parameters:
d -
scope -
Returns:
set
Throws:
GrouperDAOException
Since:
@HEAD@

findAllByLastMembershipBefore

public Set<Group> findAllByLastMembershipBefore(Date d)
                                         throws GrouperDAOException
Specified by:
findAllByLastMembershipBefore in interface GroupDAO
Parameters:
d -
Returns:
set
Throws:
GrouperDAOException
Since:
@HEAD@

findAllByLastMembershipBefore

public Set<Group> findAllByLastMembershipBefore(Date d,
                                                String scope)
                                         throws GrouperDAOException
Specified by:
findAllByLastMembershipBefore in interface GroupDAO
Parameters:
d -
scope -
Returns:
set
Throws:
GrouperDAOException
Since:
@HEAD@

findAllByLastMembershipAfter

public Set<Group> findAllByLastMembershipAfter(Date d)
                                        throws GrouperDAOException
Specified by:
findAllByLastMembershipAfter in interface GroupDAO
Parameters:
d -
Returns:
set
Throws:
GrouperDAOException
Since:
@HEAD@

findAllByLastMembershipAfter

public Set<Group> findAllByLastMembershipAfter(Date d,
                                               String scope)
                                        throws GrouperDAOException
Specified by:
findAllByLastMembershipAfter in interface GroupDAO
Parameters:
d -
scope -
Returns:
set
Throws:
GrouperDAOException
Since:
@HEAD@

findAllByType

public Set<Group> findAllByType(GroupType _gt)
                         throws GrouperDAOException
Note, this doesnt cache

Specified by:
findAllByType in interface GroupDAO
Parameters:
_gt -
Returns:
set
Throws:
GrouperDAOException
Since:
@HEAD@

findAllByType

public Set<Group> findAllByType(GroupType _gt,
                                String scope)
                         throws GrouperDAOException
Specified by:
findAllByType in interface GroupDAO
Parameters:
_gt -
scope -
Returns:
set
Throws:
GrouperDAOException
Since:
@HEAD@

findByAttribute

public Group findByAttribute(String attr,
                             String val,
                             boolean exceptionIfNotFound)
                      throws GrouperDAOException,
                             GroupNotFoundException
Specified by:
findByAttribute in interface GroupDAO
Parameters:
attr -
val -
exceptionIfNotFound -
Returns:
group
Throws:
GrouperDAOException
GroupNotFoundException
Since:
@HEAD@

findByAttribute

@Deprecated
public Group findByAttribute(String attr,
                                        String val)
                      throws GrouperDAOException,
                             GroupNotFoundException
Deprecated. use overload

Specified by:
findByAttribute in interface GroupDAO
Parameters:
attr -
val -
Returns:
group
Throws:
GrouperDAOException
GroupNotFoundException

findByName

public Group findByName(String name,
                        boolean exceptionIfNotFound)
                 throws GrouperDAOException,
                        GroupNotFoundException
Specified by:
findByName in interface GroupDAO
Parameters:
name -
exceptionIfNotFound -
Returns:
group
Throws:
GrouperDAOException
GroupNotFoundException

findByName

public Group findByName(String name,
                        boolean exceptionIfNotFound,
                        QueryOptions queryOptions)
                 throws GrouperDAOException,
                        GroupNotFoundException
Specified by:
findByName in interface GroupDAO
Parameters:
name -
exceptionIfNotFound - exception if cant find group
queryOptions - if we should use cache or not
Returns:
group
Throws:
GrouperDAOException
GroupNotFoundException
Since:
@HEAD@

findByCurrentName

public Group findByCurrentName(String name,
                               boolean exceptionIfNotFound)
                        throws GrouperDAOException,
                               GroupNotFoundException
Find a group by its current name only.

Specified by:
findByCurrentName in interface GroupDAO
Parameters:
name -
exceptionIfNotFound -
Returns:
group
Throws:
GrouperDAOException
GroupNotFoundException

findByAlternateName

public Group findByAlternateName(String name,
                                 boolean exceptionIfNotFound)
                          throws GrouperDAOException,
                                 GroupNotFoundException
Find a group by its alternate name only.

Specified by:
findByAlternateName in interface GroupDAO
Parameters:
name -
exceptionIfNotFound -
Returns:
group
Throws:
GrouperDAOException
GroupNotFoundException

findByName

@Deprecated
public Group findByName(String name)
                 throws GrouperDAOException,
                        GroupNotFoundException
Deprecated. use overload

Specified by:
findByName in interface GroupDAO
Parameters:
name -
Returns:
group
Throws:
GrouperDAOException
GroupNotFoundException

findByUuid

@Deprecated
public Group findByUuid(String uuid)
                 throws GrouperDAOException,
                        GroupNotFoundException
Deprecated. use overload

  1. Hibernate caching is enabled.

Specified by:
findByUuid in interface GroupDAO
Throws:
GrouperDAOException
GroupNotFoundException
See Also:
GroupDAO.findByUuid(String)

findByUuid

public Group findByUuid(String uuid,
                        boolean exceptionIfNotFound)
                 throws GrouperDAOException,
                        GroupNotFoundException
Specified by:
findByUuid in interface GroupDAO
Throws:
GrouperDAOException
GroupNotFoundException
See Also:
GroupDAO.findByUuid(java.lang.String, boolean)

findByUuid

public Group findByUuid(String uuid,
                        boolean exceptionIfNotFound,
                        QueryOptions queryOptions)
                 throws GrouperDAOException,
                        GroupNotFoundException
Specified by:
findByUuid in interface GroupDAO
Returns:
the group or null or exception
Throws:
GrouperDAOException
GroupNotFoundException
See Also:
GroupDAO.findByUuid(java.lang.String, boolean, QueryOptions)

getAllGroups

public Set<Group> getAllGroups()
                        throws GrouperDAOException
Specified by:
getAllGroups in interface GroupDAO
Returns:
set
Throws:
GrouperDAOException
Since:
@HEAD@

getAllGroups

public Set<Group> getAllGroups(String scope)
                        throws GrouperDAOException
Specified by:
getAllGroups in interface GroupDAO
Parameters:
scope -
Returns:
set
Throws:
GrouperDAOException
Since:
@HEAD@

getImmediateChildren

public Set<Group> getImmediateChildren(Stem stem)
                                throws GrouperDAOException
Specified by:
getImmediateChildren in interface GroupDAO
Parameters:
stem -
Returns:
set
Throws:
GrouperDAOException
Since:
@HEAD@

update

public void update(Group _g)
            throws GrouperDAOException
Specified by:
update in interface GroupDAO
Parameters:
_g -
Throws:
GrouperDAOException
Since:
@HEAD@

_findAllTypesByGroup

public Set<GroupType> _findAllTypesByGroup(String uuid)
                                    throws GrouperDAOException
Description copied from interface: GroupDAO
find al types for a group

Specified by:
_findAllTypesByGroup in interface GroupDAO
Returns:
the types
Throws:
GrouperDAOException
See Also:
GroupDAO._findAllTypesByGroup(java.lang.String)

findAllByAttr

public Set<Group> findAllByAttr(String attr,
                                String val)
                         throws GrouperDAOException,
                                IllegalStateException

Implementation Notes.

  1. This looks for groups by exact attribute value
  2. Hibernate caching is not enabled.

Specified by:
findAllByAttr in interface GroupDAO
Throws:
GrouperDAOException
IllegalStateException
See Also:
GroupDAO.findAllByAttr(java.lang.String, java.lang.String)

findAllByAttr

public Set<Group> findAllByAttr(String attr,
                                String val,
                                String scope)
                         throws GrouperDAOException,
                                IllegalStateException

Implementation Notes.

  1. This looks for groups by exact attribute value
  2. Hibernate caching is not enabled.

Specified by:
findAllByAttr in interface GroupDAO
Throws:
GrouperDAOException
IllegalStateException
See Also:
GroupDAO.findAllByAttr(java.lang.String, java.lang.String, java.lang.String)

findByCreatorOrModifier

public Set<Group> findByCreatorOrModifier(Member member)
find groups by creator or modifier

Specified by:
findByCreatorOrModifier in interface GroupDAO
Parameters:
member -
Returns:
the groups

getAllGroupsSecure

public Set<Group> getAllGroupsSecure(GrouperSession grouperSession,
                                     Subject subject,
                                     Set<Privilege> inPrivSet,
                                     QueryOptions queryOptions)
                              throws GrouperDAOException
In this case, send in the attribute name to sort by (default is displayName). Make sure the grouperSession can see the groups

Specified by:
getAllGroupsSecure in interface GroupDAO
Parameters:
grouperSession -
subject -
queryOptions -
inPrivSet - means that each row must have a matching priv in this set to user or GrouperAll. There are some constants in AccessPrivilege of pre-canned sets
Returns:
set
Throws:
GrouperDAOException

getAllGroupsSecure

public Set<Group> getAllGroupsSecure(String scope,
                                     GrouperSession grouperSession,
                                     Subject subject,
                                     Set<Privilege> inPrivSet,
                                     QueryOptions queryOptions)
                              throws GrouperDAOException
Specified by:
getAllGroupsSecure in interface GroupDAO
inPrivSet - means that each row must have a matching priv in this set to user or GrouperAll. There are some constants in AccessPrivilege of pre-canned sets
Returns:
the groups
Throws:
GrouperDAOException
See Also:
GroupDAO.getAllGroupsSecure(java.lang.String, edu.internet2.middleware.grouper.GrouperSession, edu.internet2.middleware.subject.Subject, java.util.Set, edu.internet2.middleware.grouper.internal.dao.QueryOptions)

getImmediateChildrenSecure

public Set<Group> getImmediateChildrenSecure(GrouperSession grouperSession,
                                             Stem stem,
                                             Subject subject,
                                             Set<Privilege> inPrivSet,
                                             QueryOptions queryOptions)
                                      throws GrouperDAOException
Description copied from interface: GroupDAO
get immediate children secure

Specified by:
getImmediateChildrenSecure in interface GroupDAO
inPrivSet - means that each row must have a matching priv in this set to user or GrouperAll. There are some constants in AccessPrivilege of pre-canned sets
Returns:
the set of groups
Throws:
GrouperDAOException
See Also:
GroupDAO.getImmediateChildrenSecure(edu.internet2.middleware.grouper.GrouperSession, edu.internet2.middleware.grouper.Stem, edu.internet2.middleware.subject.Subject, java.util.Set, edu.internet2.middleware.grouper.internal.dao.QueryOptions)

findByUuids

public Set<Group> findByUuids(Collection<String> uuids,
                              boolean exceptionOnNotFound)
                       throws GroupNotFoundException
Description copied from interface: GroupDAO
find all groups which have these uuids

Specified by:
findByUuids in interface GroupDAO
exceptionOnNotFound - if exception should be thrown when a uuid doesnt match up
Returns:
the groups
Throws:
GroupNotFoundException
See Also:
GroupDAO.findByUuids(java.util.Collection, boolean)

getAllGroupsMembershipSecure

public Set<Group> getAllGroupsMembershipSecure(GrouperSession grouperSession,
                                               Subject subject,
                                               Set<Privilege> inPrivSet,
                                               QueryOptions queryOptions,
                                               boolean enabledOnly)
                                        throws GrouperDAOException
Specified by:
getAllGroupsMembershipSecure in interface GroupDAO
inPrivSet - means that each row must have a matching priv in this set to user or GrouperAll. There are some constants in AccessPrivilege of pre-canned sets
Returns:
groups
Throws:
GrouperDAOException
See Also:
GroupDAO.getAllGroupsMembershipSecure(edu.internet2.middleware.grouper.GrouperSession, edu.internet2.middleware.subject.Subject, java.util.Set, edu.internet2.middleware.grouper.internal.dao.QueryOptions, boolean)

getAllGroupsMembershipSecure

public Set<Group> getAllGroupsMembershipSecure(String scope,
                                               GrouperSession grouperSession,
                                               Subject subject,
                                               Set<Privilege> inPrivSet,
                                               QueryOptions queryOptions,
                                               boolean enabledOnly)
                                        throws GrouperDAOException
Specified by:
getAllGroupsMembershipSecure in interface GroupDAO
inPrivSet - means that each row must have a matching priv in this set to user or GrouperAll. There are some constants in AccessPrivilege of pre-canned sets
Returns:
the groups
Throws:
GrouperDAOException
See Also:
GroupDAO.getAllGroupsMembershipSecure(java.lang.String, edu.internet2.middleware.grouper.GrouperSession, edu.internet2.middleware.subject.Subject, java.util.Set, edu.internet2.middleware.grouper.internal.dao.QueryOptions, boolean)

getAllGroupsMembershipSecure

public Set<Group> getAllGroupsMembershipSecure(String scope,
                                               GrouperSession grouperSession,
                                               Subject subject,
                                               Set<Privilege> inPrivSet,
                                               QueryOptions queryOptions,
                                               boolean enabledOnly,
                                               Stem stem,
                                               Stem.Scope stemScope)
                                        throws GrouperDAOException
Specified by:
getAllGroupsMembershipSecure in interface GroupDAO
inPrivSet - means that each row must have a matching priv in this set to user or GrouperAll. There are some constants in AccessPrivilege of pre-canned sets
Returns:
the groups
Throws:
GrouperDAOException
See Also:
GroupDAO.getAllGroupsMembershipSecure(java.lang.String, edu.internet2.middleware.grouper.GrouperSession, edu.internet2.middleware.subject.Subject, java.util.Set, edu.internet2.middleware.grouper.internal.dao.QueryOptions, boolean, edu.internet2.middleware.grouper.Stem, edu.internet2.middleware.grouper.Stem.Scope)

getImmediateChildrenMembershipSecure

public Set<Group> getImmediateChildrenMembershipSecure(GrouperSession grouperSession,
                                                       Stem stem,
                                                       Subject subject,
                                                       Set<Privilege> inPrivSet,
                                                       QueryOptions queryOptions,
                                                       boolean enabledOnly)
                                                throws GrouperDAOException
Description copied from interface: GroupDAO
get immediate children secure

Specified by:
getImmediateChildrenMembershipSecure in interface GroupDAO
inPrivSet - means that each row must have a matching priv in this set to user or GrouperAll. There are some constants in AccessPrivilege of pre-canned sets
Returns:
the set of groups
Throws:
GrouperDAOException
See Also:
GroupDAO.getImmediateChildrenMembershipSecure(edu.internet2.middleware.grouper.GrouperSession, edu.internet2.middleware.grouper.Stem, edu.internet2.middleware.subject.Subject, java.util.Set, edu.internet2.middleware.grouper.internal.dao.QueryOptions, boolean)

updateLastMembershipChange

public void updateLastMembershipChange(String groupId)
Specified by:
updateLastMembershipChange in interface GroupDAO
See Also:
GroupDAO.updateLastMembershipChange(java.lang.String)

updateLastMembershipChangeIncludeAncestorGroups

public void updateLastMembershipChangeIncludeAncestorGroups(String groupId)
Description copied from interface: GroupDAO
This will update last_membership_change for group owners where group member in groupSet is the given groupId.

Specified by:
updateLastMembershipChangeIncludeAncestorGroups in interface GroupDAO
See Also:
GroupDAO.updateLastMembershipChangeIncludeAncestorGroups(java.lang.String)

getAllGroupsMembershipSecure

public Set<Group> getAllGroupsMembershipSecure(Field field,
                                               String scope,
                                               GrouperSession grouperSession,
                                               Subject subject,
                                               QueryOptions queryOptions,
                                               Boolean enabled,
                                               MembershipType membershipType,
                                               Stem stem,
                                               Stem.Scope stemScope)
                                        throws GrouperDAOException
Specified by:
getAllGroupsMembershipSecure in interface GroupDAO
queryOptions - if sorting on name, displayName, extension, displayExtension
enabled - null for all, True for enabledOnly, False for disabledOnly
membershipType - immediate, effective, etc
stem - if searching in a specific stem
stemScope - sub or one
Returns:
the groups
Throws:
GrouperDAOException
See Also:
edu.internet2.middleware.grouper.internal.dao.GroupDAO#getAllGroupsMembershipSecure(java.lang.String, edu.internet2.middleware.grouper.GrouperSession, edu.internet2.middleware.subject.Subject, edu.internet2.middleware.grouper.internal.dao.QueryOptions, java.lang.Boolean, edu.internet2.middleware.grouper.membership.MembershipType, edu.internet2.middleware.grouper.Stem, edu.internet2.middleware.grouper.Stem.Scope)

findByUuidOrName

public Group findByUuidOrName(String uuid,
                              String name,
                              boolean exceptionIfNull)
                       throws GrouperDAOException,
                              GroupNotFoundException
Specified by:
findByUuidOrName in interface GroupDAO
Returns:
the stem or null
Throws:
GrouperDAOException
GroupNotFoundException
See Also:
GroupDAO.findByUuidOrName(java.lang.String, java.lang.String, boolean)

saveUpdateProperties

public void saveUpdateProperties(Group group)
Description copied from interface: GroupDAO
save the update properties which are auto saved when business method is called

Specified by:
saveUpdateProperties in interface GroupDAO
See Also:
GroupDAO.saveUpdateProperties(edu.internet2.middleware.grouper.Group)

findAllByType

public Set<Group> findAllByType(GroupType _gt,
                                QueryOptions queryOptions)
                         throws GrouperDAOException
Description copied from interface: GroupDAO
this caches

Specified by:
findAllByType in interface GroupDAO
Throws:
GrouperDAOException
See Also:
GroupDAO.findAllByType(GroupType, QueryOptions)

findGroupsInStemWithoutPrivilege

public Set<Group> findGroupsInStemWithoutPrivilege(GrouperSession grouperSession,
                                                   String stemId,
                                                   Stem.Scope scope,
                                                   Subject subject,
                                                   Privilege privilege,
                                                   QueryOptions queryOptions,
                                                   boolean considerAllSubject,
                                                   String sqlLikeString)
Description copied from interface: GroupDAO
see which groups do not have this privilege

Specified by:
findGroupsInStemWithoutPrivilege in interface GroupDAO
Returns:
the groups
See Also:
GroupDAO#findGroupsInStemWithoutPrivilege(GrouperSession, String, Scope, Subject, Privilege, QueryOptions, boolean, String)