org.olat.group
Class BusinessGroupManagerImpl

java.lang.Object
  extended by org.olat.group.BusinessGroupManagerImpl
All Implemented Interfaces:
BusinessGroupManager, UserDataDeletable

public class BusinessGroupManagerImpl
extends java.lang.Object
implements BusinessGroupManager, UserDataDeletable

Description:
Persisting implementation of the business group manager. Persists the data in the database.

Initial Date: Jul 28, 2004

Author:
patrick

Method Summary
 void addOwnerAndFireEvent(Identity ureqIdentity, Identity identity, BusinessGroup group, BGConfigFlags flags, boolean doOnlyPostAddingStuff)
          Adds a user to a group as owner and does all the magic that needs to be done: - add to secgroup (optional) - add to jabber roster - fire multi user event
 BusinessGroupAddResponse addOwnersAndFireEvent(Identity ureqIdentity, java.util.List<Identity> addIdentities, BusinessGroup currBusinessGroup, BGConfigFlags flags)
          Add a list of identity as owner to a business-group.
 void addParticipantAndFireEvent(Identity ureqIdentity, Identity identity, BusinessGroup group, BGConfigFlags flags, boolean doOnlyPostAddingStuff)
          Adds a user to a group as participant and does all the magic that needs to be done: - add to secgroup (optional) - add to jabber roster - fire multi user event
 BusinessGroupAddResponse addParticipantsAndFireEvent(Identity ureqIdentity, java.util.List<Identity> addIdentities, BusinessGroup acurrBusinessGroup, BGConfigFlags flags)
          Add a list of identity as participant to a business-group.
 void addToWaitingListAndFireEvent(Identity ureqIdentity, Identity identity, BusinessGroup group, boolean doOnlyPostAddingStuff)
          Adds a user to a waiting-list of a group and does all the magic that needs to be done: - add to secgroup (optional) - add to jabber roster - send notification email - fire multi user event
 BusinessGroupAddResponse addToWaitingListAndFireEvent(Identity ureqIdentity, java.util.List<Identity> addIdentities, BusinessGroup acurrBusinessGroup, BGConfigFlags flags)
          Add a list of identity to waiting-list of a business-group.
 void archiveGroups(BGContext context, java.io.File exportFile)
           
 BusinessGroup copyBusinessGroup(BusinessGroup sourceBusinessGroup, java.lang.String targetName, java.lang.String targetDescription, java.lang.Integer targetMin, java.lang.Integer targetMax, BGContext targetBgContext, java.util.Map areaLookupMap, boolean copyAreas, boolean copyCollabToolConfig, boolean copyRights, boolean copyOwners, boolean copyParticipants, boolean copyMemberVisibility, boolean copyWaitingList)
          Create and persist a new business group based on a source group.
 BusinessGroup createAndPersistBusinessGroup(java.lang.String type, Identity identity, java.lang.String name, java.lang.String description, java.lang.Integer minParticipants, java.lang.Integer maxParticipants, java.lang.Boolean enableWaitinglist, java.lang.Boolean enableAutoCloseRanks, BGContext groupContext)
          create a persistent BusinessGroup of the specified type and the provided parameters.
 java.util.Set<BusinessGroup> createUniqueBusinessGroupsFor(java.util.Set<java.lang.String> allNames, BGContext bgContext, java.lang.String bgDesc, java.lang.Integer bgMin, java.lang.Integer bgMax, java.lang.Boolean enableWaitinglist, java.lang.Boolean enableAutoCloseRanks)
          Creates business-groups with certain name when no group in a given BGContext with this names already exists.
 void deleteBusinessGroup(BusinessGroup businessGroupTodelete)
          delete a businessgroup from the persistence store
 void deleteBusinessGroups(java.util.List businessGroups)
          delete all business groups from this list
 void deleteBusinessGroupWithMail(BusinessGroup businessGroupTodelete, WindowControl wControl, UserRequest ureq, Translator trans, java.util.List contactLists)
          delete a business group and send a mail to all users in the group
 void deleteUserData(Identity identity, java.lang.String newDeletedUserName)
          Delete all entries as participant, owner and waiting-list for certain identity.
 void exportGroup(BusinessGroup group, java.io.File fExportFile)
           
 void exportGroups(BGContext context, java.io.File fExportFile)
          Export group definitions to file.
 java.util.List findBusinessGroupsAttendedBy(java.lang.String type, Identity identityP, BGContext bgContext)
          find the list of BuddyGroups associated with the supplied identity, where the identity is a Participiant.
 java.util.List findBusinessGroupsOwnedBy(java.lang.String type, Identity identityP, BGContext bgContext)
          find the BusinessGroups list of type type associated with the supplied identity, where the identity is an Owner.
 java.util.List findBusinessGroupsWithWaitingListAttendedBy(java.lang.String type, Identity identityP, BGContext bgContext)
          Find all business-groups where the idenity is on the waiting-list.
 java.util.List getAllBusinessGroups()
          Get all business-groups.
 java.util.List<java.lang.String> getDependingDeletablableListFor(BusinessGroup currentGroup, java.util.Locale locale)
           
static BusinessGroupManager getInstance()
           
 int getPositionInWaitingListFor(Identity identity, BusinessGroup businessGroup)
          Get postion of an idenity on a certain waiting-list
 void importGroups(BGContext context, java.io.File fGroupExportXML)
          Import previousely exported group definitions.
 boolean isIdentityInBusinessGroup(Identity identity, BusinessGroup businessGroup)
           
 boolean isIdentityInBusinessGroup(Identity identity, java.lang.String groupName, BGContext groupContext)
          Checks if an identity is in a specific business group, either as owner or as participant
 BusinessGroup loadBusinessGroup(BusinessGroup currBusinessGroup)
           
 BusinessGroup loadBusinessGroup(java.lang.Long groupKey, boolean strict)
           
 BusinessGroupAddResponse moveIdenityFromWaitingListToParticipant(java.util.List<Identity> choosenIdentities, Identity ureqIdentity, BusinessGroup currBusinessGroup, BGConfigFlags flags)
          Move users from a waiting-list to participant-list.
 void registerDeletableGroupDataListener(DeletableGroupData listener)
          Extension-point method to register objects which have deletable group-data.
 void removeFromWaitingListAndFireEvent(Identity userRequestIdentity, Identity identity, BusinessGroup group, boolean doOnlyPostRemovingStuff)
          Remove a user from a waiting-list as participant and does all the magic that needs to be done: - remove from secgroup (optional) send notification email - fire multi user event
 void removeFromWaitingListAndFireEvent(Identity ureqIdentity, java.util.List<Identity> identities, BusinessGroup currBusinessGroup, BGConfigFlags flags)
          Remove a list of identity from waiting-list of a business-group.
 void removeOwnerAndFireEvent(Identity ureqIdentity, Identity identity, BusinessGroup group, BGConfigFlags flags, boolean doOnlyPostRemovingStuff)
          Remove a user from a group as owner and does all the magic that needs to be done: - remove from secgroup (optional) - remove from jabber roster - fire multi user event
 void removeOwnersAndFireEvent(Identity ureqIdentity, java.util.List<Identity> identities, BusinessGroup currBusinessGroup, BGConfigFlags flags)
          Remove a list of identity as owner from a business-group.
 void removeParticipantAndFireEvent(Identity ureqIdentity, Identity identity, BusinessGroup group, BGConfigFlags flags, boolean doOnlyPostRemovingStuff)
          Remove a user from a group as participant and does all the magic that needs to be done: - remove from secgroup (optional) - remove from jabber roster - fire multi user event
 void removeParticipantsAndFireEvent(Identity ureqIdentity, java.util.List<Identity> identities, BusinessGroup currBusinessGroup, BGConfigFlags flags)
          Remove a list of identity as participant from a business-group.
 void setLastUsageFor(BusinessGroup currBusinessGroup)
          Set certain business-group as active (set last-usage and delete time stamp for 'SEND_DELETE_EMAIL_ACTION' in LifeCycleManager):
 void updateBusinessGroup(BusinessGroup updatedBusinessGroup)
          commit the changes on a BusinessGroup instance to the persistence store
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static BusinessGroupManager getInstance()
Returns:
singleton instance

createAndPersistBusinessGroup

public BusinessGroup createAndPersistBusinessGroup(java.lang.String type,
                                                   Identity identity,
                                                   java.lang.String name,
                                                   java.lang.String description,
                                                   java.lang.Integer minParticipants,
                                                   java.lang.Integer maxParticipants,
                                                   java.lang.Boolean enableWaitinglist,
                                                   java.lang.Boolean enableAutoCloseRanks,
                                                   BGContext groupContext)
Description copied from interface: BusinessGroupManager
create a persistent BusinessGroup of the specified type and the provided parameters. The BusinessGroup can have a waiting-list.

Specified by:
createAndPersistBusinessGroup in interface BusinessGroupManager
Parameters:
type - see BusinessGroup four TYPE constants
minParticipants - Minimum num of participants, null if undefined.
maxParticipants - Maximum number of participants, null if undefined.
groupContext - the group context or null if no context (e.g. buddy groups)
Returns:
the created BusinessGroup
See Also:
BusinessGroupManager.createAndPersistBusinessGroup(java.lang.String, org.olat.core.id.Identity, java.lang.String, java.lang.String, java.lang.Integer, java.lang.Integer, java.lang.Boolean, java.lang.Boolean, org.olat.group.context.BGContext)

findBusinessGroupsOwnedBy

public java.util.List findBusinessGroupsOwnedBy(java.lang.String type,
                                                Identity identityP,
                                                BGContext bgContext)
Description copied from interface: BusinessGroupManager
find the BusinessGroups list of type type associated with the supplied identity, where the identity is an Owner.

Specified by:
findBusinessGroupsOwnedBy in interface BusinessGroupManager
Parameters:
type - Restrict find to this group type or null if not restricted to a specific type
bgContext - Context or null if no context restriction should be applied
Returns:
list of BusinessGroups, may be an empty list.
See Also:
BusinessGroupManager.findBusinessGroupsOwnedBy(java.lang.String, org.olat.core.id.Identity, org.olat.group.context.BGContext)

findBusinessGroupsAttendedBy

public java.util.List findBusinessGroupsAttendedBy(java.lang.String type,
                                                   Identity identityP,
                                                   BGContext bgContext)
Description copied from interface: BusinessGroupManager
find the list of BuddyGroups associated with the supplied identity, where the identity is a Participiant.

Specified by:
findBusinessGroupsAttendedBy in interface BusinessGroupManager
Parameters:
type - Restrict find to this group type or null if not restricted to a specific type
bgContext - Context or null if no context restriction should be applied
Returns:
list of BuddyGroups, may be an empty list.
See Also:
BusinessGroupManager.findBusinessGroupsAttendedBy(java.lang.String, org.olat.core.id.Identity, org.olat.group.context.BGContext)

getAllBusinessGroups

public java.util.List getAllBusinessGroups()
Description copied from interface: BusinessGroupManager
Get all business-groups.

Specified by:
getAllBusinessGroups in interface BusinessGroupManager
Returns:
List of BusinessGroup objects
See Also:
BusinessGroupManager.getAllBusinessGroups()

findBusinessGroupsWithWaitingListAttendedBy

public java.util.List findBusinessGroupsWithWaitingListAttendedBy(java.lang.String type,
                                                                  Identity identityP,
                                                                  BGContext bgContext)
Description copied from interface: BusinessGroupManager
Find all business-groups where the idenity is on the waiting-list.

Specified by:
findBusinessGroupsWithWaitingListAttendedBy in interface BusinessGroupManager
Returns:
List of BusinessGroup objects
See Also:
BusinessGroupManager.findBusinessGroupsAttendedBy(java.lang.String, org.olat.core.id.Identity, org.olat.group.context.BGContext)

updateBusinessGroup

public void updateBusinessGroup(BusinessGroup updatedBusinessGroup)
Description copied from interface: BusinessGroupManager
commit the changes on a BusinessGroup instance to the persistence store

Specified by:
updateBusinessGroup in interface BusinessGroupManager
See Also:
BusinessGroupManager.updateBusinessGroup(org.olat.group.BusinessGroup)

deleteBusinessGroup

public void deleteBusinessGroup(BusinessGroup businessGroupTodelete)
Description copied from interface: BusinessGroupManager
delete a businessgroup from the persistence store

Specified by:
deleteBusinessGroup in interface BusinessGroupManager
See Also:
BusinessGroupManager.deleteBusinessGroup(org.olat.group.BusinessGroup)

deleteBusinessGroupWithMail

public void deleteBusinessGroupWithMail(BusinessGroup businessGroupTodelete,
                                        WindowControl wControl,
                                        UserRequest ureq,
                                        Translator trans,
                                        java.util.List contactLists)
Description copied from interface: BusinessGroupManager
delete a business group and send a mail to all users in the group

Specified by:
deleteBusinessGroupWithMail in interface BusinessGroupManager
See Also:
BusinessGroupManager.deleteBusinessGroupWithMail(org.olat.group.BusinessGroup, org.olat.core.gui.control.WindowControl, org.olat.core.gui.UserRequest, org.olat.core.gui.translator.Translator, java.util.List)

deleteBusinessGroups

public void deleteBusinessGroups(java.util.List businessGroups)
Description copied from interface: BusinessGroupManager
delete all business groups from this list

Specified by:
deleteBusinessGroups in interface BusinessGroupManager
See Also:
BusinessGroupManager.deleteBusinessGroups(java.util.List)

isIdentityInBusinessGroup

public boolean isIdentityInBusinessGroup(Identity identity,
                                         java.lang.String groupName,
                                         BGContext groupContext)
Description copied from interface: BusinessGroupManager
Checks if an identity is in a specific business group, either as owner or as participant

Specified by:
isIdentityInBusinessGroup in interface BusinessGroupManager
Parameters:
identity - The Identity
groupName - The group name
groupContext - The group context or null if group does not belong to a group context (e.g. buddygroups)
Returns:
true if identity is in group, false otherwhise
See Also:
BusinessGroupManager.isIdentityInBusinessGroup(org.olat.core.id.Identity, java.lang.String, org.olat.group.context.BGContext)

isIdentityInBusinessGroup

public boolean isIdentityInBusinessGroup(Identity identity,
                                         BusinessGroup businessGroup)
Specified by:
isIdentityInBusinessGroup in interface BusinessGroupManager
Returns:
true if the given identity is in one or both security groups (participants, owners)
See Also:
BusinessGroupManager.isIdentityInBusinessGroup(org.olat.core.id.Identity, org.olat.group.BusinessGroup)

loadBusinessGroup

public BusinessGroup loadBusinessGroup(BusinessGroup currBusinessGroup)
Specified by:
loadBusinessGroup in interface BusinessGroupManager
Returns:
The reloaded group
See Also:
BusinessGroupManager.loadBusinessGroup(org.olat.group.BusinessGroup)

loadBusinessGroup

public BusinessGroup loadBusinessGroup(java.lang.Long groupKey,
                                       boolean strict)
Specified by:
loadBusinessGroup in interface BusinessGroupManager
Parameters:
groupKey - The group database key
strict - true: will throw exception if load failed false: will return null if not found
Returns:
THe loaded group
See Also:
BusinessGroupManager.loadBusinessGroup(java.lang.Long, boolean)

copyBusinessGroup

public BusinessGroup copyBusinessGroup(BusinessGroup sourceBusinessGroup,
                                       java.lang.String targetName,
                                       java.lang.String targetDescription,
                                       java.lang.Integer targetMin,
                                       java.lang.Integer targetMax,
                                       BGContext targetBgContext,
                                       java.util.Map areaLookupMap,
                                       boolean copyAreas,
                                       boolean copyCollabToolConfig,
                                       boolean copyRights,
                                       boolean copyOwners,
                                       boolean copyParticipants,
                                       boolean copyMemberVisibility,
                                       boolean copyWaitingList)
Description copied from interface: BusinessGroupManager
Create and persist a new business group based on a source group.

Specified by:
copyBusinessGroup in interface BusinessGroupManager
Parameters:
sourceBusinessGroup - The group that will be used as the source group and everything
targetBgContext - The group context that the target group will be related to
areaLookupMap - The area lookup map (the target group will references mapped areas) or null (target group will reference the same areas as the original group)
Returns:
BusinessGroup the copied group
See Also:
org.olat.group.BusinessGroupManager#copyBusinessGroup(org.olat.group.BusinessGroup, java.lang.String, java.lang.String, java.lang.Integer, java.lang.Integer, org.olat.group.context.BGContext, java.util.Map, boolean, boolean, boolean, boolean, boolean, boolean)

addParticipantAndFireEvent

public void addParticipantAndFireEvent(Identity ureqIdentity,
                                       Identity identity,
                                       BusinessGroup group,
                                       BGConfigFlags flags,
                                       boolean doOnlyPostAddingStuff)
Description copied from interface: BusinessGroupManager
Adds a user to a group as participant and does all the magic that needs to be done: - add to secgroup (optional) - add to jabber roster - fire multi user event

Specified by:
addParticipantAndFireEvent in interface BusinessGroupManager
identity - the user who should be added
flags - the group configuration flag
doOnlyPostAddingStuff - true: user has already been added to the security group, do only the other stuff, false: add user to security group first
See Also:
org.olat.group.BusinessGroupManager#addParticipant(org.olat.core.gui.control.WindowControl, org.olat.core.gui.UserRequest, org.olat.core.gui.translator.Translator, org.olat.core.id.Identity, org.olat.group.BusinessGroup, org.olat.group.ui.BGConfigFlags, org.olat.core.logging.UserActivityLogger, boolean)

addOwnerAndFireEvent

public void addOwnerAndFireEvent(Identity ureqIdentity,
                                 Identity identity,
                                 BusinessGroup group,
                                 BGConfigFlags flags,
                                 boolean doOnlyPostAddingStuff)
Description copied from interface: BusinessGroupManager
Adds a user to a group as owner and does all the magic that needs to be done: - add to secgroup (optional) - add to jabber roster - fire multi user event

Specified by:
addOwnerAndFireEvent in interface BusinessGroupManager
identity - the user who should be added
flags - the group configuration flag
doOnlyPostAddingStuff - true: user has already been added to the security group, do only the other stuff, false: add user to security group first
See Also:
org.olat.group.BusinessGroupManager#addOwner(org.olat.core.gui.control.WindowControl, org.olat.core.gui.UserRequest, org.olat.core.gui.translator.Translator, org.olat.core.id.Identity, org.olat.group.BusinessGroup, org.olat.group.ui.BGConfigFlags, org.olat.core.logging.UserActivityLogger, boolean)

removeOwnerAndFireEvent

public void removeOwnerAndFireEvent(Identity ureqIdentity,
                                    Identity identity,
                                    BusinessGroup group,
                                    BGConfigFlags flags,
                                    boolean doOnlyPostRemovingStuff)
Description copied from interface: BusinessGroupManager
Remove a user from a group as owner and does all the magic that needs to be done: - remove from secgroup (optional) - remove from jabber roster - fire multi user event

Specified by:
removeOwnerAndFireEvent in interface BusinessGroupManager
identity - the user who should be removed
flags - the group configuration flag
doOnlyPostRemovingStuff - true: user has already been removed from the security group, do only the other stuff, false: remove user from security group first
See Also:
org.olat.group.BusinessGroupManager#removeOwner(org.olat.core.gui.control.WindowControl, org.olat.core.gui.UserRequest, org.olat.core.gui.translator.Translator, org.olat.core.id.Identity, org.olat.group.BusinessGroup, org.olat.group.ui.BGConfigFlags, org.olat.core.logging.UserActivityLogger, boolean)

removeParticipantAndFireEvent

public void removeParticipantAndFireEvent(Identity ureqIdentity,
                                          Identity identity,
                                          BusinessGroup group,
                                          BGConfigFlags flags,
                                          boolean doOnlyPostRemovingStuff)
Description copied from interface: BusinessGroupManager
Remove a user from a group as participant and does all the magic that needs to be done: - remove from secgroup (optional) - remove from jabber roster - fire multi user event

Specified by:
removeParticipantAndFireEvent in interface BusinessGroupManager
identity - the user who should be removed
flags - the group configuration flag
doOnlyPostRemovingStuff - true: user has already been removed from the security group, do only the other stuff, false: remove user from security group first
See Also:
org.olat.group.BusinessGroupManager#removeParticipant(org.olat.core.gui.control.WindowControl, org.olat.core.gui.UserRequest, org.olat.core.gui.translator.Translator, org.olat.core.id.Identity, org.olat.group.BusinessGroup, org.olat.group.ui.BGConfigFlags, org.olat.core.logging.UserActivityLogger, boolean)

addToWaitingListAndFireEvent

public void addToWaitingListAndFireEvent(Identity ureqIdentity,
                                         Identity identity,
                                         BusinessGroup group,
                                         boolean doOnlyPostAddingStuff)
Description copied from interface: BusinessGroupManager
Adds a user to a waiting-list of a group and does all the magic that needs to be done: - add to secgroup (optional) - add to jabber roster - send notification email - fire multi user event

Specified by:
addToWaitingListAndFireEvent in interface BusinessGroupManager
identity - the user who should be added
See Also:
org.olat.group.BusinessGroupManager#addParticipant(org.olat.core.gui.control.WindowControl, org.olat.core.gui.UserRequest, org.olat.core.gui.translator.Translator, org.olat.core.id.Identity, org.olat.group.BusinessGroup, org.olat.group.ui.BGConfigFlags, org.olat.core.logging.UserActivityLogger, boolean)

removeFromWaitingListAndFireEvent

public void removeFromWaitingListAndFireEvent(Identity userRequestIdentity,
                                              Identity identity,
                                              BusinessGroup group,
                                              boolean doOnlyPostRemovingStuff)
Description copied from interface: BusinessGroupManager
Remove a user from a waiting-list as participant and does all the magic that needs to be done: - remove from secgroup (optional) send notification email - fire multi user event

Specified by:
removeFromWaitingListAndFireEvent in interface BusinessGroupManager
identity - the user who should be removed
See Also:
org.olat.group.BusinessGroupManager#removeFromWaitingListAndFireEvent(org.olat.core.gui.control.WindowControl, org.olat.core.gui.UserRequest, org.olat.core.gui.translator.Translator, org.olat.core.id.Identity, org.olat.group.BusinessGroup, org.olat.group.ui.BGConfigFlags, org.olat.core.logging.UserActivityLogger, boolean)

exportGroups

public void exportGroups(BGContext context,
                         java.io.File fExportFile)
Description copied from interface: BusinessGroupManager
Export group definitions to file.

Specified by:
exportGroups in interface BusinessGroupManager
See Also:
BusinessGroupManager.exportGroups(org.olat.group.context.BGContext, java.io.File)

exportGroup

public void exportGroup(BusinessGroup group,
                        java.io.File fExportFile)
Specified by:
exportGroup in interface BusinessGroupManager

importGroups

public void importGroups(BGContext context,
                         java.io.File fGroupExportXML)
Description copied from interface: BusinessGroupManager
Import previousely exported group definitions.

Specified by:
importGroups in interface BusinessGroupManager
See Also:
BusinessGroupManager.importGroups(org.olat.group.context.BGContext, java.io.File)

moveIdenityFromWaitingListToParticipant

public BusinessGroupAddResponse moveIdenityFromWaitingListToParticipant(java.util.List<Identity> choosenIdentities,
                                                                        Identity ureqIdentity,
                                                                        BusinessGroup currBusinessGroup,
                                                                        BGConfigFlags flags)
Description copied from interface: BusinessGroupManager
Move users from a waiting-list to participant-list.

Specified by:
moveIdenityFromWaitingListToParticipant in interface BusinessGroupManager
See Also:
org.olat.group.BusinessGroupManager#moveIdenitFromWaitingListToParticipant(org.olat.core.id.Identity, org.olat.core.gui.control.WindowControl, org.olat.core.gui.UserRequest, org.olat.core.gui.translator.Translator, org.olat.group.BusinessGroup, org.olat.group.ui.BGConfigFlags, org.olat.core.logging.UserActivityLogger)

getPositionInWaitingListFor

public int getPositionInWaitingListFor(Identity identity,
                                       BusinessGroup businessGroup)
Description copied from interface: BusinessGroupManager
Get postion of an idenity on a certain waiting-list

Specified by:
getPositionInWaitingListFor in interface BusinessGroupManager
Returns:
0=not found on waiting-list
See Also:
BusinessGroupManager.getPositionInWaitingListFor(org.olat.core.id.Identity, org.olat.group.BusinessGroup)

addOwnersAndFireEvent

public BusinessGroupAddResponse addOwnersAndFireEvent(Identity ureqIdentity,
                                                      java.util.List<Identity> addIdentities,
                                                      BusinessGroup currBusinessGroup,
                                                      BGConfigFlags flags)
Description copied from interface: BusinessGroupManager
Add a list of identity as owner to a business-group.

Specified by:
addOwnersAndFireEvent in interface BusinessGroupManager
Parameters:
ureqIdentity - This identity triggered the method (typically identity of user-request).
addIdentities - List of identity
currBusinessGroup - Add list of identity to this business-group.
flags - Business-group configuration flags.
Returns:
See Also:
org.olat.group.BusinessGroupManager#addOwnersAndFireEvent(org.olat.core.id.Identity, java.util.List, org.olat.group.BusinessGroup, org.olat.group.ui.BGConfigFlags, org.olat.core.logging.UserActivityLogger)

addParticipantsAndFireEvent

public BusinessGroupAddResponse addParticipantsAndFireEvent(Identity ureqIdentity,
                                                            java.util.List<Identity> addIdentities,
                                                            BusinessGroup acurrBusinessGroup,
                                                            BGConfigFlags flags)
Description copied from interface: BusinessGroupManager
Add a list of identity as participant to a business-group.

Specified by:
addParticipantsAndFireEvent in interface BusinessGroupManager
Parameters:
ureqIdentity - This identity triggered the method (typically identity of user-request).
addIdentities - List of identity
acurrBusinessGroup - Add list of identity to this business-group.
flags - Business-group configuration flags.
Returns:
See Also:
org.olat.group.BusinessGroupManager#addParticipantsAndFireEvent(org.olat.core.id.Identity, java.util.List, org.olat.group.BusinessGroup, org.olat.group.ui.BGConfigFlags, org.olat.core.logging.UserActivityLogger)

addToWaitingListAndFireEvent

public BusinessGroupAddResponse addToWaitingListAndFireEvent(Identity ureqIdentity,
                                                             java.util.List<Identity> addIdentities,
                                                             BusinessGroup acurrBusinessGroup,
                                                             BGConfigFlags flags)
Description copied from interface: BusinessGroupManager
Add a list of identity to waiting-list of a business-group.

Specified by:
addToWaitingListAndFireEvent in interface BusinessGroupManager
Parameters:
ureqIdentity - This identity triggered the method (typically identity of user-request).
addIdentities - List of identity
acurrBusinessGroup - Add list of identity to this business-group.
flags - Business-group configuration flags.
Returns:
See Also:
org.olat.group.BusinessGroupManager#addToWaitingListAndFireEvent(org.olat.core.id.Identity, java.util.List, org.olat.group.BusinessGroup, org.olat.group.ui.BGConfigFlags, org.olat.core.logging.UserActivityLogger)

removeOwnersAndFireEvent

public void removeOwnersAndFireEvent(Identity ureqIdentity,
                                     java.util.List<Identity> identities,
                                     BusinessGroup currBusinessGroup,
                                     BGConfigFlags flags)
Description copied from interface: BusinessGroupManager
Remove a list of identity as owner from a business-group.

Specified by:
removeOwnersAndFireEvent in interface BusinessGroupManager
Parameters:
ureqIdentity - This identity triggered the method (typically identity of user-request).
identities - List of identity
currBusinessGroup - Remove list of identity from this business-group.
flags - Business-group configuration flags.
See Also:
org.olat.group.BusinessGroupManager#removeOwnersAndFireEvent(org.olat.core.id.Identity, java.util.List, org.olat.group.BusinessGroup, org.olat.group.ui.BGConfigFlags, org.olat.core.logging.UserActivityLogger)

removeParticipantsAndFireEvent

public void removeParticipantsAndFireEvent(Identity ureqIdentity,
                                           java.util.List<Identity> identities,
                                           BusinessGroup currBusinessGroup,
                                           BGConfigFlags flags)
Description copied from interface: BusinessGroupManager
Remove a list of identity as participant from a business-group.

Specified by:
removeParticipantsAndFireEvent in interface BusinessGroupManager
Parameters:
ureqIdentity - This identity triggered the method (typically identity of user-request).
identities - List of identity
currBusinessGroup - Remove list of identity from this business-group.
flags - Business-group configuration flags.
See Also:
org.olat.group.BusinessGroupManager#removeParticipantsAndFireEvent(org.olat.core.gui.control.WindowControl, org.olat.core.id.Identity, org.olat.core.gui.translator.Translator, java.util.List, org.olat.group.BusinessGroup, org.olat.group.ui.BGConfigFlags, org.olat.core.logging.UserActivityLogger)

removeFromWaitingListAndFireEvent

public void removeFromWaitingListAndFireEvent(Identity ureqIdentity,
                                              java.util.List<Identity> identities,
                                              BusinessGroup currBusinessGroup,
                                              BGConfigFlags flags)
Description copied from interface: BusinessGroupManager
Remove a list of identity from waiting-list of a business-group.

Specified by:
removeFromWaitingListAndFireEvent in interface BusinessGroupManager
Parameters:
ureqIdentity - This identity triggered the method (typically identity of user-request).
identities - List of identity
currBusinessGroup - Remove list of identity from this business-group.
flags - Business-group configuration flags.
See Also:
org.olat.group.BusinessGroupManager#removeFromWaitingListAndFireEvent(org.olat.core.id.Identity, org.olat.core.gui.translator.Translator, java.util.List, org.olat.group.BusinessGroup, org.olat.group.ui.BGConfigFlags, org.olat.core.logging.UserActivityLogger)

deleteUserData

public void deleteUserData(Identity identity,
                           java.lang.String newDeletedUserName)
Delete all entries as participant, owner and waiting-list for certain identity. If there is no other owner for a group, the olat-administrator (define in olat_config.xml) will be added as owner.

Specified by:
deleteUserData in interface UserDataDeletable
Parameters:
identity - Data for this identity will be deleted
See Also:
org.olat.user.UserDataDeletable#deleteUserData(org.olat.core.id.Identity)

archiveGroups

public void archiveGroups(BGContext context,
                          java.io.File exportFile)
Specified by:
archiveGroups in interface BusinessGroupManager

setLastUsageFor

public void setLastUsageFor(BusinessGroup currBusinessGroup)
Description copied from interface: BusinessGroupManager
Set certain business-group as active (set last-usage and delete time stamp for 'SEND_DELETE_EMAIL_ACTION' in LifeCycleManager):

Specified by:
setLastUsageFor in interface BusinessGroupManager
See Also:
BusinessGroupManager.setLastUsageFor(org.olat.group.BusinessGroup)

createUniqueBusinessGroupsFor

public java.util.Set<BusinessGroup> createUniqueBusinessGroupsFor(java.util.Set<java.lang.String> allNames,
                                                                  BGContext bgContext,
                                                                  java.lang.String bgDesc,
                                                                  java.lang.Integer bgMin,
                                                                  java.lang.Integer bgMax,
                                                                  java.lang.Boolean enableWaitinglist,
                                                                  java.lang.Boolean enableAutoCloseRanks)
Description copied from interface: BusinessGroupManager
Creates business-groups with certain name when no group in a given BGContext with this names already exists.

Specified by:
createUniqueBusinessGroupsFor in interface BusinessGroupManager
Returns:
Returns list of created business-groups or null if any groups-name already exist.
See Also:
BusinessGroupManager.createUniqueBusinessGroupsFor(java.util.Set, org.olat.group.context.BGContext, java.lang.String, java.lang.Integer, java.lang.Integer, java.lang.Boolean, java.lang.Boolean)

registerDeletableGroupDataListener

public void registerDeletableGroupDataListener(DeletableGroupData listener)
Description copied from interface: BusinessGroupManager
Extension-point method to register objects which have deletable group-data. Listener will be called in method deleteBusinessGroup.

Specified by:
registerDeletableGroupDataListener in interface BusinessGroupManager

getDependingDeletablableListFor

public java.util.List<java.lang.String> getDependingDeletablableListFor(BusinessGroup currentGroup,
                                                                        java.util.Locale locale)
Specified by:
getDependingDeletablableListFor in interface BusinessGroupManager