|
From: <be...@us...> - 2010-03-13 10:14:11
|
Revision: 299
http://objectlabkit.svn.sourceforge.net/objectlabkit/?rev=299&view=rev
Author: benoitx
Date: 2010-03-13 10:14:05 +0000 (Sat, 13 Mar 2010)
Log Message:
-----------
A few more Sonar fixes...
Modified Paths:
--------------
trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/AbstractDateCalculator.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 2010-03-13 00:49:41 UTC (rev 298)
+++ trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/AbstractDateCalculator.java 2010-03-13 10:14:05 UTC (rev 299)
@@ -179,8 +179,11 @@
unit *= MONTHS_IN_YEAR;
}
+ return applyTenor(tenorCode, unit);
+ }
+
+ private DateCalculator<E> applyTenor(final TenorCode tenorCode, final int unit) {
DateCalculator<E> calc;
-
// move by tenor
switch (tenorCode) {
case OVERNIGHT:
@@ -205,7 +208,6 @@
default:
throw new UnsupportedOperationException("Sorry not yet...");
}
-
return calc;
}
@@ -241,11 +243,11 @@
* @since 1.1.0
*/
public List<E> calculateTenorDates(final List<Tenor> tenors, final int spotLag) {
- List<E> list = new ArrayList<E>();
+ final List<E> list = new ArrayList<E>();
if (tenors != null) {
final E date = clone(getCurrentBusinessDate());
- for (Tenor tenor : tenors) {
+ for (final Tenor tenor : tenors) {
moveByTenor(tenor, spotLag);
list.add(getCurrentBusinessDate());
setCurrentBusinessDate(date);
@@ -313,12 +315,7 @@
}
public DateCalculator<E> moveByBusinessDays(final int businessDays) {
- if (businessDays > 0 && holidayHandler != null && (holidayHandler.getType().equals(BACKWARD) || holidayHandler.getType().equals(MODIFIED_PRECEDING))) {
- throw new IllegalArgumentException("A " + MODIFIED_PRECEDING + " or " + BACKWARD + " does not allow positive steps for moveByBusinessDays");
- } else if (businessDays < 0 && holidayHandler != null
- && (holidayHandler.getType().equals(FORWARD) || holidayHandler.getType().equals(MODIFIED_FOLLOWING))) {
- throw new IllegalArgumentException("A " + MODIFIED_FOLLOWING + " or " + FORWARD + " does not allow negative steps for moveByBusinessDays");
- }
+ checkHolidayValidity(businessDays);
final int numberOfStepsLeft = Math.abs(businessDays);
final int step = (businessDays < 0 ? -1 : 1);
@@ -330,6 +327,15 @@
return this;
}
+ private void checkHolidayValidity(final int businessDays) {
+ if (businessDays > 0 && holidayHandler != null && (holidayHandler.getType().equals(BACKWARD) || holidayHandler.getType().equals(MODIFIED_PRECEDING))) {
+ throw new IllegalArgumentException("A " + MODIFIED_PRECEDING + " or " + BACKWARD + " does not allow positive steps for moveByBusinessDays");
+ } else if (businessDays < 0 && holidayHandler != null
+ && (holidayHandler.getType().equals(FORWARD) || holidayHandler.getType().equals(MODIFIED_FOLLOWING))) {
+ throw new IllegalArgumentException("A " + MODIFIED_FOLLOWING + " or " + FORWARD + " does not allow negative steps for moveByBusinessDays");
+ }
+ }
+
/**
* Allows DateCalculators to be combined into a new one, the startDate and
* currentBusinessDate will be the ones from the existing calendar (not the
@@ -347,10 +353,7 @@
return this;
}
- if (holidayHandler == null && calculator.getHolidayHandlerType() != null || holidayHandler != null
- && !holidayHandler.getType().equals(calculator.getHolidayHandlerType())) {
- throw new IllegalArgumentException("Combined Calendars cannot have different handler types");
- }
+ checkHolidayHandlerValidity(calculator);
final Set<E> newSet = new HashSet<E>();
if (holidayCalendar != null) {
@@ -358,16 +361,8 @@
}
final HolidayCalendar<E> calendarToCombine = calculator.getHolidayCalendar();
- if (calendarToCombine.getEarlyBoundary() != null && holidayCalendar.getEarlyBoundary() == null || calendarToCombine.getEarlyBoundary() == null
- && holidayCalendar.getEarlyBoundary() != null) {
- throw new IllegalArgumentException("Both Calendar to be combined must either have each Early boundaries or None.");
- }
+ checkBoundaries(calendarToCombine);
- if (calendarToCombine.getLateBoundary() != null && holidayCalendar.getLateBoundary() == null || calendarToCombine.getLateBoundary() == null
- && holidayCalendar.getLateBoundary() != null) {
- throw new IllegalArgumentException("Both Calendar to be combined must either have each Late boundaries or None.");
- }
-
if (calendarToCombine.getHolidays() != null) {
newSet.addAll(calendarToCombine.getHolidays());
}
@@ -380,6 +375,25 @@
return cal;
}
+ private void checkHolidayHandlerValidity(final DateCalculator<E> calculator) {
+ if (holidayHandler == null && calculator.getHolidayHandlerType() != null || holidayHandler != null
+ && !holidayHandler.getType().equals(calculator.getHolidayHandlerType())) {
+ throw new IllegalArgumentException("Combined Calendars cannot have different handler types");
+ }
+ }
+
+ private void checkBoundaries(final HolidayCalendar<E> calendarToCombine) {
+ if (calendarToCombine.getEarlyBoundary() != null && holidayCalendar.getEarlyBoundary() == null || calendarToCombine.getEarlyBoundary() == null
+ && holidayCalendar.getEarlyBoundary() != null) {
+ throw new IllegalArgumentException("Both Calendar to be combined must either have each Early boundaries or None.");
+ }
+
+ if (calendarToCombine.getLateBoundary() != null && holidayCalendar.getLateBoundary() == null || calendarToCombine.getLateBoundary() == null
+ && holidayCalendar.getLateBoundary() != null) {
+ throw new IllegalArgumentException("Both Calendar to be combined must either have each Late boundaries or None.");
+ }
+ }
+
protected abstract E getToday();
protected abstract E compareDate(E date1, E date2, boolean returnEarliest);
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 2010-03-13 00:49:41 UTC (rev 298)
+++ trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayDateCalculator.java 2010-03-13 10:14:05 UTC (rev 299)
@@ -136,7 +136,7 @@
}
@Override
- public void setStartDate(final YearMonthDay startDate) {
+ public final void setStartDate(final YearMonthDay startDate) {
if (delegate != null) {
delegate.setStartDate(startDate != null ? startDate.toLocalDate() : null);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|