diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/calendars/entities/CalendarException.java b/navalplanner-business/src/main/java/org/navalplanner/business/calendars/entities/CalendarException.java index 5828f621a..5e1d2984f 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/calendars/entities/CalendarException.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/calendars/entities/CalendarException.java @@ -28,7 +28,6 @@ import org.navalplanner.business.calendars.daos.ICalendarExceptionDAO; import org.navalplanner.business.common.IntegrationEntity; import org.navalplanner.business.common.Registry; import org.navalplanner.business.workingday.EffortDuration; -import org.navalplanner.business.workingday.EffortDuration.Granularity; /** * Represents an exceptional day that has a different number of hours. For @@ -56,8 +55,7 @@ public class CalendarException extends IntegrationEntity { } private static EffortDuration fromHours(Integer hours) { - return hours == null ? null : EffortDuration.elapsing(hours, - Granularity.HOURS); + return hours == null ? null : EffortDuration.hours(hours); } public void updateUnvalidated(LocalDate date, Integer hours, diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/DayAssignment.java b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/DayAssignment.java index d1c3e0810..3ab020bf8 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/DayAssignment.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/planner/entities/DayAssignment.java @@ -43,7 +43,6 @@ import org.navalplanner.business.util.deepcopy.AfterCopy; import org.navalplanner.business.util.deepcopy.OnCopy; import org.navalplanner.business.util.deepcopy.Strategy; import org.navalplanner.business.workingday.EffortDuration; -import org.navalplanner.business.workingday.EffortDuration.Granularity; public abstract class DayAssignment extends BaseEntity { @@ -179,7 +178,7 @@ public abstract class DayAssignment extends BaseEntity { Validate.isTrue(hours >= 0); Validate.notNull(resource); this.day = day; - this.duration = EffortDuration.elapsing(hours, Granularity.HOURS); + this.duration = EffortDuration.hours(hours); this.resource = resource; } diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/workingday/EffortDuration.java b/navalplanner-business/src/main/java/org/navalplanner/business/workingday/EffortDuration.java index f5cb8780f..e63797c76 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/workingday/EffortDuration.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/workingday/EffortDuration.java @@ -51,6 +51,18 @@ public class EffortDuration { return new EffortDuration(granularity.toSeconds(amount)); } + public static EffortDuration hours(int amount) { + return elapsing(amount, Granularity.HOURS); + } + + public static EffortDuration minutes(int amount) { + return elapsing(amount, Granularity.MINUTES); + } + + public static EffortDuration seconds(int amount) { + return elapsing(amount, Granularity.SECONDS); + } + private final int seconds; private EffortDuration(int seconds) { diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/workingday/hibernate/EffortDurationType.java b/navalplanner-business/src/main/java/org/navalplanner/business/workingday/hibernate/EffortDurationType.java index 752ca9cc8..17ffd6b70 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/workingday/hibernate/EffortDurationType.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/workingday/hibernate/EffortDurationType.java @@ -93,7 +93,7 @@ public class EffortDurationType implements UserType { @Override public Object assemble(Serializable cached, Object owner) throws HibernateException { - return EffortDuration.elapsing((Integer) cached, Granularity.SECONDS); + return EffortDuration.seconds((Integer) cached); } @Override diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/workingday/EffortDurationTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/workingday/EffortDurationTest.java index 2c8403ecb..fd0f37d02 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/workingday/EffortDurationTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/workingday/EffortDurationTest.java @@ -23,7 +23,8 @@ package org.navalplanner.business.test.workingday; import static org.hamcrest.CoreMatchers.equalTo; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; -import static org.navalplanner.business.workingday.EffortDuration.elapsing; +import static org.navalplanner.business.workingday.EffortDuration.hours; +import static org.navalplanner.business.workingday.EffortDuration.minutes; import org.junit.Test; import org.navalplanner.business.workingday.EffortDuration; @@ -33,7 +34,7 @@ public class EffortDurationTest { @Test public void itCanExpressTheDurationAsHoursMinutesAndSeconds() { - EffortDuration duration = EffortDuration.elapsing(4, Granularity.HOURS); + EffortDuration duration = EffortDuration.hours(4); assertThat(duration.getHours(), equalTo(4)); assertThat(duration.getMinutes(), equalTo(240)); assertThat(duration.getSeconds(), equalTo(240 * 60)); @@ -54,35 +55,33 @@ public class EffortDurationTest { @Test public void hoursCanBeZero() { - EffortDuration.elapsing(0, Granularity.HOURS); + EffortDuration.hours(0); } @Test public void minutesAreTranslatedToHours() { - assertThat(elapsing(120, Granularity.MINUTES).getHours(), - equalTo(2)); - assertThat(elapsing(119, Granularity.MINUTES).getHours(), equalTo(1)); - assertThat(elapsing(121, Granularity.MINUTES).getHours(), equalTo(2)); + assertThat(EffortDuration.minutes(120).getHours(), equalTo(2)); + assertThat(minutes(119).getHours(), equalTo(1)); + assertThat(minutes(121).getHours(), equalTo(2)); } @Test public void canBeTranslatedToAnyGranularity(){ - assertThat(elapsing(3, Granularity.HOURS) - .convertTo(Granularity.MINUTES), - equalTo(180)); + assertThat(hours(3).convertTo(Granularity.MINUTES), equalTo(180)); } @Test public void canSpecifyADurationWithSeveralUnits() { - assertThat(elapsing(2, Granularity.HOURS).and(30, Granularity.MINUTES) + assertThat( + hours(2).and(30, Granularity.MINUTES) .convertTo(Granularity.MINUTES), equalTo(150)); } - private static final EffortDuration oneHourAndAHalf = elapsing(1, - Granularity.HOURS).and(30, Granularity.MINUTES); - private static final EffortDuration ninetyMinutes = elapsing(90, + private static final EffortDuration oneHourAndAHalf = hours(1).and(30, Granularity.MINUTES); + private static final EffortDuration ninetyMinutes = minutes(90); + @Test public void twoDurationWithTheSameSecondsAreEqual(){ assertThat(oneHourAndAHalf, equalTo(ninetyMinutes)); diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/workingday/TaskDateTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/workingday/TaskDateTest.java index b1a7522b0..83bf2e64a 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/workingday/TaskDateTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/workingday/TaskDateTest.java @@ -41,10 +41,8 @@ public class TaskDateTest { private LocalDate today = new LocalDate(); private LocalDate tomorrow = today.plusDays(1); - private EffortDuration oneHour = EffortDuration.elapsing(1, - Granularity.HOURS); - private EffortDuration halfHour = EffortDuration.elapsing(30, - Granularity.MINUTES); + private EffortDuration oneHour = EffortDuration.hours(1); + private EffortDuration halfHour = EffortDuration.minutes(30); @Test(expected = IllegalArgumentException.class) public void needsANotNullDuration() { @@ -60,9 +58,8 @@ public class TaskDateTest { public void equalsAndHashCodeWorkOk() { LocalDate today = new LocalDate(); LocalDate tomorrow = today.plusDays(1); - EffortDuration oneHour = EffortDuration.elapsing(1, Granularity.HOURS); - EffortDuration halfHour = EffortDuration.elapsing(30, - Granularity.MINUTES); + EffortDuration oneHour = EffortDuration.hours(1); + EffortDuration halfHour = EffortDuration.minutes(30); assertEquals(TaskDate.create(today, halfHour), TaskDate.create(tomorrow.minusDays(1), halfHour)); assertEquals(TaskDate.create(today, halfHour).hashCode(), TaskDate diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/workingday/hibernate/EffortDurationTypeTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/workingday/hibernate/EffortDurationTypeTest.java index 61cc07696..1b1c91b8e 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/workingday/hibernate/EffortDurationTypeTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/workingday/hibernate/EffortDurationTypeTest.java @@ -20,12 +20,12 @@ package org.navalplanner.business.test.workingday.hibernate; - import static org.hamcrest.CoreMatchers.equalTo; import static org.junit.Assert.assertNotSame; import static org.junit.Assert.assertThat; import static org.navalplanner.business.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_FILE; import static org.navalplanner.business.test.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_TEST_FILE; +import static org.navalplanner.business.workingday.EffortDuration.hours; import org.hibernate.Session; import org.hibernate.SessionFactory; @@ -60,8 +60,7 @@ public class EffortDurationTypeTest { @Test public void canBeSavedAndRetrieved() { - EffortDuration duration = EffortDuration.elapsing(2, Granularity.HOURS) - .and(30, Granularity.MINUTES); + EffortDuration duration = hours(2).and(30, Granularity.MINUTES); givenEntity(duration); getSession().save(entity); getSession().flush();