Bug #1497: Count also containers and milestones in deadline violations chart
FEA: ItEr76S04BugFixing
This commit is contained in:
parent
894f818ad8
commit
fbce98caa7
3 changed files with 27 additions and 15 deletions
|
|
@ -1138,17 +1138,6 @@ public class Task extends TaskElement implements ITaskPositionConstrained {
|
|||
}
|
||||
}
|
||||
|
||||
public TaskDeadlineViolationStatusEnum getDeadlineViolationStatus() {
|
||||
LocalDate deadline = this.getDeadline();
|
||||
if (deadline == null) {
|
||||
return TaskDeadlineViolationStatusEnum.NO_DEADLINE;
|
||||
} else if (this.getEndAsLocalDate().isAfter(deadline)) {
|
||||
return TaskDeadlineViolationStatusEnum.DEADLINE_VIOLATED;
|
||||
} else {
|
||||
return TaskDeadlineViolationStatusEnum.ON_SCHEDULE;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
/* If the status of the task was needed in the past was because
|
||||
* a TaskGroup needed to calculate children status, but only asked
|
||||
|
|
|
|||
|
|
@ -772,4 +772,15 @@ public abstract class TaskElement extends BaseEntity {
|
|||
|
||||
public abstract boolean isAnyTaskWithConstraint(PositionConstraintType type);
|
||||
|
||||
public TaskDeadlineViolationStatusEnum getDeadlineViolationStatus() {
|
||||
LocalDate deadline = this.getDeadline();
|
||||
if (deadline == null) {
|
||||
return TaskDeadlineViolationStatusEnum.NO_DEADLINE;
|
||||
} else if (this.getEndAsLocalDate().isAfter(deadline)) {
|
||||
return TaskDeadlineViolationStatusEnum.DEADLINE_VIOLATED;
|
||||
} else {
|
||||
return TaskDeadlineViolationStatusEnum.ON_SCHEDULE;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* This file is part of LibrePlan
|
||||
*
|
||||
* Copyright (C) 2011 Igalia, S.L.
|
||||
* Copyright (C) 2011-2012 Igalia, S.L.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
|
|
@ -24,6 +24,7 @@ package org.libreplan.business.planner.entities.visitors;
|
|||
* filling in a Map summarizing the status of all tasks.
|
||||
*
|
||||
* @author Nacho Barrientos <nacho@igalia.com>
|
||||
* @author Manuel Rego Casasnovas <rego@igalia.com>
|
||||
*/
|
||||
import java.util.EnumMap;
|
||||
import java.util.Map;
|
||||
|
|
@ -32,6 +33,7 @@ import org.libreplan.business.planner.entities.Task;
|
|||
import org.libreplan.business.planner.entities.TaskDeadlineViolationStatusEnum;
|
||||
import org.libreplan.business.planner.entities.TaskElement;
|
||||
import org.libreplan.business.planner.entities.TaskGroup;
|
||||
import org.libreplan.business.planner.entities.TaskMilestone;
|
||||
import org.libreplan.business.util.TaskElementVisitor;
|
||||
|
||||
public class AccumulateTasksDeadlineStatusVisitor extends TaskElementVisitor {
|
||||
|
|
@ -52,15 +54,25 @@ public class AccumulateTasksDeadlineStatusVisitor extends TaskElementVisitor {
|
|||
}
|
||||
|
||||
public void visit(Task task) {
|
||||
TaskDeadlineViolationStatusEnum status = task.getDeadlineViolationStatus();
|
||||
Integer currentValue = taskDeadlineViolationStatusData.get(status);
|
||||
taskDeadlineViolationStatusData.put(status, Integer.valueOf(currentValue.intValue() + 1));
|
||||
calculateDeadlineViolationStatus(task);
|
||||
}
|
||||
|
||||
public void visit(TaskGroup taskGroup) {
|
||||
calculateDeadlineViolationStatus(taskGroup);
|
||||
for (TaskElement each: taskGroup.getChildren()) {
|
||||
each.acceptVisitor(this);
|
||||
}
|
||||
}
|
||||
|
||||
public void visit(TaskMilestone taskMilestone) {
|
||||
calculateDeadlineViolationStatus(taskMilestone);
|
||||
}
|
||||
|
||||
private void calculateDeadlineViolationStatus(TaskElement taskElement) {
|
||||
TaskDeadlineViolationStatusEnum status = taskElement
|
||||
.getDeadlineViolationStatus();
|
||||
Integer currentValue = taskDeadlineViolationStatusData.get(status);
|
||||
taskDeadlineViolationStatusData.put(status, currentValue + 1);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue