org.olat.course.nodes.projectbroker.service
Class ProjectGroupManagerImpl

java.lang.Object
  extended by org.olat.course.nodes.projectbroker.service.ProjectGroupManagerImpl
All Implemented Interfaces:
ProjectGroupManager

public class ProjectGroupManagerImpl
extends java.lang.Object
implements ProjectGroupManager

Author:
guretzki

Constructor Summary
ProjectGroupManagerImpl()
           
 
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 saveAccountManagerGroupKey(java.lang.Long accountManagerGroupKey, CoursePropertyManager cpm, CourseNode courseNode)
           
 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.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProjectGroupManagerImpl

public ProjectGroupManagerImpl()
Method Detail

getAccountManagerGroupFor

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

Specified by:
getAccountManagerGroupFor in interface ProjectGroupManager

saveAccountManagerGroupKey

public void saveAccountManagerGroupKey(java.lang.Long accountManagerGroupKey,
                                       CoursePropertyManager cpm,
                                       CourseNode courseNode)

isAccountManager

public boolean isAccountManager(Identity identity,
                                CoursePropertyManager cpm,
                                CourseNode courseNode)
Description copied from interface: ProjectGroupManager
Return true when identity is account-manager (could create projects).

Specified by:
isAccountManager in interface ProjectGroupManager
Returns:

deleteAccountManagerGroup

public void deleteAccountManagerGroup(CoursePropertyManager cpm,
                                      CourseNode courseNode)
Description copied from interface: ProjectGroupManager
Delete an account-manager group and the key in the CoursePropertyManager. Get account-manager-group form CoursePropertyManager

Specified by:
deleteAccountManagerGroup in interface ProjectGroupManager

updateAccountManagerGroupName

public void updateAccountManagerGroupName(java.lang.String groupName,
                                          java.lang.String groupDescription,
                                          BusinessGroup accountManagerGroup)
Description copied from interface: ProjectGroupManager
Update group-name or description for certain account manager group.

Specified by:
updateAccountManagerGroupName in interface ProjectGroupManager

createProjectGroupFor

public BusinessGroup createProjectGroupFor(java.lang.Long projectBrokerId,
                                           Identity identity,
                                           java.lang.String groupName,
                                           java.lang.String groupDescription,
                                           java.lang.Long courseId)
Description copied from interface: ProjectGroupManager
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.

Specified by:
createProjectGroupFor in interface ProjectGroupManager
Returns:

deleteProjectGroupFor

public void deleteProjectGroupFor(Project project)
Description copied from interface: ProjectGroupManager
Delete project-group for certain project.

Specified by:
deleteProjectGroupFor in interface ProjectGroupManager

updateProjectGroupFor

public void updateProjectGroupFor(Project project)
Description copied from interface: ProjectGroupManager
Update project-group for certain project.

Specified by:
updateProjectGroupFor in interface ProjectGroupManager

addCandidates

public java.util.List<Identity> addCandidates(java.util.List<Identity> addIdentities,
                                              Project project)
Description copied from interface: ProjectGroupManager
Add identities as candidates.

Specified by:
addCandidates in interface ProjectGroupManager
Returns:

removeCandidates

public void removeCandidates(java.util.List<Identity> addIdentities,
                             Project project)
Description copied from interface: ProjectGroupManager
Remove identities as candidates.

Specified by:
removeCandidates in interface ProjectGroupManager

acceptCandidates

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

Specified by:
acceptCandidates in interface ProjectGroupManager
Returns:

sendGroupChangeEvent

public void sendGroupChangeEvent(Project project,
                                 java.lang.Long courseResourceableId,
                                 Identity identity)
Description copied from interface: ProjectGroupManager
Send a multi-user-event to inform about added identities.

Specified by:
sendGroupChangeEvent in interface ProjectGroupManager