From 517d8a280d2399773ada89fcae41cf066c6bfe62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=93scar=20Gonz=C3=A1lez=20Fern=C3=A1ndez?= Date: Wed, 28 Oct 2009 19:19:51 +0100 Subject: [PATCH] ItEr32S12CUAsignacionGrupoRecursosAPlanificacionItEr31S15: Adding method to coalesce intervals --- .../src/main/java/org/zkoss/ganttz/util/Interval.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/util/Interval.java b/ganttzk/src/main/java/org/zkoss/ganttz/util/Interval.java index b01b69d51..902149bf4 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/util/Interval.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/util/Interval.java @@ -23,8 +23,12 @@ */ package org.zkoss.ganttz.util; +import java.util.Arrays; +import java.util.Collections; import java.util.Date; +import org.apache.commons.lang.Validate; + public class Interval { private final Date start; @@ -79,4 +83,11 @@ public class Interval { private boolean isIncluded(Date date) { return start.compareTo(date) <= 0 && finish.compareTo(date) >= 0; } + + public Interval coalesce(Interval otherInterval) { + Validate.notNull(otherInterval); + return new Interval(Collections.min(Arrays.asList(start, + otherInterval.start)), Collections.max(Arrays.asList(finish, + otherInterval.finish))); + } } \ No newline at end of file