From a96e67b2f18024c9e09b25cfdb960d470551e8e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Wed, 6 Oct 2010 23:56:25 +0200 Subject: [PATCH] Use generic methods instead of methods for Dates FEA: ItEr61S08TimeUnitConfigurablePlanning --- .../ganttz/adapters/PlannerConfiguration.java | 6 +++--- .../org/zkoss/ganttz/data/DependencyType.java | 7 ++++--- .../main/java/org/zkoss/ganttz/data/Task.java | 12 +++++++----- .../constraint/ConstraintOnComparableValues.java | 16 ++++++---------- .../ConstraintOnComparableValuesTest.java | 13 +++++++------ .../criticalpath/CriticalPathCalculatorTest.java | 7 ++++--- .../navalplanner/web/common/TemplateModel.java | 6 +++--- .../web/planner/TaskElementAdapter.java | 11 +++++------ 8 files changed, 39 insertions(+), 39 deletions(-) diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/adapters/PlannerConfiguration.java b/ganttzk/src/main/java/org/zkoss/ganttz/adapters/PlannerConfiguration.java index 043e3a8a3..5327345e3 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/adapters/PlannerConfiguration.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/adapters/PlannerConfiguration.java @@ -20,6 +20,8 @@ package org.zkoss.ganttz.adapters; +import static org.zkoss.ganttz.data.constraint.ConstraintOnComparableValues.biggerOrEqualThan; + import java.util.ArrayList; import java.util.Collections; import java.util.Date; @@ -31,7 +33,6 @@ import org.apache.commons.lang.Validate; import org.zkoss.ganttz.Planner; import org.zkoss.ganttz.data.GanttDiagramGraph.IGraphChangeListener; import org.zkoss.ganttz.data.constraint.Constraint; -import org.zkoss.ganttz.data.constraint.ConstraintOnComparableValues.DateConstraint; import org.zkoss.ganttz.extensions.ICommand; import org.zkoss.ganttz.extensions.ICommandOnTask; import org.zkoss.ganttz.extensions.IContext; @@ -270,8 +271,7 @@ public class PlannerConfiguration implements IDisabilityConfiguration { public static List> getStartConstraintsGiven( Date notBeforeThan) { if (notBeforeThan != null) { - return Collections.singletonList(DateConstraint - .biggerOrEqualThan(notBeforeThan)); + return Collections.singletonList(biggerOrEqualThan(notBeforeThan)); } else { return Collections.emptyList(); } diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/data/DependencyType.java b/ganttzk/src/main/java/org/zkoss/ganttz/data/DependencyType.java index 900f3a7c5..e2d724366 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/data/DependencyType.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/data/DependencyType.java @@ -20,6 +20,8 @@ package org.zkoss.ganttz.data; +import static org.zkoss.ganttz.data.constraint.ConstraintOnComparableValues.biggerOrEqualThan; + import java.util.Collections; import java.util.Date; import java.util.List; @@ -27,7 +29,6 @@ import java.util.List; import org.zkoss.ganttz.data.GanttDiagramGraph.IAdapter; import org.zkoss.ganttz.data.GanttDiagramGraph.PointType; import org.zkoss.ganttz.data.constraint.Constraint; -import org.zkoss.ganttz.data.constraint.ConstraintOnComparableValues.DateConstraint; /** * This enum tells the type of a depepdency. Each instance contanins the correct @@ -157,12 +158,12 @@ public enum DependencyType { protected Constraint biggerThanTaskEndDate( IAdapter adapter, V source) { - return DateConstraint.biggerOrEqualThan(adapter.getEndDateFor(source)); + return biggerOrEqualThan(adapter.getEndDateFor(source)); } protected Constraint biggerThanTaskStartDate( IAdapter adapter, V source) { - return DateConstraint.biggerOrEqualThan(adapter.getStartDate(source)); + return biggerOrEqualThan(adapter.getStartDate(source)); } private static Date getBigger(Date date1, Date date2) { diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/data/Task.java b/ganttzk/src/main/java/org/zkoss/ganttz/data/Task.java index 9a06268bf..5e196bf76 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/data/Task.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/data/Task.java @@ -20,6 +20,8 @@ package org.zkoss.ganttz.data; +import static org.zkoss.ganttz.data.constraint.ConstraintOnComparableValues.biggerOrEqualThan; + import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; import java.math.BigDecimal; @@ -38,7 +40,6 @@ import org.zkoss.ganttz.data.GanttDiagramGraph.IDependenciesEnforcerHookFactory; import org.zkoss.ganttz.data.GanttDiagramGraph.INotificationAfterDependenciesEnforcement; import org.zkoss.ganttz.data.constraint.Constraint; import org.zkoss.ganttz.data.constraint.Constraint.IConstraintViolationListener; -import org.zkoss.ganttz.data.constraint.ConstraintOnComparableValues.DateConstraint; import org.zkoss.ganttz.util.ConstraintViolationNotificator; /** @@ -220,13 +221,14 @@ public abstract class Task implements ITaskFundamentalProperties { if (isContainer()) { return Constraint.emptyConstraint(); } - return violationNotificator.withListener(DateConstraint - .biggerOrEqualThan(getEndDate().toDateApproximation())); + return violationNotificator.withListener(biggerOrEqualThan(getEndDate() + .toDateApproximation())); } public Constraint getEndDateBiggerThanStartDate() { - return violationNotificator.withListener(DateConstraint - .biggerOrEqualThan(getBeginDate().toDateApproximation())); + return violationNotificator + .withListener(biggerOrEqualThan(getBeginDate() + .toDateApproximation())); } public String getNotes() { diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/data/constraint/ConstraintOnComparableValues.java b/ganttzk/src/main/java/org/zkoss/ganttz/data/constraint/ConstraintOnComparableValues.java index 4321c0586..67bc3d02d 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/data/constraint/ConstraintOnComparableValues.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/data/constraint/ConstraintOnComparableValues.java @@ -21,7 +21,6 @@ package org.zkoss.ganttz.data.constraint; import java.util.Arrays; import java.util.Collections; -import java.util.Date; import org.apache.commons.lang.Validate; @@ -32,16 +31,13 @@ import org.apache.commons.lang.Validate; public class ConstraintOnComparableValues> extends Constraint { - public static class DateConstraint { - - public static Constraint biggerOrEqualThan(Date date) { - return instantiate(ComparisonType.BIGGER_OR_EQUAL_THAN, date); - } - - public static Constraint equalTo(Date date) { - return instantiate(ComparisonType.EQUAL_TO, date); - } + public static > Constraint biggerOrEqualThan( + T value) { + return instantiate(ComparisonType.BIGGER_OR_EQUAL_THAN, value); + } + public static > Constraint equalTo(T value) { + return instantiate(ComparisonType.EQUAL_TO, value); } private static > Constraint instantiate( diff --git a/ganttzk/src/test/java/org/zkoss/ganttz/data/constraint/ConstraintOnComparableValuesTest.java b/ganttzk/src/test/java/org/zkoss/ganttz/data/constraint/ConstraintOnComparableValuesTest.java index 04e8b6997..9087bf231 100644 --- a/ganttzk/src/test/java/org/zkoss/ganttz/data/constraint/ConstraintOnComparableValuesTest.java +++ b/ganttzk/src/test/java/org/zkoss/ganttz/data/constraint/ConstraintOnComparableValuesTest.java @@ -21,20 +21,20 @@ package org.zkoss.ganttz.data.constraint; import static org.hamcrest.CoreMatchers.equalTo; import static org.junit.Assert.assertThat; +import static org.zkoss.ganttz.data.constraint.ConstraintOnComparableValues.biggerOrEqualThan; import java.util.Date; import org.junit.Test; -import org.zkoss.ganttz.data.constraint.ConstraintOnComparableValues.DateConstraint; public class ConstraintOnComparableValuesTest { private Date now = new Date(); - private Constraint biggerOrEqualThanNow = DateConstraint - .biggerOrEqualThan(now); + private Constraint biggerOrEqualThanNow = biggerOrEqualThan(now); - private Constraint equalToNow = DateConstraint.equalTo(now); + private Constraint equalToNow = ConstraintOnComparableValues + . equalTo(now); @Test public void canCreateConstraintBiggerThan() { @@ -44,7 +44,7 @@ public class ConstraintOnComparableValuesTest { @Test public void biggerOrEqualThanNullLeaveValuesUnmodified() { - Constraint biggerThanNull = DateConstraint.biggerOrEqualThan(null); + Constraint biggerThanNull = biggerOrEqualThan(null); Date eraStart = new Date(0); assertThat(biggerThanNull.applyConstraintTo(new Date(0)), equalTo(eraStart)); @@ -64,7 +64,8 @@ public class ConstraintOnComparableValuesTest { @Test public void equalToNullLeaveValuesUnmodified() { - Constraint equalToNull = DateConstraint.equalTo(null); + Constraint equalToNull = ConstraintOnComparableValues + . equalTo(null); Date value = new Date(now.getTime() + 1000); assertThat(equalToNull.applyTo(value), equalTo(value)); } diff --git a/ganttzk/src/test/java/org/zkoss/ganttz/data/criticalpath/CriticalPathCalculatorTest.java b/ganttzk/src/test/java/org/zkoss/ganttz/data/criticalpath/CriticalPathCalculatorTest.java index 5c0e0c3f4..aa6ac427d 100644 --- a/ganttzk/src/test/java/org/zkoss/ganttz/data/criticalpath/CriticalPathCalculatorTest.java +++ b/ganttzk/src/test/java/org/zkoss/ganttz/data/criticalpath/CriticalPathCalculatorTest.java @@ -26,6 +26,7 @@ import static org.easymock.EasyMock.replay; import static org.hamcrest.CoreMatchers.anyOf; import static org.hamcrest.CoreMatchers.equalTo; import static org.junit.Assert.assertThat; +import static org.zkoss.ganttz.data.constraint.ConstraintOnComparableValues.biggerOrEqualThan; import java.util.Arrays; import java.util.Date; @@ -40,7 +41,7 @@ import org.zkoss.ganttz.data.GanttDate; import org.zkoss.ganttz.data.IDependency; import org.zkoss.ganttz.data.ITaskFundamentalProperties; import org.zkoss.ganttz.data.constraint.Constraint; -import org.zkoss.ganttz.data.constraint.ConstraintOnComparableValues.DateConstraint; +import org.zkoss.ganttz.data.constraint.ConstraintOnComparableValues; /** * Tests for {@link CriticalPathCalculator}. @@ -70,7 +71,7 @@ public class CriticalPathCalculatorTest { expect(result.getEndDate()).andReturn( toDate(start.plusDays(durationDays))).anyTimes(); - Constraint constraint = DateConstraint.biggerOrEqualThan(date + Constraint constraint = biggerOrEqualThan(date .toDateTimeAtStartOfDay().toDate()); expect(result.getStartConstraints()).andReturn( Arrays.asList(constraint)).anyTimes(); @@ -86,7 +87,7 @@ public class CriticalPathCalculatorTest { expect(result.getEndDate()).andReturn( toDate(start.plusDays(durationDays))).anyTimes(); - Constraint constraint = DateConstraint.equalTo(date + Constraint constraint = ConstraintOnComparableValues.equalTo(date .toDateTimeAtStartOfDay().toDate()); expect(result.getStartConstraints()).andReturn( Arrays.asList(constraint)).anyTimes(); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/TemplateModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/TemplateModel.java index 2ba63d5e5..a5723b131 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/TemplateModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/TemplateModel.java @@ -21,6 +21,7 @@ package org.navalplanner.web.common; import static org.navalplanner.business.i18n.I18nHelper._; +import static org.zkoss.ganttz.data.constraint.ConstraintOnComparableValues.biggerOrEqualThan; import java.util.ArrayList; import java.util.Collections; @@ -70,7 +71,6 @@ import org.zkoss.ganttz.data.GanttDiagramGraph.IDependenciesEnforcerHookFactory; import org.zkoss.ganttz.data.GanttDiagramGraph.PointType; import org.zkoss.ganttz.data.GanttDiagramGraph.TaskPoint; import org.zkoss.ganttz.data.constraint.Constraint; -import org.zkoss.ganttz.data.constraint.ConstraintOnComparableValues.DateConstraint; import org.zkoss.ganttz.util.LongOperationFeedback; import org.zkoss.ganttz.util.LongOperationFeedback.IBackGroundOperation; import org.zkoss.ganttz.util.LongOperationFeedback.IDesktopUpdate; @@ -246,7 +246,7 @@ public class TemplateModel implements ITemplateModel { if (isContainer(task)) { return Constraint.emptyConstraint(); } - return DateConstraint.biggerOrEqualThan(this.getEndDateFor(task)); + return biggerOrEqualThan(this.getEndDateFor(task)); } @Override @@ -269,7 +269,7 @@ public class TemplateModel implements ITemplateModel { @Override public Constraint getEndDateBiggerThanStartDateConstraintFor( TaskElement task) { - return DateConstraint.biggerOrEqualThan(getStartDate(task)); + return biggerOrEqualThan(getStartDate(task)); } @Override diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/TaskElementAdapter.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/TaskElementAdapter.java index a8525a5fa..32139738b 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/TaskElementAdapter.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/TaskElementAdapter.java @@ -21,6 +21,8 @@ package org.navalplanner.web.planner; import static org.navalplanner.web.I18nHelper._; +import static org.zkoss.ganttz.data.constraint.ConstraintOnComparableValues.biggerOrEqualThan; +import static org.zkoss.ganttz.data.constraint.ConstraintOnComparableValues.equalTo; import java.math.BigDecimal; import java.math.RoundingMode; @@ -75,8 +77,6 @@ import org.zkoss.ganttz.data.GanttDate.CustomDate; import org.zkoss.ganttz.data.GanttDate.LocalDateBased; import org.zkoss.ganttz.data.ITaskFundamentalProperties; import org.zkoss.ganttz.data.constraint.Constraint; -import org.zkoss.ganttz.data.constraint.ConstraintOnComparableValues.DateConstraint; - /** * Responsible of adaptating a {@link TaskElement} into a * {@link ITaskFundamentalProperties}
@@ -110,12 +110,11 @@ public class TaskElementAdapter implements ITaskElementAdapter { case AS_SOON_AS_POSSIBLE: return Collections.emptyList(); case START_IN_FIXED_DATE: - return Collections.singletonList(DateConstraint - .equalTo(asDate(startConstraint.getConstraintDate()))); + return Collections.singletonList(equalTo(asDate(startConstraint + .getConstraintDate()))); case START_NOT_EARLIER_THAN: return Collections - .singletonList(DateConstraint - .biggerOrEqualThan(asDate(startConstraint + .singletonList(biggerOrEqualThan(asDate(startConstraint .getConstraintDate()))); default: throw new RuntimeException("can't handle " + constraintType);