=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/Period.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/Period.java 2014-04-14 12:24:25 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/Period.java 2014-08-05 11:19:29 +0000 @@ -38,6 +38,8 @@ import org.hisp.dhis.common.adapter.JacksonPeriodTypeSerializer; import org.hisp.dhis.common.view.DetailedView; import org.hisp.dhis.common.view.ExportView; +import org.joda.time.DateTime; +import org.joda.time.Days; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonView; @@ -206,7 +208,7 @@ } /** - * Return the potential number of periods of the given period type which is + * Returns the potential number of periods of the given period type which is * spanned by this period. * * @param type the period type. @@ -220,6 +222,18 @@ return (int) Math.floor( no ); } + /** + * Returns the number of days in the period, i.e. the days between the start + * and end date. + * + * @return number of days in period. + */ + public int getDaysInPeriod() + { + Days days = Days.daysBetween( new DateTime( startDate ), new DateTime( endDate ) ); + return days.getDays() + 1; + } + // ------------------------------------------------------------------------- // hashCode, equals and toString // ------------------------------------------------------------------------- === modified file 'dhis-2/dhis-api/src/test/java/org/hisp/dhis/period/MonthlyPeriodTypeTest.java' --- dhis-2/dhis-api/src/test/java/org/hisp/dhis/period/MonthlyPeriodTypeTest.java 2014-03-18 08:10:10 +0000 +++ dhis-2/dhis-api/src/test/java/org/hisp/dhis/period/MonthlyPeriodTypeTest.java 2014-08-05 11:19:29 +0000 @@ -92,8 +92,19 @@ testCal.set( period2.getStartDate()); assertEquals( 2010, testCal.get( Calendar.YEAR) ); - assertEquals( 0, testCal.get( Calendar.MONTH) ); - + assertEquals( 0, testCal.get( Calendar.MONTH) ); + } + + @Test + public void testGetDaysInPeriod() + { + Period pA = periodType.createPeriod( "20040315" ); + Period pB = periodType.createPeriod( "201403" ); + Period pC = periodType.createPeriod( "2014Q2" ); + + assertEquals( 1, pA.getDaysInPeriod() ); + assertEquals( 31, pB.getDaysInPeriod() ); + assertEquals( 91, pC.getDaysInPeriod() ); } @Test === modified file 'dhis-2/dhis-services/dhis-service-administration/src/main/java/org/hisp/dhis/resourcetable/DefaultResourceTableService.java' --- dhis-2/dhis-services/dhis-service-administration/src/main/java/org/hisp/dhis/resourcetable/DefaultResourceTableService.java 2014-06-27 08:38:40 +0000 +++ dhis-2/dhis-services/dhis-service-administration/src/main/java/org/hisp/dhis/resourcetable/DefaultResourceTableService.java 2014-08-05 11:19:29 +0000 @@ -492,7 +492,7 @@ values.add( period.getId() ); values.add( period.getIsoDate() ); - values.add( rowType.getFrequencyOrder() ); + values.add( period.getDaysInPeriod() ); for ( PeriodType periodType : PeriodType.PERIOD_TYPES ) { === modified file 'dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/util/DateUtils.java' --- dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/util/DateUtils.java 2014-07-25 07:56:49 +0000 +++ dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/util/DateUtils.java 2014-08-05 11:19:29 +0000 @@ -225,8 +225,8 @@ return false; } - if ( (startDate.before( baseDate ) || startDate.equals( baseDate )) - && (endDate.after( baseDate ) || endDate.equals( baseDate )) ) + if ( ( startDate.before( baseDate ) || startDate.equals( baseDate ) ) + && ( endDate.after( baseDate ) || endDate.equals( baseDate ) ) ) { return true; }