|
From: <ma...@us...> - 2006-09-02 10:04:00
|
Revision: 77
http://svn.sourceforge.net/objectlabkit/?rev=77&view=rev
Author: marchy
Date: 2006-09-02 03:03:30 -0700 (Sat, 02 Sep 2006)
Log Message:
-----------
added a CalendarPeriodCount calculator, and moved some constants to the interface
Modified Paths:
--------------
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DefaultDateCalculatorFactory.java
trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/ForwardDateCalculatorTest.java
Added Paths:
-----------
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarPeriodCountCalculator.java
Added: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarPeriodCountCalculator.java
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarPeriodCountCalculator.java (rev 0)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarPeriodCountCalculator.java 2006-09-02 10:03:30 UTC (rev 77)
@@ -0,0 +1,123 @@
+/*
+ * $Id:$
+ *
+ * Copyright 2006 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package net.objectlab.kit.datecalc.jdk;
+
+import java.util.Calendar;
+
+import net.objectlab.kit.datecalc.common.PeriodCountBasis;
+import net.objectlab.kit.datecalc.common.PeriodCountCalculator;
+
+/**
+ * TODO javadoc
+ *
+ * @author Marcin Jekot
+ * @author $LastChangedBy$
+ * @version $Revision$ $Date$
+ *
+ */
+public class CalendarPeriodCountCalculator implements PeriodCountCalculator<Calendar> {
+
+ public int dayDiff(final Calendar start, final Calendar end, final PeriodCountBasis basis) {
+
+ int diff = 0;
+
+ if (basis == PeriodCountBasis.CONV_30_360) {
+ int dayStart = start.get(Calendar.DAY_OF_MONTH);
+ int dayEnd = end.get(Calendar.DAY_OF_MONTH);
+ if (dayEnd == MONTH_31_DAYS && dayStart >= MONTH_30_DAYS) {
+ dayEnd = MONTH_30_DAYS;
+ }
+ if (dayStart == MONTH_31_DAYS) {
+ dayStart = MONTH_30_DAYS;
+ }
+ diff = (end.get(Calendar.YEAR) - start.get(Calendar.YEAR)) * YEAR_360 + (end.get(Calendar.MONTH) - start.get(Calendar.MONTH)) * MONTH_30_DAYS
+ + dayEnd - dayStart;
+
+ } else if (basis == PeriodCountBasis.CONV_360E_ISDA) {
+ int dayStart = start.get(Calendar.DAY_OF_MONTH);
+ int dayEnd = end.get(Calendar.DAY_OF_MONTH);
+ final int monthStart = start.get(Calendar.MONTH);
+ if ((monthStart == 2 && start.getActualMaximum(Calendar.DAY_OF_MONTH) == dayStart) || dayEnd == MONTH_31_DAYS) {
+ dayEnd = MONTH_30_DAYS;
+ }
+ if (dayStart == MONTH_31_DAYS) {
+ dayStart = MONTH_30_DAYS;
+ }
+
+ diff = (end.get(Calendar.YEAR) - start.get(Calendar.YEAR)) * YEAR_360 + (end.get(Calendar.MONTH) - start.get(Calendar.MONTH)) * MONTH_30_DAYS
+ + dayEnd - dayStart;
+
+ } else if (basis == PeriodCountBasis.CONV_360E_ISMA) {
+ int dayStart = start.get(Calendar.DAY_OF_MONTH);
+ int dayEnd = end.get(Calendar.DAY_OF_MONTH);
+ if (dayEnd == MONTH_31_DAYS) {
+ dayEnd = MONTH_30_DAYS;
+ }
+ if (dayStart == MONTH_31_DAYS) {
+ dayStart = MONTH_30_DAYS;
+ }
+ diff = (end.get(Calendar.YEAR) - start.get(Calendar.YEAR)) * YEAR_360 + (end.get(Calendar.MONTH) - start.get(Calendar.MONTH)) * MONTH_30_DAYS
+ + dayEnd - dayStart;
+ } else {
+ // TODO implement this
+ diff = 0;
+// final Period p = new Period(start, end, PeriodType.days());
+// diff = p.getDays();
+ }
+ return diff;
+ }
+
+ public double monthDiff(final Calendar start, final Calendar end, final PeriodCountBasis basis) {
+ return yearDiff(start, end, basis) * MONTHS_IN_YEAR;
+ }
+
+ public double yearDiff(final Calendar start, final Calendar end, final PeriodCountBasis basis) {
+ double diff = 0.0;
+ if (basis == PeriodCountBasis.ACT_ACT) {
+ final int startYear = start.get(Calendar.YEAR);
+ final int endYear = end.get(Calendar.YEAR);
+ if (startYear != endYear) {
+ final Calendar endOfStartYear = (Calendar) start.clone();
+ endOfStartYear.set(Calendar.DAY_OF_YEAR, endOfStartYear.getActualMaximum(Calendar.DAY_OF_YEAR));
+ final Calendar startOfEndYear = (Calendar) end.clone();
+ startOfEndYear.set(Calendar.DAY_OF_YEAR, startOfEndYear.getActualMinimum(Calendar.DAY_OF_YEAR));
+
+ Calendar c1 = Calendar.getInstance();
+ c1.clone();
+
+ // TODO implement this
+ diff = 0;
+// final int diff1 = new Period(start, endOfStartYear, PeriodType.days()).getDays();
+// final int diff2 = new Period(startOfEndYear, end, PeriodType.days()).getDays();
+// diff = (diff1 + 1.0) / start.dayOfYear().getMaximumValue() + (endYear - startYear - 1.0) + (diff2)
+// / (double) end.dayOfYear().getMaximumValue();
+ }
+
+ } else if (basis == PeriodCountBasis.CONV_30_360 || basis == PeriodCountBasis.CONV_360E_ISDA
+ || basis == PeriodCountBasis.CONV_360E_ISMA || basis == PeriodCountBasis.ACT_360) {
+ diff = (dayDiff(start, end, basis)) / YEAR_360_0;
+
+ } else if (basis == PeriodCountBasis.ACT_365 || basis == PeriodCountBasis.END_365) {
+ diff = (dayDiff(start, end, basis)) / YEAR_365_0;
+ } else {
+ throw new UnsupportedOperationException("Sorry no ACT_UST yet");
+ }
+ return diff;
+ }
+
+}
Modified: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DefaultDateCalculatorFactory.java
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DefaultDateCalculatorFactory.java 2006-09-02 10:03:11 UTC (rev 76)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DefaultDateCalculatorFactory.java 2006-09-02 10:03:30 UTC (rev 77)
@@ -62,7 +62,9 @@
cal.setNonWorkingDays(holidays.get(name));
}
- if (HolidayHandlerType.FORWARD.equals(holidayHandlerType)) {
+ if (holidayHandlerType == null) {
+ return cal;
+ } else if (HolidayHandlerType.FORWARD.equals(holidayHandlerType)) {
cal.setHolidayHandler(new ForwardHandler());
} else if (HolidayHandlerType.BACKWARD.equals(holidayHandlerType)) {
cal.setHolidayHandler(new BackwardHandler());
Modified: trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/ForwardDateCalculatorTest.java
===================================================================
--- trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/ForwardDateCalculatorTest.java 2006-09-02 10:03:11 UTC (rev 76)
+++ trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/ForwardDateCalculatorTest.java 2006-09-02 10:03:30 UTC (rev 77)
@@ -93,14 +93,14 @@
Assert.assertEquals("Name", "bla", cal.getName());
Assert.assertEquals("Holidays size", 0, cal.getNonWorkingDays().size());
- final WorkingWeek ww = new WorkingWeek();
- ww.withWorkingDayFromCalendar(false, Calendar.MONDAY);
- ww.withWorkingDayFromCalendar(true, Calendar.TUESDAY);
- ww.withWorkingDayFromCalendar(false, Calendar.WEDNESDAY);
- ww.withWorkingDayFromCalendar(true, Calendar.THURSDAY);
- ww.withWorkingDayFromCalendar(false, Calendar.FRIDAY);
- ww.withWorkingDayFromCalendar(true, Calendar.SATURDAY);
- ww.withWorkingDayFromCalendar(false, Calendar.SUNDAY);
+ final WorkingWeek ww = new WorkingWeek()
+ .withWorkingDayFromCalendar(false, Calendar.MONDAY)
+ .withWorkingDayFromCalendar(true, Calendar.TUESDAY)
+ .withWorkingDayFromCalendar(false, Calendar.WEDNESDAY)
+ .withWorkingDayFromCalendar(true, Calendar.THURSDAY)
+ .withWorkingDayFromCalendar(false, Calendar.FRIDAY)
+ .withWorkingDayFromCalendar(true, Calendar.SATURDAY)
+ .withWorkingDayFromCalendar(false, Calendar.SUNDAY);
cal.setWorkingWeek(ww);
cal.setStartDate(createDate("2006-07-31")); // start date Monday
@@ -131,14 +131,14 @@
Assert.assertEquals("Name", "bla", cal.getName());
Assert.assertEquals("Holidays size", 0, cal.getNonWorkingDays().size());
- final WorkingWeek ww = new WorkingWeek();
- ww.withWorkingDayFromCalendar(false, Calendar.MONDAY);
- ww.withWorkingDayFromCalendar(true, Calendar.TUESDAY);
- ww.withWorkingDayFromCalendar(true, Calendar.WEDNESDAY);
- ww.withWorkingDayFromCalendar(true, Calendar.THURSDAY);
- ww.withWorkingDayFromCalendar(true, Calendar.FRIDAY);
- ww.withWorkingDayFromCalendar(false, Calendar.SATURDAY);
- ww.withWorkingDayFromCalendar(false, Calendar.SUNDAY);
+ final WorkingWeek ww = new WorkingWeek()
+ .withWorkingDayFromCalendar(false, Calendar.MONDAY)
+ .withWorkingDayFromCalendar(true, Calendar.TUESDAY)
+ .withWorkingDayFromCalendar(true, Calendar.WEDNESDAY)
+ .withWorkingDayFromCalendar(true, Calendar.THURSDAY)
+ .withWorkingDayFromCalendar(true, Calendar.FRIDAY)
+ .withWorkingDayFromCalendar(false, Calendar.SATURDAY)
+ .withWorkingDayFromCalendar(false, Calendar.SUNDAY);
cal.setWorkingWeek(ww);
cal.setStartDate(createDate("2006-07-31")); // start date Monday
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ma...@us...> - 2006-09-03 09:57:06
|
Revision: 82
http://svn.sourceforge.net/objectlabkit/?rev=82&view=rev
Author: marchy
Date: 2006-09-03 02:56:09 -0700 (Sun, 03 Sep 2006)
Log Message:
-----------
Refactoring so that client code doesn't have to use generics, unfortunately a lot of extra work has to be done - the implementation classes have to redefine some methods - for example JdkDateCalculator.moveByDays(..), in fact any method which returns the new non-generic interface
Modified Paths:
--------------
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DatePeriodCountCalculator.java
trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/DateCalculatorCombinationTest.java
trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/DateCalculatorFactoryTest.java
trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/ForwardDateCalculatorTest.java
trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/IMMDateTest.java
trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/PeriodCountCalculatorTest.java
Added Paths:
-----------
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateCalculator.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DefaultJdkDateCalculatorFactory.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/JdkDateBaseDateCalculator.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/JdkDateCalculator.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/JdkDateCalculatorFactory.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/JdkDatePeriodCountCalculator.java
Removed Paths:
-------------
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/BaseDateCalculator.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DefaultDateCalculatorFactory.java
Deleted: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/BaseDateCalculator.java
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/BaseDateCalculator.java 2006-09-02 22:33:20 UTC (rev 81)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/BaseDateCalculator.java 2006-09-03 09:56:09 UTC (rev 82)
@@ -1,175 +0,0 @@
-/*
- * $Id$
- *
- * Copyright 2006 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package net.objectlab.kit.datecalc.jdk;
-
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-import java.util.Set;
-
-import net.objectlab.kit.datecalc.common.AbstractDateCalculator;
-import net.objectlab.kit.datecalc.common.DateCalculator;
-import net.objectlab.kit.datecalc.common.HolidayHandler;
-import net.objectlab.kit.datecalc.common.WorkingWeek;
-
-/**
- * This class is used via the DateCalculator interface, it enables the handling
- * of different HolidayHandler, if no HolidayHandler is defined, the calendar
- * will NOT move a date, even if it falls on a holiday or weekend.
- *
- * @author Marcin Jekot
- * @author $LastModifiedBy$
- * @version $Revision$ $Date$
- */
-public class BaseDateCalculator extends AbstractDateCalculator<Date> {
-
- private WorkingWeek workingWeek = WorkingWeek.DEFAULT;
-
- @SuppressWarnings("unchecked")
- public BaseDateCalculator() {
- this(null, null, Collections.EMPTY_SET, null);
- }
-
- public BaseDateCalculator(final String name, final Date startDate, final Set<Date> nonWorkingDays,
- final HolidayHandler<Date> holidayHandler) {
- super(name, nonWorkingDays, holidayHandler);
- setStartDate(startDate);
- }
-
- public void setWorkingWeek(final WorkingWeek week) {
- workingWeek = week;
- }
-
- /**
- * is the date a non-working day according to the WorkingWeek?
- */
- public boolean isWeekend(final Date date) {
- assert workingWeek != null;
- return !workingWeek.isWorkingDay(date);
- }
-
- public DateCalculator<Date> moveByDays(final int days) {
- if (getCurrentBusinessDate() == null) {
- initialise();
- }
-
- final Calendar cal = Utils.getCal(getCurrentBusinessDate());
- cal.add(Calendar.DAY_OF_MONTH, days);
- setCurrentBusinessDate(cal.getTime());
-
- return this;
- }
-
- private void initialise() {
- if (getStartDate() == null) {
- setStartDate(new Date());
- } else if (getCurrentBusinessDate() == null) {
- setCurrentBusinessDate(new Date());
- }
- }
-
- @Override
- protected DateCalculator<Date> createNewCalcultaor(final String name, final Date startDate, final Set<Date> holidays,
- final HolidayHandler<Date> handler) {
- return new BaseDateCalculator(name, startDate, holidays, handler);
- }
-
- /**
- * Calculates IMMDates between a start and end dates the 3rd wednesday of
- * Mar/Jun/Sep/Dec when a lot of derivative contracts expire
- *
- * @return a List of Dates
- */
- public List<Date> getIMMDates(final Date start, final Date end) {
-
- final List<Date> dates = new ArrayList<Date>();
- Date date = start;
- while (true) {
- date = getNextIMMDate(true, date);
- if (!date.after(end)) {
- dates.add(date);
- } else {
- break;
- }
- }
-
- return dates;
- }
-
- @Override
- protected Date getNextIMMDate(final boolean forward, final Date startDate) {
-
- final Calendar cal = Utils.getCal(startDate);
-
- if (isIMMMonth(cal)) {
- moveToIMMDay(cal);
- // TODO simplify this if condition
-// if (forward ^ cal.getTime().before(startDate) || cal.getTime().equals(startDate)) {
- if ((forward && cal.getTime().after(startDate)) || (!forward && cal.getTime().before(startDate))) {
- return cal.getTime();
- }
- }
-
- final int delta = (forward ? 1 : -1);
- do {
- cal.add(Calendar.MONTH, delta);
- } while (!isIMMMonth(cal));
-
- moveToIMMDay(cal);
- return cal.getTime();
- }
-
- private boolean isIMMMonth(final Calendar cal) {
- final int month = cal.get(Calendar.MONTH);
-
- switch (month) {
- case Calendar.MARCH:
- case Calendar.JUNE:
- case Calendar.SEPTEMBER:
- case Calendar.DECEMBER:
- return true;
- }
-
- return false;
- }
-
- /**
- * Assumes that the month is correct, get the day for the 3rd wednesday.
- *
- * @param first
- * @return
- */
- private void moveToIMMDay(final Calendar cal) {
- cal.set(Calendar.DAY_OF_MONTH, 1);
-
- // go to 1st wed
- final int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
- if (dayOfWeek < Calendar.WEDNESDAY) {
- cal.add(Calendar.DAY_OF_MONTH, Calendar.WEDNESDAY - dayOfWeek);
- } else if (dayOfWeek == Calendar.WEDNESDAY) {
- // do nothing
- } else {
- cal.add(Calendar.DAY_OF_MONTH, (Calendar.WEDNESDAY + 7) - dayOfWeek);
- }
-
- // go to 3rd wednesday - i.e. move 2 weeks forward
- cal.add(Calendar.DAY_OF_MONTH, 7 * 2);
- }
-}
Added: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateCalculator.java
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateCalculator.java (rev 0)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateCalculator.java 2006-09-03 09:56:09 UTC (rev 82)
@@ -0,0 +1,5 @@
+package net.objectlab.kit.datecalc.jdk;
+
+public interface DateCalculator {
+
+}
\ No newline at end of file
Modified: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DatePeriodCountCalculator.java
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DatePeriodCountCalculator.java 2006-09-02 22:33:20 UTC (rev 81)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DatePeriodCountCalculator.java 2006-09-03 09:56:09 UTC (rev 82)
@@ -20,7 +20,6 @@
import java.util.Date;
import net.objectlab.kit.datecalc.common.PeriodCountBasis;
-import net.objectlab.kit.datecalc.common.PeriodCountCalculator;
/**
* TODO javadoc
@@ -30,7 +29,7 @@
* @version $Revision$ $Date$
*
*/
-public class DatePeriodCountCalculator implements PeriodCountCalculator<Date> {
+public class DatePeriodCountCalculator implements JdkDatePeriodCountCalculator {
private final CalendarPeriodCountCalculator PCC = new CalendarPeriodCountCalculator();
Deleted: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DefaultDateCalculatorFactory.java
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DefaultDateCalculatorFactory.java 2006-09-02 22:33:20 UTC (rev 81)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DefaultDateCalculatorFactory.java 2006-09-03 09:56:09 UTC (rev 82)
@@ -1,86 +0,0 @@
-/*
- * $Id$
- *
- * Copyright 2006 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package net.objectlab.kit.datecalc.jdk;
-
-import java.util.Date;
-
-import net.objectlab.kit.datecalc.common.AbstractDateCalculatorFactory;
-import net.objectlab.kit.datecalc.common.DateCalculator;
-import net.objectlab.kit.datecalc.common.DateCalculatorFactory;
-import net.objectlab.kit.datecalc.common.HolidayHandlerType;
-import net.objectlab.kit.datecalc.common.PeriodCountCalculator;
-
-/**
- * TODO add javadoc
- *
- * @author Benoit Xhenseval
- * @author $LastChangedBy$
- * @version $Revision$ $Date$
- *
- */
-public class DefaultDateCalculatorFactory extends AbstractDateCalculatorFactory<Date>
- implements DateCalculatorFactory<Date> {
-
- private static final DateCalculatorFactory<Date> DEFAULT = new DefaultDateCalculatorFactory();
-
- private static final PeriodCountCalculator<Date> PCC = new DatePeriodCountCalculator();
-
- public static DateCalculatorFactory<Date> getDefaultInstance() {
- return DEFAULT;
- }
-
- /**
- * Create a new DateCalculator for a given name and type of handling.
- *
- * @param name
- * calendar name (holidays set interested in). If there is set of
- * holidays with that name, it will return a DateCalculator with
- * an empty holiday set (will work on Weekend only).
- * @param type
- * typically one of the value of HolidayHandlerType
- * @return a new DateCalculator
- */
- public DateCalculator<Date> getDateCalculator(final String name, final String holidayHandlerType) {
- final BaseDateCalculator cal = new BaseDateCalculator();
- cal.setName(name);
- if (holidays.containsKey(name)) {
- cal.setNonWorkingDays(holidays.get(name));
- }
-
- if (holidayHandlerType == null) {
- return cal;
- } else if (HolidayHandlerType.FORWARD.equals(holidayHandlerType)) {
- cal.setHolidayHandler(new ForwardHandler());
- } else if (HolidayHandlerType.BACKWARD.equals(holidayHandlerType)) {
- cal.setHolidayHandler(new BackwardHandler());
- } else if (HolidayHandlerType.MODIFIED_FOLLLOWING.equals(holidayHandlerType)) {
- cal.setHolidayHandler(new ModifiedFollowingHandler());
- } else if (HolidayHandlerType.MODIFIED_PRECEEDING.equals(holidayHandlerType)) {
- cal.setHolidayHandler(new ModifiedPreceedingHandler());
- } else {
- throw new UnsupportedOperationException("Unsupported HolidayHandler: " + holidayHandlerType);
- }
-
- return cal;
- }
-
- public PeriodCountCalculator<Date> getPeriodCountCalculator() {
- return PCC;
- }
-
-}
Copied: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DefaultJdkDateCalculatorFactory.java (from rev 81, trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DefaultDateCalculatorFactory.java)
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DefaultJdkDateCalculatorFactory.java (rev 0)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DefaultJdkDateCalculatorFactory.java 2006-09-03 09:56:09 UTC (rev 82)
@@ -0,0 +1,78 @@
+/*
+ * $Id$
+ *
+ * Copyright 2006 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package net.objectlab.kit.datecalc.jdk;
+
+import java.util.Date;
+
+import net.objectlab.kit.datecalc.common.AbstractDateCalculatorFactory;
+import net.objectlab.kit.datecalc.common.HolidayHandlerType;
+
+/**
+ * TODO add javadoc
+ *
+ * @author Benoit Xhenseval
+ * @author $LastChangedBy$
+ * @version $Revision$ $Date$
+ *
+ */
+public class DefaultJdkDateCalculatorFactory extends AbstractDateCalculatorFactory<Date>
+ implements JdkDateCalculatorFactory {
+
+ private static final JdkDateCalculatorFactory DEFAULT = new DefaultJdkDateCalculatorFactory();
+
+ private static final JdkDatePeriodCountCalculator PCC = new DatePeriodCountCalculator();
+
+ public static JdkDateCalculatorFactory getDefaultInstance() {
+ return DEFAULT;
+ }
+
+ /* (non-Javadoc)
+ * @see net.objectlab.kit.datecalc.jdk.JdkDateCalculatorFactory#getDateCalculator(java.lang.String, java.lang.String)
+ */
+ public JdkDateCalculator getDateCalculator(final String name, final String holidayHandlerType) {
+ final JdkDateBaseDateCalculator cal = new JdkDateBaseDateCalculator();
+ cal.setName(name);
+ if (holidays.containsKey(name)) {
+ cal.setNonWorkingDays(holidays.get(name));
+ }
+
+ if (holidayHandlerType == null) {
+ return cal;
+ } else if (HolidayHandlerType.FORWARD.equals(holidayHandlerType)) {
+ cal.setHolidayHandler(new ForwardHandler());
+ } else if (HolidayHandlerType.BACKWARD.equals(holidayHandlerType)) {
+ cal.setHolidayHandler(new BackwardHandler());
+ } else if (HolidayHandlerType.MODIFIED_FOLLLOWING.equals(holidayHandlerType)) {
+ cal.setHolidayHandler(new ModifiedFollowingHandler());
+ } else if (HolidayHandlerType.MODIFIED_PRECEEDING.equals(holidayHandlerType)) {
+ cal.setHolidayHandler(new ModifiedPreceedingHandler());
+ } else {
+ throw new UnsupportedOperationException("Unsupported HolidayHandler: " + holidayHandlerType);
+ }
+
+ return cal;
+ }
+
+ /* (non-Javadoc)
+ * @see net.objectlab.kit.datecalc.jdk.JdkDateCalculatorFactory#getPeriodCountCalculator()
+ */
+ public JdkDatePeriodCountCalculator getPeriodCountCalculator() {
+ return PCC;
+ }
+
+}
Copied: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/JdkDateBaseDateCalculator.java (from rev 81, trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/BaseDateCalculator.java)
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/JdkDateBaseDateCalculator.java (rev 0)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/JdkDateBaseDateCalculator.java 2006-09-03 09:56:09 UTC (rev 82)
@@ -0,0 +1,194 @@
+/*
+ * $Id$
+ *
+ * Copyright 2006 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package net.objectlab.kit.datecalc.jdk;
+
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+import java.util.Set;
+
+import net.objectlab.kit.datecalc.common.AbstractDateCalculator;
+import net.objectlab.kit.datecalc.common.DateCalculator;
+import net.objectlab.kit.datecalc.common.HolidayHandler;
+import net.objectlab.kit.datecalc.common.Tenor;
+import net.objectlab.kit.datecalc.common.WorkingWeek;
+
+/**
+ * This class is used via the DateCalculator interface, it enables the handling
+ * of different HolidayHandler, if no HolidayHandler is defined, the calendar
+ * will NOT move a date, even if it falls on a holiday or weekend.
+ *
+ * @author Marcin Jekot
+ * @author $LastModifiedBy$
+ * @version $Revision$ $Date$
+ */
+public class JdkDateBaseDateCalculator extends AbstractDateCalculator<Date> implements JdkDateCalculator {
+
+ private WorkingWeek workingWeek = WorkingWeek.DEFAULT;
+
+ @SuppressWarnings("unchecked")
+ public JdkDateBaseDateCalculator() {
+ this(null, null, Collections.EMPTY_SET, null);
+ }
+
+ public JdkDateBaseDateCalculator(final String name, final Date startDate, final Set<Date> nonWorkingDays,
+ final HolidayHandler<Date> holidayHandler) {
+ super(name, nonWorkingDays, holidayHandler);
+ setStartDate(startDate);
+ }
+
+ public void setWorkingWeek(final WorkingWeek week) {
+ workingWeek = week;
+ }
+
+ /**
+ * is the date a non-working day according to the WorkingWeek?
+ */
+ public boolean isWeekend(final Date date) {
+ assert workingWeek != null;
+ return !workingWeek.isWorkingDay(date);
+ }
+
+ public JdkDateCalculator moveByDays(final int days) {
+ if (getCurrentBusinessDate() == null) {
+ initialise();
+ }
+
+ final Calendar cal = Utils.getCal(getCurrentBusinessDate());
+ cal.add(Calendar.DAY_OF_MONTH, days);
+ setCurrentBusinessDate(cal.getTime());
+
+ return this;
+ }
+
+ private void initialise() {
+ if (getStartDate() == null) {
+ setStartDate(new Date());
+ } else if (getCurrentBusinessDate() == null) {
+ setCurrentBusinessDate(new Date());
+ }
+ }
+
+ @Override
+ protected DateCalculator<Date> createNewCalcultaor(final String name, final Date startDate, final Set<Date> holidays,
+ final HolidayHandler<Date> handler) {
+ return new JdkDateBaseDateCalculator(name, startDate, holidays, handler);
+ }
+
+ /**
+ * Calculates IMMDates between a start and end dates the 3rd wednesday of
+ * Mar/Jun/Sep/Dec when a lot of derivative contracts expire
+ *
+ * @return a List of Dates
+ */
+ public List<Date> getIMMDates(final Date start, final Date end) {
+
+ final List<Date> dates = new ArrayList<Date>();
+ Date date = start;
+ while (true) {
+ date = getNextIMMDate(true, date);
+ if (!date.after(end)) {
+ dates.add(date);
+ } else {
+ break;
+ }
+ }
+
+ return dates;
+ }
+
+ @Override
+ protected Date getNextIMMDate(final boolean forward, final Date startDate) {
+
+ final Calendar cal = Utils.getCal(startDate);
+
+ if (isIMMMonth(cal)) {
+ moveToIMMDay(cal);
+ // TODO simplify this if condition
+// if (forward ^ cal.getTime().before(startDate) || cal.getTime().equals(startDate)) {
+ if ((forward && cal.getTime().after(startDate)) || (!forward && cal.getTime().before(startDate))) {
+ return cal.getTime();
+ }
+ }
+
+ final int delta = (forward ? 1 : -1);
+ do {
+ cal.add(Calendar.MONTH, delta);
+ } while (!isIMMMonth(cal));
+
+ moveToIMMDay(cal);
+ return cal.getTime();
+ }
+
+ private boolean isIMMMonth(final Calendar cal) {
+ final int month = cal.get(Calendar.MONTH);
+
+ switch (month) {
+ case Calendar.MARCH:
+ case Calendar.JUNE:
+ case Calendar.SEPTEMBER:
+ case Calendar.DECEMBER:
+ return true;
+ }
+
+ return false;
+ }
+
+ /**
+ * Assumes that the month is correct, get the day for the 3rd wednesday.
+ *
+ * @param first
+ * @return
+ */
+ private void moveToIMMDay(final Calendar cal) {
+ cal.set(Calendar.DAY_OF_MONTH, 1);
+
+ // go to 1st wed
+ final int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
+ if (dayOfWeek < Calendar.WEDNESDAY) {
+ cal.add(Calendar.DAY_OF_MONTH, Calendar.WEDNESDAY - dayOfWeek);
+ } else if (dayOfWeek == Calendar.WEDNESDAY) {
+ // do nothing
+ } else {
+ cal.add(Calendar.DAY_OF_MONTH, (Calendar.WEDNESDAY + 7) - dayOfWeek);
+ }
+
+ // go to 3rd wednesday - i.e. move 2 weeks forward
+ cal.add(Calendar.DAY_OF_MONTH, 7 * 2);
+ }
+
+ @Override
+ public JdkDateCalculator combine(DateCalculator<Date> calendar) {
+ return (JdkDateCalculator) super.combine(calendar);
+ }
+
+ @Override
+ public JdkDateCalculator moveByTenor(Tenor tenor) {
+ return (JdkDateCalculator) super.moveByTenor(tenor);
+ }
+
+ @Override
+ public JdkDateCalculator moveByBusinessDays(int businessDays) {
+ return (JdkDateCalculator) super.moveByBusinessDays(businessDays);
+ }
+
+
+
+}
Added: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/JdkDateCalculator.java
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/JdkDateCalculator.java (rev 0)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/JdkDateCalculator.java 2006-09-03 09:56:09 UTC (rev 82)
@@ -0,0 +1,18 @@
+package net.objectlab.kit.datecalc.jdk;
+
+import java.util.Date;
+
+import net.objectlab.kit.datecalc.common.DateCalculator;
+import net.objectlab.kit.datecalc.common.Tenor;
+
+public interface JdkDateCalculator extends DateCalculator<Date> {
+
+ JdkDateCalculator moveByDays(final int days);
+
+ JdkDateCalculator moveByBusinessDays(final int businessDays);
+
+ JdkDateCalculator combine(DateCalculator<Date> calendar);
+
+ JdkDateCalculator moveByTenor(final Tenor tenor);
+
+}
\ No newline at end of file
Added: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/JdkDateCalculatorFactory.java
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/JdkDateCalculatorFactory.java (rev 0)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/JdkDateCalculatorFactory.java 2006-09-03 09:56:09 UTC (rev 82)
@@ -0,0 +1,14 @@
+package net.objectlab.kit.datecalc.jdk;
+
+import java.util.Date;
+
+import net.objectlab.kit.datecalc.common.DateCalculatorFactory;
+import net.objectlab.kit.datecalc.common.PeriodCountCalculator;
+
+public interface JdkDateCalculatorFactory extends DateCalculatorFactory<Date> {
+
+ public abstract JdkDateCalculator getDateCalculator(final String name, final String holidayHandlerType);
+
+ public abstract PeriodCountCalculator<Date> getPeriodCountCalculator();
+
+}
\ No newline at end of file
Added: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/JdkDatePeriodCountCalculator.java
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/JdkDatePeriodCountCalculator.java (rev 0)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/JdkDatePeriodCountCalculator.java 2006-09-03 09:56:09 UTC (rev 82)
@@ -0,0 +1,9 @@
+package net.objectlab.kit.datecalc.jdk;
+
+import java.util.Date;
+
+import net.objectlab.kit.datecalc.common.PeriodCountCalculator;
+
+public interface JdkDatePeriodCountCalculator extends PeriodCountCalculator<Date>{
+
+}
\ No newline at end of file
Modified: trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/DateCalculatorCombinationTest.java
===================================================================
--- trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/DateCalculatorCombinationTest.java 2006-09-02 22:33:20 UTC (rev 81)
+++ trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/DateCalculatorCombinationTest.java 2006-09-03 09:56:09 UTC (rev 82)
@@ -9,9 +9,9 @@
public class DateCalculatorCombinationTest extends AbstractDateCalculatorTest {
public void testInvalidCombinationDiffHandler() {
- final DateCalculator<Date> cal1 = DefaultDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
+ final JdkDateCalculator cal1 = DefaultJdkDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
HolidayHandlerType.BACKWARD);
- final DateCalculator<Date> cal2 = DefaultDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla2",
+ final JdkDateCalculator cal2 = DefaultJdkDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla2",
HolidayHandlerType.FORWARD);
try {
@@ -23,8 +23,8 @@
}
public void testInvalidCombinationNullNotNullHandler() {
- final DateCalculator<Date> cal1 = DefaultDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla", null);
- final DateCalculator<Date> cal2 = DefaultDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla2",
+ final JdkDateCalculator cal1 = DefaultJdkDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla", null);
+ final DateCalculator<Date> cal2 = DefaultJdkDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla2",
HolidayHandlerType.FORWARD);
try {
@@ -36,9 +36,9 @@
}
public void testInvalidCombinationNotNullNullHandler() {
- final DateCalculator<Date> cal1 = DefaultDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
+ final DateCalculator<Date> cal1 = DefaultJdkDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
HolidayHandlerType.FORWARD);
- final DateCalculator<Date> cal2 = DefaultDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla2", null);
+ final DateCalculator<Date> cal2 = DefaultJdkDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla2", null);
try {
cal1.combine(cal2);
@@ -49,12 +49,12 @@
}
public void testValidCombinationOneEmptySet() {
- DefaultDateCalculatorFactory.getDefaultInstance().registerHolidays("UK", createUKHolidays());
- final DateCalculator<Date> cal1 = DefaultDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
+ DefaultJdkDateCalculatorFactory.getDefaultInstance().registerHolidays("UK", createUKHolidays());
+ final DateCalculator<Date> cal1 = DefaultJdkDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
HolidayHandlerType.FORWARD);
final Date Date = createDate("2006-08-08");
cal1.setStartDate(Date);
- final DateCalculator<Date> cal2 = DefaultDateCalculatorFactory.getDefaultInstance().getDateCalculator("UK",
+ final DateCalculator<Date> cal2 = DefaultJdkDateCalculatorFactory.getDefaultInstance().getDateCalculator("UK",
HolidayHandlerType.FORWARD);
final DateCalculator<Date> combo = cal1.combine(cal2);
@@ -66,13 +66,13 @@
}
public void testValidCombination() {
- DefaultDateCalculatorFactory.getDefaultInstance().registerHolidays("UK", createUKHolidays());
- DefaultDateCalculatorFactory.getDefaultInstance().registerHolidays("UK", createUKHolidays());
- final DateCalculator<Date> cal1 = DefaultDateCalculatorFactory.getDefaultInstance().getDateCalculator("UK",
+ DefaultJdkDateCalculatorFactory.getDefaultInstance().registerHolidays("UK", createUKHolidays());
+ DefaultJdkDateCalculatorFactory.getDefaultInstance().registerHolidays("UK", createUKHolidays());
+ final DateCalculator<Date> cal1 = DefaultJdkDateCalculatorFactory.getDefaultInstance().getDateCalculat...
[truncated message content] |
|
From: <ma...@us...> - 2006-09-10 14:51:50
|
Revision: 145
http://svn.sourceforge.net/objectlabkit/?rev=145&view=rev
Author: marchy
Date: 2006-09-10 07:51:14 -0700 (Sun, 10 Sep 2006)
Log Message:
-----------
updated licence comment on .java files
Modified Paths:
--------------
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarIMMDateCalculator.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateForwardHandler.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateIMMDateCalculator.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateModifiedFollowingHandler.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateModifiedPreceedingHandler.java
trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkCalendarPeriodCountCalculatorTest.java
trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDatePeriodCountCalculatorTest.java
trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkWorkingWeekTest.java
Modified: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarIMMDateCalculator.java
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarIMMDateCalculator.java 2006-09-10 14:46:52 UTC (rev 144)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarIMMDateCalculator.java 2006-09-10 14:51:14 UTC (rev 145)
@@ -1,3 +1,20 @@
+/*
+ * $Id$
+ *
+ * Copyright 2006 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
package net.objectlab.kit.datecalc.jdk;
import java.util.ArrayList;
Modified: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateForwardHandler.java
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateForwardHandler.java 2006-09-10 14:46:52 UTC (rev 144)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateForwardHandler.java 2006-09-10 14:51:14 UTC (rev 145)
@@ -1,4 +1,6 @@
/*
+ * $Id$
+ *
* Copyright 2006 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
Modified: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateIMMDateCalculator.java
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateIMMDateCalculator.java 2006-09-10 14:46:52 UTC (rev 144)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateIMMDateCalculator.java 2006-09-10 14:51:14 UTC (rev 145)
@@ -1,3 +1,20 @@
+/*
+ * $Id$
+ *
+ * Copyright 2006 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
package net.objectlab.kit.datecalc.jdk;
import java.util.ArrayList;
Modified: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateModifiedFollowingHandler.java
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateModifiedFollowingHandler.java 2006-09-10 14:46:52 UTC (rev 144)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateModifiedFollowingHandler.java 2006-09-10 14:51:14 UTC (rev 145)
@@ -14,7 +14,8 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
- */package net.objectlab.kit.datecalc.jdk;
+ */
+package net.objectlab.kit.datecalc.jdk;
import java.util.Calendar;
import java.util.Date;
Modified: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateModifiedPreceedingHandler.java
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateModifiedPreceedingHandler.java 2006-09-10 14:46:52 UTC (rev 144)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateModifiedPreceedingHandler.java 2006-09-10 14:51:14 UTC (rev 145)
@@ -14,7 +14,8 @@
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
- */package net.objectlab.kit.datecalc.jdk;
+ */
+package net.objectlab.kit.datecalc.jdk;
import java.util.Date;
Modified: trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkCalendarPeriodCountCalculatorTest.java
===================================================================
--- trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkCalendarPeriodCountCalculatorTest.java 2006-09-10 14:46:52 UTC (rev 144)
+++ trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkCalendarPeriodCountCalculatorTest.java 2006-09-10 14:51:14 UTC (rev 145)
@@ -1,18 +1,3 @@
-/*
- * Copyright 2006 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
package net.objectlab.kit.datecalc.jdk;
import java.util.Calendar;
Modified: trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDatePeriodCountCalculatorTest.java
===================================================================
--- trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDatePeriodCountCalculatorTest.java 2006-09-10 14:46:52 UTC (rev 144)
+++ trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDatePeriodCountCalculatorTest.java 2006-09-10 14:51:14 UTC (rev 145)
@@ -1,4 +1,6 @@
/*
+ * $Id$
+ *
* Copyright 2006 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
Modified: trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkWorkingWeekTest.java
===================================================================
--- trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkWorkingWeekTest.java 2006-09-10 14:46:52 UTC (rev 144)
+++ trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkWorkingWeekTest.java 2006-09-10 14:51:14 UTC (rev 145)
@@ -1,18 +1,3 @@
-/*
- * Copyright 2006 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
package net.objectlab.kit.datecalc.jdk;
import java.util.Calendar;
@@ -21,9 +6,6 @@
import junit.framework.TestCase;
import net.objectlab.kit.datecalc.common.WorkingWeek;
-/**
- * @author Benoit Xhenseval
- */
public class JdkWorkingWeekTest extends TestCase {
public void testIsWorkingDayFromCalendar() {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ma...@us...> - 2006-09-04 01:09:37
|
Revision: 88
http://svn.sourceforge.net/objectlabkit/?rev=88&view=rev
Author: marchy
Date: 2006-09-03 18:08:36 -0700 (Sun, 03 Sep 2006)
Log Message:
-----------
generic tests for jdk. some failures :/
Modified Paths:
--------------
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/Utils.java
trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/AbstractDateCalculatorTest.java
Added Paths:
-----------
trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDateBackwardDateCalculatorTest.java
trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDateDateCalculatorCombinationTest.java
trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDateForwardDateCalculatorTest.java
trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDateModifiedFollowingDateCalculatorTest.java
trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDateModifiedPreceedingDateCalculatorTest.java
Removed Paths:
-------------
trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/ForwardDateCalculatorTest.java
Modified: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/Utils.java
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/Utils.java 2006-09-04 01:08:15 UTC (rev 87)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/Utils.java 2006-09-04 01:08:36 UTC (rev 88)
@@ -15,9 +15,13 @@
*/
package net.objectlab.kit.datecalc.jdk;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
+import junit.framework.Assert;
+
/**
*
* @author Marcin Jekot
@@ -25,10 +29,22 @@
*/
public class Utils {
+ private static final SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd");
+
+ // TODO create tests
public static Calendar getCal(final Date date) {
final Calendar cal = Calendar.getInstance();
cal.setTime(date);
return cal;
}
+ // TODO create tests
+ public static Date createDate(final String str) {
+ try {
+ return SDF.parse(str);
+ } catch (final ParseException e) {
+ Assert.fail(e.toString());
+ }
+ return null;
+ }
}
Modified: trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/AbstractDateCalculatorTest.java
===================================================================
--- trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/AbstractDateCalculatorTest.java 2006-09-04 01:08:15 UTC (rev 87)
+++ trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/AbstractDateCalculatorTest.java 2006-09-04 01:08:36 UTC (rev 88)
@@ -17,6 +17,7 @@
private static final SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd");
+ // TODO remove this and use utils one instead
protected Date createDate(final String str) {
try {
return SDF.parse(str);
Deleted: trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/ForwardDateCalculatorTest.java
===================================================================
--- trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/ForwardDateCalculatorTest.java 2006-09-04 01:08:15 UTC (rev 87)
+++ trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/ForwardDateCalculatorTest.java 2006-09-04 01:08:36 UTC (rev 88)
@@ -1,202 +0,0 @@
-package net.objectlab.kit.datecalc.jdk;
-
-import java.util.Calendar;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.Set;
-
-import junit.framework.Assert;
-import net.objectlab.kit.datecalc.common.HolidayHandlerType;
-import net.objectlab.kit.datecalc.common.WorkingWeek;
-
-public class ForwardDateCalculatorTest extends AbstractDateCalculatorTest {
-
- public void testSimpleForwardWithWeekend() {
- final JdkDateCalculator cal = DefaultJdkDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
- HolidayHandlerType.FORWARD);
- Assert.assertEquals("Name", "bla", cal.getName());
- Assert.assertEquals("Holidays size", 0, cal.getNonWorkingDays().size());
-
- final Date startDate = createDate("2006-08-01");
- cal.setStartDate(startDate);
- checkDate("Move by 0 days", cal.moveByDays(0), "2006-08-01");
- checkDate("Move by 1 days", cal.moveByDays(1), "2006-08-02");
- checkDate("Move by 1 more days", cal.moveByDays(1), "2006-08-03");
- checkDate("Move by 1 more more days", cal.moveByDays(1), "2006-08-04");
- checkDate("Move by 1 more more more days (across weekend)", cal.moveByDays(1), "2006-08-07");
- }
-
- public void testSimpleForwardStartDateWithWeekend() {
- final JdkDateCalculator cal = DefaultJdkDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
- HolidayHandlerType.FORWARD);
- Assert.assertEquals("Name", "bla", cal.getName());
- Assert.assertEquals("Holidays size", 0, cal.getNonWorkingDays().size());
-
- cal.setStartDate(createDate("2006-07-31")); // start date Monday
- checkDate("start date Monday", cal, "2006-07-31");
-
- cal.setStartDate(createDate("2006-08-01")); // start date Tuesday
- checkDate("start date Tuesday", cal, "2006-08-01");
-
- cal.setStartDate(createDate("2006-08-02")); // start date Wednesday
- checkDate("start date Wednesday", cal, "2006-08-02");
-
- cal.setStartDate(createDate("2006-08-03")); // start date Thursday
- checkDate("start date Thursday", cal, "2006-08-03");
-
- cal.setStartDate(createDate("2006-08-04")); // set on a Friday
- checkDate("start date friday", cal, "2006-08-04");
-
- cal.setStartDate(createDate("2006-08-05")); // set on a Saturday
- checkDate("start date Saturday", cal, "2006-08-07");
-
- cal.setStartDate(createDate("2006-08-06")); // set on a Sunday
- checkDate("start date Sunday", cal, "2006-08-07");
- }
-
- public void testSimpleForwardStartDateNoWeekend() {
- final JdkDateCalculator cal = DefaultJdkDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
- HolidayHandlerType.FORWARD);
- final WorkingWeek ww = new WorkingWeek();
- ww.withWorkingDayFromCalendar(true, Calendar.SATURDAY);
- ww.withWorkingDayFromCalendar(true, Calendar.SUNDAY);
- cal.setWorkingWeek(ww);
- Assert.assertEquals("Name", "bla", cal.getName());
- Assert.assertEquals("Holidays size", 0, cal.getNonWorkingDays().size());
-
- cal.setStartDate(createDate("2006-07-31"));
- checkDate("start date Monday", cal, "2006-07-31");
-
- cal.setStartDate(createDate("2006-08-01"));
- checkDate("start date Tuesday", cal, "2006-08-01");
-
- cal.setStartDate(createDate("2006-08-02"));
- checkDate("start date Wednesday", cal, "2006-08-02");
-
- cal.setStartDate(createDate("2006-08-03"));
- checkDate("start date Thursday", cal, "2006-08-03");
-
- cal.setStartDate(createDate("2006-08-04"));
- checkDate("start date friday", cal, "2006-08-04");
-
- cal.setStartDate(createDate("2006-08-05"));
- checkDate("start date Saturday, move to Monday", cal, "2006-08-07");
-
- cal.setStartDate(createDate("2006-08-06"));
- checkDate("start date Sunday, move to Monday", cal, "2006-08-07");
- }
-
- public void testSimpleForwardStartDateWhackyWeek() {
- final JdkDateCalculator cal = DefaultJdkDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
- HolidayHandlerType.FORWARD);
- Assert.assertEquals("Name", "bla", cal.getName());
- Assert.assertEquals("Holidays size", 0, cal.getNonWorkingDays().size());
-
- final WorkingWeek ww = new WorkingWeek()
- .withWorkingDayFromCalendar(false, Calendar.MONDAY)
- .withWorkingDayFromCalendar(true, Calendar.TUESDAY)
- .withWorkingDayFromCalendar(false, Calendar.WEDNESDAY)
- .withWorkingDayFromCalendar(true, Calendar.THURSDAY)
- .withWorkingDayFromCalendar(false, Calendar.FRIDAY)
- .withWorkingDayFromCalendar(true, Calendar.SATURDAY)
- .withWorkingDayFromCalendar(false, Calendar.SUNDAY);
- cal.setWorkingWeek(ww);
-
- cal.setStartDate(createDate("2006-07-31")); // start date Monday
- checkDate("start date Monday", cal, "2006-08-01");
-
- cal.setStartDate(createDate("2006-08-01")); // start date Tuesday
- checkDate("start date Tuesday", cal, "2006-08-01");
-
- cal.setStartDate(createDate("2006-08-02")); // start date Wednesday
- checkDate("start date Wednesday", cal, "2006-08-03");
-
- cal.setStartDate(createDate("2006-08-03")); // start date Thursday
- checkDate("start date Thursday", cal, "2006-08-03");
-
- cal.setStartDate(createDate("2006-08-04")); // set on a Friday
- checkDate("start date friday", cal, "2006-08-05");
-
- cal.setStartDate(createDate("2006-08-05")); // set on a Saturday
- checkDate("start date Saturday", cal, "2006-08-05");
-
- cal.setStartDate(createDate("2006-08-06")); // set on a Sunday
- checkDate("start date Sunday", cal, "2006-08-08");
- }
-
- public void testSimpleForwardStartDateIdealWeekend() {
- final JdkDateCalculator cal = DefaultJdkDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
- HolidayHandlerType.FORWARD);
- Assert.assertEquals("Name", "bla", cal.getName());
- Assert.assertEquals("Holidays size", 0, cal.getNonWorkingDays().size());
-
- final WorkingWeek ww = new WorkingWeek()
- .withWorkingDayFromCalendar(false, Calendar.MONDAY)
- .withWorkingDayFromCalendar(true, Calendar.TUESDAY)
- .withWorkingDayFromCalendar(true, Calendar.WEDNESDAY)
- .withWorkingDayFromCalendar(true, Calendar.THURSDAY)
- .withWorkingDayFromCalendar(true, Calendar.FRIDAY)
- .withWorkingDayFromCalendar(false, Calendar.SATURDAY)
- .withWorkingDayFromCalendar(false, Calendar.SUNDAY);
- cal.setWorkingWeek(ww);
-
- cal.setStartDate(createDate("2006-07-31")); // start date Monday
- checkDate("start date Monday", cal, "2006-08-01");
-
- cal.setStartDate(createDate("2006-08-01")); // start date Tuesday
- checkDate("start date Tuesday", cal, "2006-08-01");
-
- cal.setStartDate(createDate("2006-08-02")); // start date Wednesday
- checkDate("start date Wednesday", cal, "2006-08-02");
-
- cal.setStartDate(createDate("2006-08-03")); // start date Thursday
- checkDate("start date Thursday", cal, "2006-08-03");
-
- cal.setStartDate(createDate("2006-08-04")); // set on a Friday
- checkDate("start date friday", cal, "2006-08-04");
-
- cal.setStartDate(createDate("2006-08-05")); // set on a Saturday
- checkDate("start date Saturday", cal, "2006-08-08");
-
- cal.setStartDate(createDate("2006-08-06")); // set on a Sunday
- checkDate("start date Sunday", cal, "2006-08-08");
- }
-
- public void testSimpleForwardWithHolidays() {
- final JdkDateCalculator cal = DefaultJdkDateCalculatorFactory.getDefaultInstance().getDateCalculator("bla",
- HolidayHandlerType.FORWARD);
- final Set<Date> holidays = new HashSet<Date>();
- holidays.add(createDate("2006-08-28"));
- holidays.add(createDate("2006-12-25"));
- holidays.add(createDate("2006-12-26"));
- Assert.assertEquals("Name", "bla", cal.getName());
- cal.setNonWorkingDays(holidays);
- Assert.assertEquals("Holidays", holidays, cal.getNonWorkingDays());
- Assert.assertEquals("Holidays size", 3, cal.getNonWorkingDays().size());
-
- Assert.assertTrue("contains", holidays.contains(createDate("2006-08-28")));
- Assert.assertTrue("contains", cal.getNonWorkingDays().contains(createDate("2006-08-28")));
-
- cal.setStartDate(createDate("2006-08-28"));
- checkDate("Move given Bank Holiday", cal, "2006-08-29");
-
- cal.setStartDate(createDate("2006-12-24"));
- checkDate("Xmas Eve", cal, "2006-12-27");
-
- cal.setStartDate(createDate("2006-12-21"));
- checkDate("21/12 + 1", cal.moveByDays(1), "2006-12-22");
-
- cal.setStartDate(createDate("2006-12-21"));
- checkDate("21/12 + 1", cal.moveByDays(2), "2006-12-27");
-
- cal.setStartDate(createDate("2006-12-22"));
- checkDate("22/12 + 1", cal.moveByDays(1), "2006-12-27");
-
- cal.setStartDate(createDate("2006-12-23"));
- checkDate("23/12 + 1", cal.moveByDays(1), "2006-12-28");
- }
-
- private void checkDate(final String string, final JdkDateCalculator calendar, final String string2) {
- Assert.assertEquals(string, createDate(string2), calendar.getCurrentBusinessDate());
- }
-}
Added: trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDateBackwardDateCalculatorTest.java
===================================================================
--- trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDateBackwardDateCalculatorTest.java (rev 0)
+++ trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDateBackwardDateCalculatorTest.java 2006-09-04 01:08:36 UTC (rev 88)
@@ -0,0 +1,18 @@
+package net.objectlab.kit.datecalc.jdk;
+
+import net.objectlab.kit.datecalc.common.AbstractBackwardDateCalculatorTest;
+import net.objectlab.kit.datecalc.common.DateCalculatorFactory;
+
+public class JdkDateBackwardDateCalculatorTest extends AbstractBackwardDateCalculatorTest {
+
+ @Override
+ protected Object newDate(String date) {
+ return Utils.createDate(date);
+ }
+
+ @Override
+ protected DateCalculatorFactory getDateCalculatorFactory() {
+ return DefaultJdkDateCalculatorFactory.getDefaultInstance();
+ }
+
+}
Added: trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDateDateCalculatorCombinationTest.java
===================================================================
--- trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDateDateCalculatorCombinationTest.java (rev 0)
+++ trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDateDateCalculatorCombinationTest.java 2006-09-04 01:08:36 UTC (rev 88)
@@ -0,0 +1,18 @@
+package net.objectlab.kit.datecalc.jdk;
+
+import net.objectlab.kit.datecalc.common.AbstractDateCalculatorCombinationTest;
+import net.objectlab.kit.datecalc.common.DateCalculatorFactory;
+
+public class JdkDateDateCalculatorCombinationTest extends AbstractDateCalculatorCombinationTest {
+
+ @Override
+ protected Object newDate(String date) {
+ return Utils.createDate(date);
+ }
+
+ @Override
+ protected DateCalculatorFactory getDateCalculatorFactory() {
+ return DefaultJdkDateCalculatorFactory.getDefaultInstance();
+ }
+
+}
Added: trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDateForwardDateCalculatorTest.java
===================================================================
--- trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDateForwardDateCalculatorTest.java (rev 0)
+++ trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDateForwardDateCalculatorTest.java 2006-09-04 01:08:36 UTC (rev 88)
@@ -0,0 +1,18 @@
+package net.objectlab.kit.datecalc.jdk;
+
+import net.objectlab.kit.datecalc.common.AbstractForwardDateCalculatorTest;
+import net.objectlab.kit.datecalc.common.DateCalculatorFactory;
+
+public class JdkDateForwardDateCalculatorTest extends AbstractForwardDateCalculatorTest {
+
+ @Override
+ protected Object newDate(String date) {
+ return Utils.createDate(date);
+ }
+
+ @Override
+ protected DateCalculatorFactory getDateCalculatorFactory() {
+ return DefaultJdkDateCalculatorFactory.getDefaultInstance();
+ }
+
+}
Added: trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDateModifiedFollowingDateCalculatorTest.java
===================================================================
--- trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDateModifiedFollowingDateCalculatorTest.java (rev 0)
+++ trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDateModifiedFollowingDateCalculatorTest.java 2006-09-04 01:08:36 UTC (rev 88)
@@ -0,0 +1,18 @@
+package net.objectlab.kit.datecalc.jdk;
+
+import net.objectlab.kit.datecalc.common.AbstractModifiedFollowingDateCalculatorTest;
+import net.objectlab.kit.datecalc.common.DateCalculatorFactory;
+
+public class JdkDateModifiedFollowingDateCalculatorTest extends AbstractModifiedFollowingDateCalculatorTest {
+
+ @Override
+ protected Object newDate(String date) {
+ return Utils.createDate(date);
+ }
+
+ @Override
+ protected DateCalculatorFactory getDateCalculatorFactory() {
+ return DefaultJdkDateCalculatorFactory.getDefaultInstance();
+ }
+
+}
Added: trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDateModifiedPreceedingDateCalculatorTest.java
===================================================================
--- trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDateModifiedPreceedingDateCalculatorTest.java (rev 0)
+++ trunk/datecalc-jdk/src/test/java/net/objectlab/kit/datecalc/jdk/JdkDateModifiedPreceedingDateCalculatorTest.java 2006-09-04 01:08:36 UTC (rev 88)
@@ -0,0 +1,18 @@
+package net.objectlab.kit.datecalc.jdk;
+
+import net.objectlab.kit.datecalc.common.AbstractModifiedPreceedingDateCalculatorTest;
+import net.objectlab.kit.datecalc.common.DateCalculatorFactory;
+
+public class JdkDateModifiedPreceedingDateCalculatorTest extends AbstractModifiedPreceedingDateCalculatorTest {
+
+ @Override
+ protected Object newDate(String date) {
+ return Utils.createDate(date);
+ }
+
+ @Override
+ protected DateCalculatorFactory getDateCalculatorFactory() {
+ return DefaultJdkDateCalculatorFactory.getDefaultInstance();
+ }
+
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|