Use generic methods instead of methods for Dates
FEA: ItEr61S08TimeUnitConfigurablePlanning
This commit is contained in:
parent
3243858c41
commit
a96e67b2f1
8 changed files with 39 additions and 39 deletions
|
|
@ -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<T> implements IDisabilityConfiguration {
|
|||
public static List<Constraint<Date>> getStartConstraintsGiven(
|
||||
Date notBeforeThan) {
|
||||
if (notBeforeThan != null) {
|
||||
return Collections.singletonList(DateConstraint
|
||||
.biggerOrEqualThan(notBeforeThan));
|
||||
return Collections.singletonList(biggerOrEqualThan(notBeforeThan));
|
||||
} else {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 <V> Constraint<Date> biggerThanTaskEndDate(
|
||||
IAdapter<V, ?> adapter, V source) {
|
||||
return DateConstraint.biggerOrEqualThan(adapter.getEndDateFor(source));
|
||||
return biggerOrEqualThan(adapter.getEndDateFor(source));
|
||||
}
|
||||
|
||||
protected <V> Constraint<Date> biggerThanTaskStartDate(
|
||||
IAdapter<V, ?> adapter, V source) {
|
||||
return DateConstraint.biggerOrEqualThan(adapter.getStartDate(source));
|
||||
return biggerOrEqualThan(adapter.getStartDate(source));
|
||||
}
|
||||
|
||||
private static Date getBigger(Date date1, Date date2) {
|
||||
|
|
|
|||
|
|
@ -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<Date> getEndDateBiggerThanStartDate() {
|
||||
return violationNotificator.withListener(DateConstraint
|
||||
.biggerOrEqualThan(getBeginDate().toDateApproximation()));
|
||||
return violationNotificator
|
||||
.withListener(biggerOrEqualThan(getBeginDate()
|
||||
.toDateApproximation()));
|
||||
}
|
||||
|
||||
public String getNotes() {
|
||||
|
|
|
|||
|
|
@ -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<T extends Comparable<T>> extends
|
||||
Constraint<T> {
|
||||
|
||||
public static class DateConstraint {
|
||||
|
||||
public static Constraint<Date> biggerOrEqualThan(Date date) {
|
||||
return instantiate(ComparisonType.BIGGER_OR_EQUAL_THAN, date);
|
||||
}
|
||||
|
||||
public static Constraint<Date> equalTo(Date date) {
|
||||
return instantiate(ComparisonType.EQUAL_TO, date);
|
||||
}
|
||||
public static <T extends Comparable<T>> Constraint<T> biggerOrEqualThan(
|
||||
T value) {
|
||||
return instantiate(ComparisonType.BIGGER_OR_EQUAL_THAN, value);
|
||||
}
|
||||
|
||||
public static <T extends Comparable<T>> Constraint<T> equalTo(T value) {
|
||||
return instantiate(ComparisonType.EQUAL_TO, value);
|
||||
}
|
||||
|
||||
private static <T extends Comparable<T>> Constraint<T> instantiate(
|
||||
|
|
|
|||
|
|
@ -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<Date> biggerOrEqualThanNow = DateConstraint
|
||||
.biggerOrEqualThan(now);
|
||||
private Constraint<Date> biggerOrEqualThanNow = biggerOrEqualThan(now);
|
||||
|
||||
private Constraint<Date> equalToNow = DateConstraint.equalTo(now);
|
||||
private Constraint<Date> equalToNow = ConstraintOnComparableValues
|
||||
.<Date> equalTo(now);
|
||||
|
||||
@Test
|
||||
public void canCreateConstraintBiggerThan() {
|
||||
|
|
@ -44,7 +44,7 @@ public class ConstraintOnComparableValuesTest {
|
|||
|
||||
@Test
|
||||
public void biggerOrEqualThanNullLeaveValuesUnmodified() {
|
||||
Constraint<Date> biggerThanNull = DateConstraint.biggerOrEqualThan(null);
|
||||
Constraint<Date> 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<Date> equalToNull = DateConstraint.equalTo(null);
|
||||
Constraint<Date> equalToNull = ConstraintOnComparableValues
|
||||
.<Date> equalTo(null);
|
||||
Date value = new Date(now.getTime() + 1000);
|
||||
assertThat(equalToNull.applyTo(value), equalTo(value));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<Date> constraint = DateConstraint.biggerOrEqualThan(date
|
||||
Constraint<Date> 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<Date> constraint = DateConstraint.equalTo(date
|
||||
Constraint<Date> constraint = ConstraintOnComparableValues.equalTo(date
|
||||
.toDateTimeAtStartOfDay().toDate());
|
||||
expect(result.getStartConstraints()).andReturn(
|
||||
Arrays.asList(constraint)).anyTimes();
|
||||
|
|
|
|||
|
|
@ -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<Date> getEndDateBiggerThanStartDateConstraintFor(
|
||||
TaskElement task) {
|
||||
return DateConstraint.biggerOrEqualThan(getStartDate(task));
|
||||
return biggerOrEqualThan(getStartDate(task));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -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} <br />
|
||||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue