org.olat.course.nodes.projectbroker.service
Interface ProjectGroupManager

All Known Implementing Classes:
ProjectGroupManagerImpl

public interface ProjectGroupManager


Method Summary
 boolean acceptCandidates(java.util.List<Identity> identities, Project project, Identity actionIdentity, boolean autoSignOut, boolean isAcceptSelectionManually)
          Accept candidates as participants, move identity from candidate-group to participant-group
 java.util.List<Identity> addCandidates(java.util.List<Identity> addIdentities, Project project)
          Add identities as candidates.
 BusinessGroup createProjectGroupFor(java.lang.Long projectBrokerId, Identity identity, java.lang.String groupName, java.lang.String groupDescription, java.lang.Long courseId)
          Create a business-group for a project.
 void deleteAccountManagerGroup(CoursePropertyManager cpm, CourseNode courseNode)
          Delete an account-manager group and the key in the CoursePropertyManager.
 void deleteProjectGroupFor(Project project)
          Delete project-group for certain project.
 BusinessGroup getAccountManagerGroupFor(CoursePropertyManager cpm, CourseNode courseNode, ICourse course, java.lang.String groupName, java.lang.String groupDescription, Identity identity)
          Return business-group for account-managers.
 boolean isAccountManager(Identity identity, CoursePropertyManager cpm, CourseNode courseNode)
          Return true when identity is account-manager (could create projects).
 void removeCandidates(java.util.List<Identity> addIdentities, Project project)
          Remove identities as candidates.
 void sendGroupChangeEvent(Project project, java.lang.Long courseResourceableId, Identity identity)
          Send a multi-user-event to inform about added identities.
 void updateAccountManagerGroupName(java.lang.String groupName, java.lang.String groupDescription, BusinessGroup accountManagerGroup)
          Update group-name or description for certain account manager group.
 void updateProjectGroupFor(Project project)
          Update project-group for certain project.
 

Method Detail

getAccountManagerGroupFor

BusinessGroup getAccountManagerGroupFor(CoursePropertyManager cpm,
                                        CourseNode courseNode,
                                        ICourse course,
                                        java.lang.String groupName,
                                        java.lang.String groupDescription,
                                        Identity identity)
Return business-group for account-managers. Group-ID will be stored in CoursePropertyManager

Parameters:
cpm -
courseNode -
course -
groupName -
groupDescription -
identity -

isAccountManager

boolean isAccountManager(Identity identity,
                         CoursePropertyManager cpm,
                         CourseNode courseNode)
Return true when identity is account-manager (could create projects).

Parameters:
identity -
cpm -
courseNode -
Returns:

deleteAccountManagerGroup

void deleteAccountManagerGroup(CoursePropertyManager cpm,
                               CourseNode courseNode)
Delete an account-manager group and the key in the CoursePropertyManager. Get account-manager-group form CoursePropertyManager

Parameters:
cpm -
courseNode -

updateAccountManagerGroupName

void updateAccountManagerGroupName(java.lang.String groupName,
                                   java.lang.String groupDescription,
                                   BusinessGroup accountManagerGroup)
Update group-name or description for certain account manager group.

Parameters:
groupName -
groupDescription -
accountManagerGroup -

createProjectGroupFor

BusinessGroup createProjectGroupFor(java.lang.Long projectBrokerId,
                                    Identity identity,
                                    java.lang.String groupName,
                                    java.lang.String groupDescription,
                                    java.lang.Long courseId)
Create a business-group for a project. Check that group-name does not already exists. When a group-name already exists, add a counter-value for uniqueness.

Parameters:
projectBrokerId -
identity -
groupName -
groupDescription -
courseId -
Returns:

deleteProjectGroupFor

void deleteProjectGroupFor(Project project)
Delete project-group for certain project.

Parameters:
project -

updateProjectGroupFor

void updateProjectGroupFor(Project project)
Update project-group for certain project.

Parameters:
project -

acceptCandidates

boolean acceptCandidates(java.util.List<Identity> identities,
                         Project project,
                         Identity actionIdentity,
                         boolean autoSignOut,
                         boolean isAcceptSelectionManually)
Accept candidates as participants, move identity from candidate-group to participant-group

Parameters:
identities -
project -
actionIdentity -
autoSignOut -
isAcceptSelectionManually -
Returns:

addCandidates

java.util.List<Identity> addCandidates(java.util.List<Identity> addIdentities,
                                       Project project)
Add identities as candidates.

Parameters:
addIdentities -
project -
Returns:

removeCandidates

void removeCandidates(java.util.List<Identity> addIdentities,
                      Project project)
Remove identities as candidates.

Parameters:
addIdentities -
project -

sendGroupChangeEvent

void sendGroupChangeEvent(Project project,
                          java.lang.Long courseResourceableId,
                          Identity identity)
Send a multi-user-event to inform about added identities.

Parameters:
project -
courseResourceableId -
identity -