------------------------------------------------------------ revno: 19829 committer: Morten Olav Hansen <morte...@gmail.com> branch nick: dhis2 timestamp: Mon 2015-08-24 14:46:44 +0700 message: minor fixes, make sure to use local chronology as basis for PeriodType.toIsoPeriod => getIsoDate modified: dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/PeriodType.java dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/QuarterlyPeriodType.java dhis-2/dhis-api/src/test/java/org/hisp/dhis/calendar/impl/EthiopianCalendarTest.java
-- lp:dhis2 https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk Your team DHIS 2 developers is subscribed to branch lp:dhis2. To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/PeriodType.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/PeriodType.java 2015-07-15 09:45:45 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/PeriodType.java 2015-08-24 07:46:44 +0000 @@ -62,7 +62,7 @@ implements Serializable { // Cache for period lookup, uses calendar.name() + periodType.getName() + date.getTime() as key - + private static Cache<String, Period> periodCache = CacheBuilder.newBuilder() .expireAfterAccess( 5, TimeUnit.MINUTES ) .initialCapacity( 10000 ) @@ -310,14 +310,14 @@ DateTimeUnit from = calendar.toIso( start ); DateTimeUnit to = calendar.toIso( end ); - return new Period( this, from.toJdkDate(), to.toJdkDate(), getIsoDate( from ) ); + return new Period( this, from.toJdkDate(), to.toJdkDate(), getIsoDate( start ) ); } public Period toIsoPeriod( DateTimeUnit dateTimeUnit ) { return toIsoPeriod( dateTimeUnit, dateTimeUnit ); } - + public abstract String getIso8601Duration(); public abstract Period createPeriod( DateTimeUnit dateTimeUnit, org.hisp.dhis.calendar.Calendar calendar ); @@ -456,17 +456,17 @@ public static List<Period> getPeriodsFromIsoStrings( List<String> isoPeriods ) { List<Period> periods = new ArrayList<>(); - + for ( String isoPeriod : isoPeriods ) { Period period = getPeriodFromIsoString( isoPeriod ); - + if ( period != null ) { periods.add( period ); } } - + return periods; } === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/QuarterlyPeriodType.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/QuarterlyPeriodType.java 2015-06-11 21:37:27 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/period/QuarterlyPeriodType.java 2015-08-24 07:46:44 +0000 @@ -52,7 +52,7 @@ private static final long serialVersionUID = -5973809094923012052L; private static final String ISO_FORMAT = "yyyyQn"; - + private static final String ISO8601_DURATION = "P1Q"; /** @@ -77,7 +77,7 @@ { DateTimeUnit start = new DateTimeUnit( dateTimeUnit ); - start.setMonth( ( ( dateTimeUnit.getMonth() - 1 ) - ( ( dateTimeUnit.getMonth() - 1 ) % 3 ) ) + 1 ); + start.setMonth( ((dateTimeUnit.getMonth() - 1) - ((dateTimeUnit.getMonth() - 1) % 3)) + 1 ); start.setDay( 1 ); DateTimeUnit end = new DateTimeUnit( start ); @@ -147,7 +147,7 @@ public List<Period> generateRollingPeriods( Date date ) { date = createPeriod( date ).getStartDate(); - + return generateRollingPeriods( createLocalDateUnitInstance( date ) ); } @@ -185,7 +185,7 @@ case 10: return dateTimeUnit.getYear() + "Q4"; default: - throw new IllegalArgumentException( "Month not valid [1,4,7,10]" ); + throw new IllegalArgumentException( "Month not valid [1,4,7,10], was given " + dateTimeUnit.getMonth() ); } } @@ -197,11 +197,11 @@ { return ISO_FORMAT; } - + @Override - public String getIso8601Duration() + public String getIso8601Duration() { - return ISO8601_DURATION; + return ISO8601_DURATION; } === modified file 'dhis-2/dhis-api/src/test/java/org/hisp/dhis/calendar/impl/EthiopianCalendarTest.java' --- dhis-2/dhis-api/src/test/java/org/hisp/dhis/calendar/impl/EthiopianCalendarTest.java 2015-08-24 07:03:59 +0000 +++ dhis-2/dhis-api/src/test/java/org/hisp/dhis/calendar/impl/EthiopianCalendarTest.java 2015-08-24 07:46:44 +0000 @@ -33,7 +33,9 @@ import org.hisp.dhis.period.Cal; import org.hisp.dhis.period.DailyPeriodType; import org.hisp.dhis.period.Period; +import org.hisp.dhis.period.QuarterlyPeriodType; import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import java.util.Date; @@ -89,4 +91,15 @@ List<Period> days = new DailyPeriodType().generatePeriods( calendar, startDate, endDate ); assertEquals( 18264, days.size() ); } + + @Test + @Ignore + public void testGenerateQuarterlyPeriods() + { + Date startDate = new Cal( 1975, 1, 1, true ).time(); + Date endDate = new Cal( 1976, 1, 2, true ).time(); + + List<Period> quarters = new QuarterlyPeriodType().generatePeriods( calendar, startDate, endDate ); + assertEquals( 5, quarters.size() ); + } }
_______________________________________________ Mailing list: https://launchpad.net/~dhis2-devs Post to : dhis2-devs@lists.launchpad.net Unsubscribe : https://launchpad.net/~dhis2-devs More help : https://help.launchpad.net/ListHelp