Package org.olat.course.nodes.projectbroker.datamodel

Examples of org.olat.course.nodes.projectbroker.datamodel.Project


    // go further, index my projects
    CoursePropertyManager cpm = course.getCourseEnvironment().getCoursePropertyManager();
    Long projectBrokerId = ProjectBrokerManagerFactory.getProjectBrokerManager().getProjectBrokerId(cpm, courseNode);
    List<Project> projects = ProjectBrokerManagerFactory.getProjectBrokerManager().getProjectListBy(projectBrokerId);
    for (Iterator<Project> iterator = projects.iterator(); iterator.hasNext();) {
      Project project = iterator.next();
      Document document = ProjectBrokerProjectDocument.createDocument(courseNodeResourceContext, project);
      indexWriter.addDocument(document);
      doIndexFolders(courseNodeResourceContext, project, indexWriter);
      }
      // todo: ??? courseNodeIndexer.doIndexCourse(repositoryResourceContext, course, courseNode, indexWriter);
View Full Code Here


    return projectBroker;
  }

  public Project createAndSaveProjectFor(String title, String description, final Long projectBrokerId, BusinessGroup projectGroup) {
    OLATResourceable projectBrokerOres = OresHelper.createOLATResourceableInstance(this.getClass(),projectBrokerId);
    final Project project = new ProjectImpl(title, description, projectGroup, getProjectBroker(projectBrokerId));
    CoordinatorManager.getCoordinator().getSyncer().doInSync( projectBrokerOres, new SyncerExecutor() {
      public void execute() {
        DBFactory.getInstance().saveObject(project);
        ProjectBroker projectBroker = getOrLoadProjectBoker(projectBrokerId);
        projectBroker.getProjects().add(project);
View Full Code Here

    log.debug("enrollProjectParticipant: start identity=" + identity + "  project=" + project);
    Codepoint.codepoint(ProjectBrokerManagerImpl.class, "beforeDoInSync");
    Boolean result = CoordinatorManager.getCoordinator().getSyncer().doInSync(projectOres, new SyncerCallback<Boolean>(){
      public Boolean execute() {
        // For cluster-safe : reload project object here another node might have changed this in the meantime
        Project reloadedProject = (Project) DBFactory.getInstance().loadObject(project, true);         
        log.debug("enrollProjectParticipant: project.getMaxMembers()=" + reloadedProject.getMaxMembers());
        log.debug("enrollProjectParticipant: project.getSelectedPlaces()=" + reloadedProject.getSelectedPlaces());
        if ( ProjectBrokerManagerFactory.getProjectBrokerManager().canBeProjectSelectedBy(identity, reloadedProject, moduleConfig, nbrSelectedProjects, isParticipantInAnyProject) ) {       
          if (moduleConfig.isAcceptSelectionManually() ) {
            ManagerFactory.getManager().addIdentityToSecurityGroup(identity, reloadedProject.getCandidateGroup());
            log.audit("ProjectBroker: Add as candidate identity=" + identity + " to project=" + reloadedProject);
          } else {
            ManagerFactory.getManager().addIdentityToSecurityGroup(identity, reloadedProject.getProjectParticipantGroup());
            log.audit("ProjectBroker: Add as participant identity=" + identity + " to project=" + reloadedProject);
            if ( (reloadedProject.getMaxMembers() != Project.MAX_MEMBERS_UNLIMITED) && (reloadedProject.getSelectedPlaces() >= reloadedProject.getMaxMembers()) ) {
              reloadedProject.setState(Project.STATE_ASSIGNED);
              DBFactory.getInstance().updateObject(reloadedProject);
            }           
          }
          return Boolean.TRUE;
        } else {
View Full Code Here

    OLATResourceable projectOres = OresHelper.createOLATResourceableInstance(Project.class, project.getKey());
    Codepoint.codepoint(ProjectBrokerManagerImpl.class, "beforeDoInSync");
    Boolean result = CoordinatorManager.getCoordinator().getSyncer().doInSync(projectOres, new SyncerCallback<Boolean>(){
      public Boolean execute() {
        // For cluster-safe : reload project object here another node might have changed this in the meantime
        Project reloadedProject = (Project) DBFactory.getInstance().loadObject(project, true);         
        // User can only cancel enrollment, when state is 'NOT_ASSIGNED'
        if (canBeCancelEnrollmentBy(identity, project, moduleConfig)) {
          ManagerFactory.getManager().removeIdentityFromSecurityGroup(identity, reloadedProject.getProjectParticipantGroup());
          ManagerFactory.getManager().removeIdentityFromSecurityGroup(identity, reloadedProject.getCandidateGroup());
          log.audit("ProjectBroker: Remove (as participant or waitinglist) identity=" + identity + " from project=" + project);
          if ( (reloadedProject.getMaxMembers() != Project.MAX_MEMBERS_UNLIMITED) && (reloadedProject.getSelectedPlaces() < reloadedProject.getMaxMembers()) ) {
            reloadedProject.setState(Project.STATE_NOT_ASSIGNED);
            DBFactory.getInstance().updateObject(reloadedProject);
          }   
          return Boolean.TRUE;
        } else {
          return Boolean.FALSE;
View Full Code Here

  }

  public int getNbrSelectedProjects(Identity identity, List<Project> projectList) {
    int selectedCounter = 0;
    for (Iterator iterator = projectList.iterator(); iterator.hasNext();) {
      Project project = (Project) iterator.next();
      if (ManagerFactory.getManager().isIdentityInSecurityGroup(identity, project.getProjectParticipantGroup()) ||
          ManagerFactory.getManager().isIdentityInSecurityGroup(identity, project.getCandidateGroup()) ) {
        selectedCounter++;
      }
    }
    return selectedCounter;
  }
View Full Code Here

    OLATResourceable projectBrokerOres = OresHelper.createOLATResourceableInstance(this.getClass(),projectBrokerId);
    CoordinatorManager.getCoordinator().getSyncer().doInSync( projectBrokerOres, new SyncerExecutor() {
      public void execute() {
        ProjectBroker projectBroker = getOrLoadProjectBoker(projectBrokerId);
        for (Iterator iterator = projectBroker.getProjects().iterator(); iterator.hasNext();) {
          Project project = (Project) iterator.next();
          // loop over all identities
          for (Iterator iterator2 = chosenIdentities.iterator(); iterator2.hasNext();) {
            Identity identity = (Identity) iterator2.next();
            ManagerFactory.getManager().removeIdentityFromSecurityGroup(identity, project.getCandidateGroup());
            log.audit("ProjectBroker: AutoSignOut: identity=" + identity + " from project=" + project);
          }
        }
      }
    })
View Full Code Here

    ProjectBroker projectBroker = getOrLoadProjectBoker(projectBrokerId);
    // delete all projects of a project-broker
    List<Project> deleteProjectList = new ArrayList<Project>();
    deleteProjectList.addAll(projectBroker.getProjects());
    for (Iterator iterator = deleteProjectList.iterator(); iterator.hasNext();) {
      Project project = (Project) iterator.next();
      deleteProject(project, true, courseEnvironment, courseNode);
      log.audit("ProjectBroker: Deleted project=" + project );
    }
    log.debug("All projects are deleted for ProjectBroker=" + projectBroker);
    ProjectBrokerManagerFactory.getProjectGroupManager().deleteAccountManagerGroup(courseEnvironment.getCoursePropertyManager(), courseNode);
View Full Code Here

   * @param projectList
   * @return
   */
  public boolean isParticipantInAnyProject(Identity identity, List<Project> projectList) {
    for (Iterator iterator = projectList.iterator(); iterator.hasNext();) {
      Project project = (Project) iterator.next();
      if ( ManagerFactory.getManager().isIdentityInSecurityGroup(identity, project.getProjectParticipantGroup()) ) {
        return true;
      }
    }
    return false;
  }
View Full Code Here

    final Long projectBrokerId = project.getProjectBroker().getKey();
    OLATResourceable projectBrokerOres = OresHelper.createOLATResourceableInstance(this.getClass(),projectBrokerId);
    CoordinatorManager.getCoordinator().getSyncer().doInSync( projectBrokerOres, new SyncerExecutor() {
      public void execute() {
        // For cluster-safe : reload project object here another node might have changed this in the meantime
        Project reloadedProject = (Project) DBFactory.getInstance().loadObject(project, true);   
        reloadedProject.setState(state);
        DBFactory.getInstance().updateObject(reloadedProject);
        // invalide with removing from cache
        projectCache.remove(projectBrokerId.toString());
      }
    })
View Full Code Here

        projectTitle = translate("new.project.title") + i++;
      }
      String projectGroupName = translate("project.member.groupname", projectTitle);
      String projectGroupDescription = translate("project.member.groupdescription", projectTitle);
      BusinessGroup projectGroup = ProjectBrokerManagerFactory.getProjectGroupManager().createProjectGroupFor(projectBrokerId,ureq.getIdentity(), projectGroupName, projectGroupDescription, courseId);
      Project project = ProjectBrokerManagerFactory.getProjectBrokerManager().createAndSaveProjectFor(projectTitle, projectTitle, projectBrokerId, projectGroup);
      ProjectBrokerManagerFactory.getProjectGroupManager().sendGroupChangeEvent(project, courseId, ureq.getIdentity());
      getLogger().debug("Created a new project=" + project);
      projectController = new ProjectController(ureq, this.getWindowControl(), userCourseEnv, nodeEvaluation, project, true, moduleConfig);
      projectController.addControllerListener(this);
      mainPanel.pushContent(projectController.getInitialComponent());
View Full Code Here

TOP

Related Classes of org.olat.course.nodes.projectbroker.datamodel.Project

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.