| 
      
      
      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.
 |