Hi,
Consider the following code:
Class c = getDateClass(); // JFree's date implementation
Date dateStart = (Date)getParameterValue( "DateStart" );
Date dateEnd = (Date)getParameterValue( "DateEnd" );
DateTime start = new DateTime( dateStart.getTime() );
DateTime end = new DateTime( dateEnd.getTime() );
int datapoints = 0;
if( c == org.jfree.data.time.Day.class ) {
* datapoints = Days.daysBetween( start, end ).getDays();
* }
else if( c == org.jfree.data.time.Week.class ) {
* datapoints = Weeks.weeksBetween( start, end ).getWeeks();
* }
else if( c == org.jfree.data.time.Month.class ) {
* datapoints = Months.monthsBetween( start, end ).getMonths();
* }
else if( c == org.jfree.data.time.Year.class ) {
* datapoints = Years.yearsBetween( start, end ).getYears();
* }
Removing the redundancy clarifies the intent:
if( c == org.jfree.data.time.Day.class ) {
* datapoints = Days.between( start, end ).count();
* }
else if( c == org.jfree.data.time.Week.class ) {
* datapoints = Weeks.between( start, end ).count();
* }
else if( c == org.jfree.data.time.Month.class ) {
* datapoints = Months.between( start, end ).count();
* }
else if( c == org.jfree.data.time.Year.class ) {
* datapoints = Years.between( start, end ).count();
* }
Expose a static delegate:
if( c == org.jfree.data.time.Day.class ) {
* datapoints = Days.count( start, end );
* }
else if( c == org.jfree.data.time.Week.class ) {
* datapoints = Weeks.count( start, end );
* }
else if( c == org.jfree.data.time.Month.class ) {
* datapoints = Months.count( start, end );
* }
else if( c == org.jfree.data.time.Year.class ) {
* datapoints = Years.count( start, end );
* }
Then:
Date ds = (Date)getParameterValue( "DateStart" );
Date de = (Date)getParameterValue( "DateEnd" );
ReadablePeriod rp = JFreeReadablePeriodFactory.createReadablePeriod(
getDateClass() );
int datapoints = rp.count( ds.getTime(), de.getTime() );
Kind regards,
Dave Jarvis
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Joda-interest mailing list
Joda-interest@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/joda-interest