Make the sum of durations of day assigments return an EffortDuration

FEA: ItEr60S19TimeUnitDataType
This commit is contained in:
Óscar González Fernández 2010-09-13 20:17:16 +02:00
parent a523391ce0
commit efa58a5b88
4 changed files with 13 additions and 9 deletions

View file

@ -20,6 +20,8 @@
package org.navalplanner.business.planner.entities;
import static org.navalplanner.business.workingday.EffortDuration.zero;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@ -80,10 +82,11 @@ public abstract class DayAssignment extends BaseEntity {
return start;
}
public static int sum(Collection<? extends DayAssignment> assignments) {
int result = 0;
for (DayAssignment dayAssignment : assignments) {
result += dayAssignment.getHours();
public static EffortDuration sum(
Collection<? extends DayAssignment> assignments) {
EffortDuration result = zero();
for (DayAssignment each : assignments) {
result = result.plus(each.getDuration());
}
return result;
}

View file

@ -117,7 +117,7 @@ public class DerivedAllocation extends BaseEntity {
}
int getHours() {
return DayAssignment.sum(getUnorderedAssignments());
return DayAssignment.sum(getUnorderedAssignments()).roundToHours();
}
abstract void resetAssignmentsTo(

View file

@ -836,7 +836,7 @@ public abstract class ResourceAllocation<T extends DayAssignment> extends
}
public int getAssignedHours() {
return DayAssignment.sum(getAssignments());
return DayAssignment.sum(getAssignments()).roundToHours();
}
protected abstract class DayAssignmentsState {
@ -968,11 +968,12 @@ public abstract class ResourceAllocation<T extends DayAssignment> extends
protected abstract DayAssignmentsState getDayAssignmentsState();
public int getConsolidatedHours() {
return DayAssignment.sum(getConsolidatedAssignments());
return DayAssignment.sum(getConsolidatedAssignments()).roundToHours();
}
public int getNonConsolidatedHours() {
return DayAssignment.sum(getNonConsolidatedAssignments());
return DayAssignment.sum(getNonConsolidatedAssignments())
.roundToHours();
}
/**

View file

@ -129,7 +129,7 @@ public abstract class AllocatorForSpecifiedResourcesPerDayAndHours {
resourcesPerDayModification, day, remaining);
resultAssignments.get(resourcesPerDayModification).addAll(
newAssignments);
return DayAssignment.sum(newAssignments);
return DayAssignment.sum(newAssignments).roundToHours();
}
private static class HoursPerAllocation {