From f811c11bc34268c353f565ceb8dbfadbd423e958 Mon Sep 17 00:00:00 2001 From: cesarvh Date: Wed, 17 Oct 2018 15:08:43 -0700 Subject: [PATCH] HM-5: Added AFTER Month Day Year and AFTER Day Month Year support --- .../services/structureddate/DateUtils.java | 12 ++++++++---- .../src/test/resources/test-dates.yaml | 9 ++++++--- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/services/structureddate/structureddate/src/main/java/org/collectionspace/services/structureddate/DateUtils.java b/services/structureddate/structureddate/src/main/java/org/collectionspace/services/structureddate/DateUtils.java index 36c961373..2adc2d8c8 100644 --- a/services/structureddate/structureddate/src/main/java/org/collectionspace/services/structureddate/DateUtils.java +++ b/services/structureddate/structureddate/src/main/java/org/collectionspace/services/structureddate/DateUtils.java @@ -1,7 +1,5 @@ package org.collectionspace.services.structureddate; -import java.util.Calendar; - import org.joda.time.Chronology; import org.joda.time.DateTime; import org.joda.time.DateTimeConstants; @@ -12,6 +10,7 @@ import org.joda.time.Years; import org.joda.time.chrono.GJChronology; import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormatter; +import org.joda.time.LocalDate; public class DateUtils { private static final DateTimeFormatter monthFormatter = DateTimeFormat.forPattern("MMMM"); @@ -1109,7 +1108,7 @@ public class DateUtils { /** * Calculates the latest date that may be considered to be "after" - * a given date range. + * a given date range. We define "after" as the current date. * * @param startDate The first date in the range * @param endDate The last date in the range @@ -1117,7 +1116,12 @@ public class DateUtils { */ public static Date getLatestAfterDate(Date startDate, Date endDate) { // TODO - return null; + LocalDate localDate = new LocalDate(); + Integer year = (Integer) localDate.getYear(); + Integer month = (Integer) localDate.getMonthOfYear(); + Integer dayOfMonth = (Integer) localDate.getDayOfMonth(); + return new Date(year, month, dayOfMonth, Date.DEFAULT_ERA); + } public static int getYearsBetween(Date startDate, Date endDate) { diff --git a/services/structureddate/structureddate/src/test/resources/test-dates.yaml b/services/structureddate/structureddate/src/test/resources/test-dates.yaml index 53cbbbbaf..f3f0b07b1 100644 --- a/services/structureddate/structureddate/src/test/resources/test-dates.yaml +++ b/services/structureddate/structureddate/src/test/resources/test-dates.yaml @@ -1177,12 +1177,15 @@ latestDate: [2017, 6, 10, CE] - # "after 13 april 1995": - # earliestSingleDate: [1995, 4, 13, CE] - # latestDate: [2018, 10, 17, CE] + "after 13 april 1995": + earliestSingleDate: [1995, 4, 13, CE] + latestDate: [2018, 10, 17, CE] "unknown": earliestSingleDate: [] + "after april 13 1995": + earliestSingleDate: [1995, 4, 13, CE] + latestDate: [2018, 10, 17, CE] # ------------------------------------------------------------------------------------------------------- -- 2.47.3