From f1f79c5e82a9dbf57de2ddb68661df5ad2397c78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Sat, 11 Dec 2010 21:46:11 +0100 Subject: [PATCH] Make the type of the constraint depend on the type of the scheduling done FEA: ItEr64OTS03PlanificacionHaciaAtras --- .../java/org/zkoss/ganttz/data/GanttDiagramGraph.java | 11 ++++++----- .../data/constraint/ConstraintOnComparableValues.java | 4 +++- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/data/GanttDiagramGraph.java b/ganttzk/src/main/java/org/zkoss/ganttz/data/GanttDiagramGraph.java index 5df354dc6..5c7c27033 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/data/GanttDiagramGraph.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/data/GanttDiagramGraph.java @@ -1058,14 +1058,15 @@ public class GanttDiagramGraph> implements } DatesBasedPositionRestrictions biggerThan(GanttDate start, GanttDate end) { - return new DatesBasedPositionRestrictions( - ComparisonType.BIGGER_OR_EQUAL_THAN, start, end); + ComparisonType type = scheduleBackwards ? ComparisonType.BIGGER_OR_EQUAL_THAN_LEFT_FLOATING + : ComparisonType.BIGGER_OR_EQUAL_THAN; + return new DatesBasedPositionRestrictions(type, start, end); } DatesBasedPositionRestrictions lessThan(GanttDate start, GanttDate end) { - return new DatesBasedPositionRestrictions( - ComparisonType.LESS_OR_EQUAL_THAN_RIGHT_FLOATING, start, - end); + ComparisonType type = scheduleBackwards ? ComparisonType.LESS_OR_EQUAL_THAN_RIGHT_FLOATING + : ComparisonType.LESS_OR_EQUAL_THAN; + return new DatesBasedPositionRestrictions(type, start, end); } class DatesBasedPositionRestrictions extends PositionRestrictions { 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 23928ab07..a5d5d81dd 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 @@ -54,7 +54,7 @@ public class ConstraintOnComparableValues> extends } public enum ComparisonType { - LESS_OR_EQUAL_THAN, LESS_OR_EQUAL_THAN_RIGHT_FLOATING, BIGGER_OR_EQUAL_THAN, EQUAL_TO; + LESS_OR_EQUAL_THAN, LESS_OR_EQUAL_THAN_RIGHT_FLOATING, BIGGER_OR_EQUAL_THAN, BIGGER_OR_EQUAL_THAN_LEFT_FLOATING, EQUAL_TO; } private final T comparisonValue; @@ -76,6 +76,7 @@ public class ConstraintOnComparableValues> extends case LESS_OR_EQUAL_THAN: return min(comparisonValue, value); case LESS_OR_EQUAL_THAN_RIGHT_FLOATING: + case BIGGER_OR_EQUAL_THAN_LEFT_FLOATING: return comparisonValue; case BIGGER_OR_EQUAL_THAN: return max(comparisonValue, value); @@ -101,6 +102,7 @@ public class ConstraintOnComparableValues> extends case LESS_OR_EQUAL_THAN_RIGHT_FLOATING: return value.compareTo(comparisonValue) <= 0; case BIGGER_OR_EQUAL_THAN: + case BIGGER_OR_EQUAL_THAN_LEFT_FLOATING: return value.compareTo(comparisonValue) >= 0; case EQUAL_TO: return value.compareTo(comparisonValue) == 0;