|
From: <be...@us...> - 2006-09-05 10:13:15
|
Revision: 108
http://svn.sourceforge.net/objectlabkit/?rev=108&view=rev
Author: benoitx
Date: 2006-09-05 03:13:01 -0700 (Tue, 05 Sep 2006)
Log Message:
-----------
better name for some param
and implementation of IMMPeriod.ANNUALLY for JDK side.
Modified Paths:
--------------
trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/AbstractDateCalculator.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/JdkCalendarBaseDateCalculator.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateCalculator.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayDateCalculator.java
Modified: trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/AbstractDateCalculator.java
===================================================================
--- trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/AbstractDateCalculator.java 2006-09-05 10:01:21 UTC (rev 107)
+++ trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/AbstractDateCalculator.java 2006-09-05 10:13:01 UTC (rev 108)
@@ -261,7 +261,7 @@
return getIMMDates(start, end, IMMPeriod.QUARTERLY);
}
- protected abstract E getNextIMMDate(final boolean forward, final E theStartDate, final IMMPeriod period);
+ protected abstract E getNextIMMDate(final boolean requestNextIMM, final E theStartDate, final IMMPeriod period);
protected abstract DateCalculator<E> createNewCalcultaor(String calcName, E theStartDate, Set<E> holidays,
HolidayHandler<E> handler);
Modified: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/JdkCalendarBaseDateCalculator.java
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/JdkCalendarBaseDateCalculator.java 2006-09-05 10:01:21 UTC (rev 107)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/JdkCalendarBaseDateCalculator.java 2006-09-05 10:13:01 UTC (rev 108)
@@ -123,7 +123,7 @@
}
@Override
- protected Calendar getNextIMMDate(final boolean forward, final Calendar startDate, final IMMPeriod period) {
+ protected Calendar getNextIMMDate(final boolean requestNextIMM, final Calendar startDate, final IMMPeriod period) {
Calendar cal = (Calendar) startDate.clone();
@@ -132,12 +132,12 @@
// TODO simplify this if condition
// if (forward ^ cal.getTime().before(startDate) ||
// cal.getTime().equals(startDate)) {
- if ((forward && cal.after(startDate)) || (!forward && cal.before(startDate))) {
+ if ((requestNextIMM && cal.after(startDate)) || (!requestNextIMM && cal.before(startDate))) {
return cal;
}
}
- final int delta = (forward ? 1 : -1);
+ final int delta = (requestNextIMM ? 1 : -1);
do {
cal.add(Calendar.MONTH, delta);
} while (!isIMMMonth(cal));
@@ -151,7 +151,16 @@
( period == IMMPeriod.BI_ANNUALY_MAR_SEP
&& (Calendar.JUNE == month || Calendar.DECEMBER==month) ) ) {
// need to move to the next one.
- cal = getNextIMMDate(forward, cal, period);
+ cal = getNextIMMDate(requestNextIMM, cal, period);
+ } else if (period == IMMPeriod.ANNUALLY) {
+ // second jump
+ cal = getNextIMMDate(requestNextIMM, cal, IMMPeriod.QUARTERLY);
+ // third jump
+ cal = getNextIMMDate(requestNextIMM, cal, IMMPeriod.QUARTERLY);
+ // fourth jump
+ cal = getNextIMMDate(requestNextIMM, cal, IMMPeriod.QUARTERLY);
+ // fifth jump
+ cal = getNextIMMDate(requestNextIMM, cal, IMMPeriod.QUARTERLY);
}
@@ -194,7 +203,7 @@
}
public boolean isIMMDate(final Calendar date) {
- //TODO a slightly crude implementation - revisit
+ // TODO a slightly crude implementation - revisit
Calendar cal = (Calendar)date.clone();
moveToIMMDay(cal);
return cal.equals(date);
Modified: trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateCalculator.java
===================================================================
--- trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateCalculator.java 2006-09-05 10:01:21 UTC (rev 107)
+++ trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateCalculator.java 2006-09-05 10:13:01 UTC (rev 108)
@@ -110,7 +110,7 @@
}
@Override
- protected LocalDate getNextIMMDate(final boolean forward, final LocalDate start, final IMMPeriod period) {
+ protected LocalDate getNextIMMDate(final boolean requestNextIMM, final LocalDate start, final IMMPeriod period) {
LocalDate date = start;
// if (period == IMMPeriod.ANNUALLY) {
@@ -126,9 +126,9 @@
case DateTimeConstants.SEPTEMBER:
case DateTimeConstants.DECEMBER:
final LocalDate immDate = calculate3rdWednesday(date);
- if (forward && !date.isBefore(immDate)) {
+ if (requestNextIMM && !date.isBefore(immDate)) {
date = date.plusMonths(MONTHS_IN_QUARTER);
- } else if (!forward && !date.isAfter(immDate)) {
+ } else if (!requestNextIMM && !date.isAfter(immDate)) {
date = date.minusMonths(MONTHS_IN_QUARTER);
}
break;
@@ -146,7 +146,7 @@
// Oct 10 -> 2
// Nov 11 -> 1
// Dec 12 -> 0
- if (forward) {
+ if (requestNextIMM) {
monthOffset = (MONTH_IN_YEAR - month) % MONTHS_IN_QUARTER;
date = date.plusMonths(monthOffset);
} else {
@@ -164,16 +164,16 @@
period == IMMPeriod.BI_ANNUALY_MAR_SEP
&& (DateTimeConstants.JUNE == imm.getMonthOfYear() || DateTimeConstants.DECEMBER==imm.getMonthOfYear()) ) {
// need to move to the next one.
- imm = getNextIMMDate(forward, imm, period);
+ imm = getNextIMMDate(requestNextIMM, imm, period);
} else if (period == IMMPeriod.ANNUALLY) {
// second jump
- imm = getNextIMMDate(forward, imm, IMMPeriod.QUARTERLY);
+ imm = getNextIMMDate(requestNextIMM, imm, IMMPeriod.QUARTERLY);
// third jump
- imm = getNextIMMDate(forward, imm, IMMPeriod.QUARTERLY);
+ imm = getNextIMMDate(requestNextIMM, imm, IMMPeriod.QUARTERLY);
// fourth jump
- imm = getNextIMMDate(forward, imm, IMMPeriod.QUARTERLY);
+ imm = getNextIMMDate(requestNextIMM, imm, IMMPeriod.QUARTERLY);
// fifth jump
- imm = getNextIMMDate(forward, imm, IMMPeriod.QUARTERLY);
+ imm = getNextIMMDate(requestNextIMM, imm, IMMPeriod.QUARTERLY);
}
return imm;
Modified: trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayDateCalculator.java
===================================================================
--- trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayDateCalculator.java 2006-09-05 10:01:21 UTC (rev 107)
+++ trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayDateCalculator.java 2006-09-05 10:13:01 UTC (rev 108)
@@ -101,8 +101,8 @@
}
@Override
- protected YearMonthDay getNextIMMDate(final boolean forward, final YearMonthDay start, final IMMPeriod period) {
- return new YearMonthDay(delegate.getNextIMMDate(forward, start.toLocalDate(), period));
+ protected YearMonthDay getNextIMMDate(final boolean requestNextIMM, final YearMonthDay start, final IMMPeriod period) {
+ return new YearMonthDay(delegate.getNextIMMDate(requestNextIMM, start.toLocalDate(), period));
}
@Override
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|