Search in sources :

Example 1 with Status

use of org.olat.course.assessment.AssessmentMode.Status in project OpenOLAT by OpenOLAT.

the class AssessmentModeCoordinationServiceImpl method canStart.

@Override
public boolean canStart(AssessmentMode assessmentMode) {
    boolean canStart;
    Status status = assessmentMode.getStatus();
    if (status == Status.assessment || status == Status.followup || status == Status.end) {
        canStart = false;
    } else {
        canStart = true;
    }
    return canStart;
}
Also used : Status(org.olat.course.assessment.AssessmentMode.Status)

Example 2 with Status

use of org.olat.course.assessment.AssessmentMode.Status in project OpenOLAT by OpenOLAT.

the class AssessmentModeCoordinationServiceImpl method canStop.

@Override
public boolean canStop(AssessmentMode assessmentMode) {
    boolean canStop;
    Status status = assessmentMode.getStatus();
    if (status == Status.leadtime || status == Status.assessment) {
        canStop = true;
    } else {
        canStop = false;
    }
    return canStop;
}
Also used : Status(org.olat.course.assessment.AssessmentMode.Status)

Example 3 with Status

use of org.olat.course.assessment.AssessmentMode.Status in project OpenOLAT by OpenOLAT.

the class AssessmentModeCoordinationServiceImpl method manageListenersOfCoordinatedMode.

private void manageListenersOfCoordinatedMode(AssessmentMode mode) {
    try {
        Status status = mode.getStatus();
        if (status == Status.leadtime || status == Status.assessment || status == Status.followup) {
            // add listeners
            CoordinatedAssessmentMode coordinateMode = coordinatedModes.get(mode.getKey());
            if (coordinateMode == null) {
                coordinateMode = new CoordinatedAssessmentMode(mode);
                coordinatedModes.put(mode.getKey(), coordinateMode);
            }
            coordinatorManager.getCoordinator().getEventBus().registerFor(this, null, coordinateMode.getListenerRes());
        } else if (coordinatedModes.containsKey(mode.getKey())) {
            CoordinatedAssessmentMode decoordinateMode = coordinatedModes.remove(mode.getKey());
            if (decoordinateMode != null) {
                coordinatorManager.getCoordinator().getEventBus().deregisterFor(this, decoordinateMode.getListenerRes());
            }
        }
    } catch (Exception e) {
        log.error("", e);
    }
}
Also used : Status(org.olat.course.assessment.AssessmentMode.Status) CoordinatedAssessmentMode(org.olat.course.assessment.model.CoordinatedAssessmentMode)

Example 4 with Status

use of org.olat.course.assessment.AssessmentMode.Status in project OpenOLAT by OpenOLAT.

the class AssessmentModeCoordinationServiceImpl method ensureStatusOfMode.

private AssessmentMode ensureStatusOfMode(AssessmentMode mode, Status status) {
    Status currentStatus = mode.getStatus();
    if (currentStatus == null || currentStatus != status) {
        mode.setStatus(status);
        mode = dbInstance.getCurrentEntityManager().merge(mode);
        if (status == Status.leadtime || status == Status.assessment) {
            warmUpAssessment(mode);
        }
        dbInstance.commit();
    }
    return mode;
}
Also used : Status(org.olat.course.assessment.AssessmentMode.Status)

Example 5 with Status

use of org.olat.course.assessment.AssessmentMode.Status in project OpenOLAT by OpenOLAT.

the class AssessmentModeCoordinationServiceImpl method evaluateStatus.

@Override
public Status evaluateStatus(Date begin, int leadtime, Date end, int followup) {
    Status status;
    Date now = now();
    Date beginWithLeadTime = assessmentModeManager.evaluateLeadTime(begin, leadtime);
    Date endWithFollowupTime = assessmentModeManager.evaluateFollowupTime(end, followup);
    if (beginWithLeadTime.compareTo(now) > 0) {
        status = Status.none;
    } else if (beginWithLeadTime.compareTo(now) <= 0 && begin.compareTo(now) > 0 && !beginWithLeadTime.equals(begin)) {
        status = Status.leadtime;
    } else if (begin.compareTo(now) <= 0 && end.compareTo(now) > 0) {
        status = Status.assessment;
    } else if (end.compareTo(now) <= 0 && endWithFollowupTime.compareTo(now) > 0) {
        if (followup > 0) {
            status = Status.followup;
        } else {
            status = Status.end;
        }
    } else if (endWithFollowupTime.compareTo(now) <= 0) {
        status = Status.end;
    } else {
        status = null;
    }
    return status;
}
Also used : Status(org.olat.course.assessment.AssessmentMode.Status) Date(java.util.Date)

Aggregations

Status (org.olat.course.assessment.AssessmentMode.Status)22 Date (java.util.Date)4 ICourse (org.olat.course.ICourse)4 EnhancedStatus (org.olat.course.assessment.model.EnhancedStatus)4 CourseNode (org.olat.course.nodes.CourseNode)4 ArrayList (java.util.ArrayList)2 Calendar (java.util.Calendar)2 List (java.util.List)2 FormLayoutContainer (org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer)2 CorruptedCourseException (org.olat.course.CorruptedCourseException)2 AssessmentMode (org.olat.course.assessment.AssessmentMode)2 Target (org.olat.course.assessment.AssessmentMode.Target)2 AssessmentModeToArea (org.olat.course.assessment.AssessmentModeToArea)2 AssessmentModeToGroup (org.olat.course.assessment.AssessmentModeToGroup)2 CoordinatedAssessmentMode (org.olat.course.assessment.model.CoordinatedAssessmentMode)2 TransientAssessmentMode (org.olat.course.assessment.model.TransientAssessmentMode)2 CourseEditorTreeModel (org.olat.course.tree.CourseEditorTreeModel)2 BusinessGroup (org.olat.group.BusinessGroup)2 BGArea (org.olat.group.area.BGArea)2