From c88e7e177d5ad22854f7f34f885e9e1c2c223d9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Wed, 20 Apr 2011 13:41:55 +0200 Subject: [PATCH] Create easier to read methods for specifying overassingment FEA: ItEr74S04BugFixing --- .../calendars/entities/BaseCalendar.java | 6 +++--- .../business/calendars/entities/Capacity.java | 8 ++++++++ .../entities/SameWorkHoursEveryDay.java | 2 +- .../entities/ConfigurationBootstrap.java | 5 ++--- .../calendars/entities/BaseCalendarTest.java | 20 +++++++++---------- .../test/calendars/entities/CapacityTest.java | 14 ++++++------- .../entities/ResourceCalendarTest.java | 2 +- .../GenericResourceAllocationTest.java | 8 ++++---- .../ws/calendars/impl/CalendarConverter.java | 2 +- .../BaseCalendarServiceTest.java | 2 +- 10 files changed, 38 insertions(+), 31 deletions(-) diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/calendars/entities/BaseCalendar.java b/navalplanner-business/src/main/java/org/navalplanner/business/calendars/entities/BaseCalendar.java index 7564e9e5d..9c9332b12 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/calendars/entities/BaseCalendar.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/calendars/entities/BaseCalendar.java @@ -46,8 +46,8 @@ import org.navalplanner.business.common.entities.EntitySequence; import org.navalplanner.business.common.exceptions.InstanceNotFoundException; import org.navalplanner.business.resources.entities.VirtualWorker; import org.navalplanner.business.workingday.EffortDuration; -import org.navalplanner.business.workingday.ResourcesPerDay; import org.navalplanner.business.workingday.IntraDayDate.PartialDay; +import org.navalplanner.business.workingday.ResourcesPerDay; /** * Represents a calendar with some exception days. A calendar is valid till the @@ -59,7 +59,7 @@ import org.navalplanner.business.workingday.IntraDayDate.PartialDay; public class BaseCalendar extends IntegrationEntity implements ICalendar { private static final Capacity DEFAULT_VALUE = Capacity.zero() - .overAssignableWithoutLimit(true); + .overAssignableWithoutLimit(); public static BaseCalendar create() { return create(new BaseCalendar(CalendarData.create())); @@ -72,7 +72,7 @@ public class BaseCalendar extends IntegrationEntity implements ICalendar { public static BaseCalendar createBasicCalendar() { BaseCalendar calendar = create(); Capacity eightHours = Capacity.create(hours(8)) - .overAssignableWithoutLimit(true); + .overAssignableWithoutLimit(); calendar.setCapacityAt(Days.MONDAY, eightHours); calendar.setCapacityAt(Days.TUESDAY, eightHours); calendar.setCapacityAt(Days.WEDNESDAY, eightHours); diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/calendars/entities/Capacity.java b/navalplanner-business/src/main/java/org/navalplanner/business/calendars/entities/Capacity.java index 5ca66bce0..8ffb27d40 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/calendars/entities/Capacity.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/calendars/entities/Capacity.java @@ -118,6 +118,14 @@ public class Capacity { return new Capacity(standardEffort, allowedExtraEffort); } + public Capacity overAssignableWithoutLimit() { + return overAssignableWithoutLimit(true); + } + + public Capacity notOverAssignableWithoutLimit() { + return overAssignableWithoutLimit(false); + } + public Capacity overAssignableWithoutLimit( boolean overAssignableWithoutLimit) { if (overAssignableWithoutLimit) { diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/calendars/entities/SameWorkHoursEveryDay.java b/navalplanner-business/src/main/java/org/navalplanner/business/calendars/entities/SameWorkHoursEveryDay.java index 410413a57..25f5132e6 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/calendars/entities/SameWorkHoursEveryDay.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/calendars/entities/SameWorkHoursEveryDay.java @@ -68,7 +68,7 @@ public class SameWorkHoursEveryDay implements ICalendar { @Override public Capacity getCapacityWithOvertime(LocalDate day) { return Capacity.create(EffortDuration.hours(hours)) - .overAssignableWithoutLimit(true); + .overAssignableWithoutLimit(); } } diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/common/entities/ConfigurationBootstrap.java b/navalplanner-business/src/main/java/org/navalplanner/business/common/entities/ConfigurationBootstrap.java index 8c38bd9b5..a64c491ad 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/common/entities/ConfigurationBootstrap.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/common/entities/ConfigurationBootstrap.java @@ -114,9 +114,8 @@ public class ConfigurationBootstrap implements IConfigurationBootstrap { calendar.setCodeAutogenerated(true); Capacity eightHours = Capacity.create(EffortDuration.hours(8)) - .overAssignableWithoutLimit(true); - Capacity zeroCapacity = Capacity.zero().overAssignableWithoutLimit( - false); + .overAssignableWithoutLimit(); + Capacity zeroCapacity = Capacity.zero().notOverAssignableWithoutLimit(); calendar.setCapacityAt(Days.MONDAY, eightHours); calendar.setCapacityAt(Days.TUESDAY, eightHours); calendar.setCapacityAt(Days.WEDNESDAY, eightHours); diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/calendars/entities/BaseCalendarTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/calendars/entities/BaseCalendarTest.java index dfb390aca..7d1ddef9b 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/calendars/entities/BaseCalendarTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/calendars/entities/BaseCalendarTest.java @@ -103,7 +103,7 @@ public class BaseCalendarTest { * @return */ private static Capacity withNormalDuration(EffortDuration effort) { - return Capacity.create(effort).overAssignableWithoutLimit(true); + return Capacity.create(effort).overAssignableWithoutLimit(); } private BaseCalendar calendarFixture; @@ -791,7 +791,7 @@ public class BaseCalendarTest { public void asDurationOnRespectsTheOverAssignablePropertyOfCalendarData() { BaseCalendar calendar = createBasicCalendar(); calendar.setCapacityAt(Days.MONDAY, Capacity.create(hours(8)) - .overAssignableWithoutLimit(true)); + .overAssignableWithoutLimit()); assertThat(calendar.asDurationOn( PartialDay.wholeDay(MONDAY_LOCAL_DATE), @@ -811,7 +811,7 @@ public class BaseCalendarTest { public void getCapacityWithOvertimeOnReturnsTheCapacityForThatDay() { BaseCalendar calendar = createBasicCalendar(); Capacity capacitySet = Capacity.create(hours(8)) - .overAssignableWithoutLimit(true); + .overAssignableWithoutLimit(); calendar.setCapacityAt(Days.MONDAY, capacitySet); assertThat(calendar.getCapacityWithOvertime(MONDAY_LOCAL_DATE), @@ -822,7 +822,7 @@ public class BaseCalendarTest { public void asDurationOnRespectsTheNotOverAssignablePropertyOfCalendarData() { BaseCalendar calendar = createBasicCalendar(); calendar.setCapacityAt(Days.MONDAY, Capacity.create(hours(8)) - .overAssignableWithoutLimit(false)); + .notOverAssignableWithoutLimit()); assertThat(calendar.asDurationOn( PartialDay.wholeDay(MONDAY_LOCAL_DATE), @@ -857,7 +857,7 @@ public class BaseCalendarTest { public void asDurationOnRespectsAnOverAssignableCalendarException() { BaseCalendar calendar = createBasicCalendar(); addExceptionOn(calendar, MONDAY_LOCAL_DATE, Capacity.create(hours(1)) - .overAssignableWithoutLimit(true)); + .overAssignableWithoutLimit()); assertThat(calendar.asDurationOn( PartialDay.wholeDay(MONDAY_LOCAL_DATE), @@ -871,7 +871,7 @@ public class BaseCalendarTest { public void asDurationOnRespectsANotOverAssignableCalendarException() { BaseCalendar calendar = createBasicCalendar(); addExceptionOn(calendar, MONDAY_LOCAL_DATE, Capacity.create(hours(1)) - .overAssignableWithoutLimit(false)); + .notOverAssignableWithoutLimit()); assertThat(calendar.asDurationOn( PartialDay.wholeDay(MONDAY_LOCAL_DATE), ResourcesPerDay.amount(1)), equalTo(hours(1))); @@ -909,7 +909,7 @@ public class BaseCalendarTest { public void canWorkOnRespectsIsOverAssignable() { BaseCalendar calendar = createBasicCalendar(); addExceptionOn(calendar, MONDAY_LOCAL_DATE, Capacity.create(hours(0)) - .overAssignableWithoutLimit(true)); + .overAssignableWithoutLimit()); assertTrue(calendar.canWorkOn(MONDAY_LOCAL_DATE)); } @@ -918,12 +918,12 @@ public class BaseCalendarTest { public void canWorkOnRespectsCalendarData() { BaseCalendar calendar = createBasicCalendar(); calendar.setCapacityAt(Days.MONDAY, Capacity.create(hours(0)) - .overAssignableWithoutLimit(true)); + .overAssignableWithoutLimit()); assertTrue(calendar.canWorkOn(MONDAY_LOCAL_DATE)); calendar.setCapacityAt(Days.MONDAY, Capacity.create(hours(0)) - .overAssignableWithoutLimit(false)); + .notOverAssignableWithoutLimit()); assertFalse(calendar.canWorkOn(MONDAY_LOCAL_DATE)); } @@ -931,7 +931,7 @@ public class BaseCalendarTest { public void theAvailabilityTimeLineTakesIntoAccountTheDaysItCannotWorkDueToCalendarData() { BaseCalendar calendar = createBasicCalendar(); calendar.setCapacityAt(Days.MONDAY, Capacity.create(hours(0)) - .overAssignableWithoutLimit(false)); + .notOverAssignableWithoutLimit()); AvailabilityTimeLine availability = calendar.getAvailability(); assertFalse(availability.isValid(MONDAY_LOCAL_DATE)); diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/calendars/entities/CapacityTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/calendars/entities/CapacityTest.java index 9b3b3c1a9..1349059a2 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/calendars/entities/CapacityTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/calendars/entities/CapacityTest.java @@ -108,7 +108,7 @@ public class CapacityTest { @Test public void aCapacityWithZeroHoursAndOverAssignableWithoutLimitAllowsWorking() { - Capacity capacity = Capacity.zero().overAssignableWithoutLimit(true); + Capacity capacity = Capacity.zero().overAssignableWithoutLimit(); assertTrue(capacity.allowsWorking()); } @@ -120,8 +120,8 @@ public class CapacityTest { @Test public void aCapacityMultipliedByZero() { Capacity[] originals = { - Capacity.create(hours(8)).overAssignableWithoutLimit(true), - Capacity.create(hours(8)).overAssignableWithoutLimit(false) }; + Capacity.create(hours(8)).overAssignableWithoutLimit(), + Capacity.create(hours(8)).notOverAssignableWithoutLimit() }; for (Capacity original : originals) { Capacity multipliedByZero = original.multiplyBy(0); assertThat(multipliedByZero.getStandardEffort(), equalTo(zero())); @@ -161,7 +161,7 @@ public class CapacityTest { public void theExtraEffortIsAlsoMinimized() { assertThat( Capacity.min(a.withAllowedExtraEffort(hours(2)), - b.overAssignableWithoutLimit(true)) + b.overAssignableWithoutLimit()) .getAllowedExtraEffort(), equalTo(hours(2))); assertThat( @@ -174,7 +174,7 @@ public class CapacityTest { public void theExtraEffortIsMaximized() { assertThat( Capacity.max(a.withAllowedExtraEffort(hours(2)), - b.overAssignableWithoutLimit(true)) + b.overAssignableWithoutLimit()) .getAllowedExtraEffort(), nullValue()); assertThat( @@ -185,11 +185,11 @@ public class CapacityTest { @Test public void testThereIsCapacityForMoreAllocations() { - assertThat(Capacity.create(hours(8)).overAssignableWithoutLimit(true) + assertThat(Capacity.create(hours(8)).overAssignableWithoutLimit() .hasSpareSpaceForMoreAllocations(hours(10)), is(true)); Capacity notOverassignable = Capacity.create(hours(8)) - .overAssignableWithoutLimit(false); + .notOverAssignableWithoutLimit(); assertFalse(notOverassignable .hasSpareSpaceForMoreAllocations(hours(10))); diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/calendars/entities/ResourceCalendarTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/calendars/entities/ResourceCalendarTest.java index b2cec2909..4c0cbeac7 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/calendars/entities/ResourceCalendarTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/calendars/entities/ResourceCalendarTest.java @@ -48,7 +48,7 @@ import org.navalplanner.business.workingday.ResourcesPerDay; public class ResourceCalendarTest { private static final Capacity capacityForEveryDay = Capacity.create( - EffortDuration.hours(8)).overAssignableWithoutLimit(true); + EffortDuration.hours(8)).overAssignableWithoutLimit(); public static ResourceCalendar createBasicResourceCalendar(int capacity) { ResourceCalendar calendar = ResourceCalendar.create(); diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/GenericResourceAllocationTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/GenericResourceAllocationTest.java index eb9677d17..3323a2566 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/GenericResourceAllocationTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/planner/entities/GenericResourceAllocationTest.java @@ -263,7 +263,7 @@ public class GenericResourceAllocationTest { } private Capacity fromHours(int hours) { - return Capacity.create(hours(hours)).overAssignableWithoutLimit(true); + return Capacity.create(hours(hours)).overAssignableWithoutLimit(); } private void givenCalendarsForResources(Capacity capacity1, @@ -296,7 +296,7 @@ public class GenericResourceAllocationTest { private void givenBaseCalendarWithoutExceptions(int hoursPerDay) { BaseCalendar baseCalendar = createCalendar(BaseCalendar.class, Capacity - .create(hours(hoursPerDay)).overAssignableWithoutLimit(true)); + .create(hours(hoursPerDay)).overAssignableWithoutLimit()); this.baseCalendar = baseCalendar; } @@ -669,7 +669,7 @@ public class GenericResourceAllocationTest { Capacity with2ExtraHours = workingDay .withAllowedExtraEffort(hours(2)); givenCalendarsForResources(with2ExtraHours, with2ExtraHours, - workingDay.overAssignableWithoutLimit(true)); + workingDay.overAssignableWithoutLimit()); givenWorkersWithLoads(0, 0, 0); genericResourceAllocation.forResources(workers).allocate( @@ -718,7 +718,7 @@ public class GenericResourceAllocationTest { givenGenericResourceAllocationForTask(task); givenWorkersWithLoads(8, 8, 8); givenVirtualWorkerWithCapacityAndLoad(Capacity.create(hours(8)) - .overAssignableWithoutLimit(true), 5, hours(40)); + .overAssignableWithoutLimit(), 5, hours(40)); genericResourceAllocation.forResources(workers).allocate( ResourcesPerDay.amount(1)); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/ws/calendars/impl/CalendarConverter.java b/navalplanner-webapp/src/main/java/org/navalplanner/ws/calendars/impl/CalendarConverter.java index cdf824db9..ec17c4822 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/ws/calendars/impl/CalendarConverter.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/ws/calendars/impl/CalendarConverter.java @@ -301,7 +301,7 @@ public final class CalendarConverter { .ordinal(); Capacity capacity = Capacity.create( EffortDuration.hours(hoursPerDayDTO.hours)) - .overAssignableWithoutLimit(true); + .overAssignableWithoutLimit(); result.put(day, capacity); } catch (IllegalArgumentException e) { throw new ValidationException(_("a day is not valid")); diff --git a/navalplanner-webapp/src/test/java/org/navalplanner/web/test/ws/basecalendars/BaseCalendarServiceTest.java b/navalplanner-webapp/src/test/java/org/navalplanner/web/test/ws/basecalendars/BaseCalendarServiceTest.java index 7ec8b7d81..6f10e8d50 100644 --- a/navalplanner-webapp/src/test/java/org/navalplanner/web/test/ws/basecalendars/BaseCalendarServiceTest.java +++ b/navalplanner-webapp/src/test/java/org/navalplanner/web/test/ws/basecalendars/BaseCalendarServiceTest.java @@ -223,7 +223,7 @@ public class BaseCalendarServiceTest { CalendarData data = baseCalendar.getCalendarDataByCode("codeData"); assertEquals(Capacity.create(EffortDuration.hours(4)) - .overAssignableWithoutLimit(true), + .overAssignableWithoutLimit(), data.getCapacityOn(CalendarData.Days.FRIDAY)); assertEquals(Capacity.create(EffortDuration.hours(4)) .overAssignableWithoutLimit(true),