=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/comparator/SectionOrderComparator.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/comparator/SectionOrderComparator.java 2014-03-18 08:10:10 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/comparator/SectionOrderComparator.java 2014-07-02 14:37:35 +0000 @@ -35,6 +35,8 @@ public class SectionOrderComparator implements Comparator
{ + public static final SectionOrderComparator INSTANCE = new SectionOrderComparator(); + public int compare( Section o1, Section o2 ) { if ( o1.getDataSet() != null && o2.getDataSet() != null ) === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/utils/FormUtils.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/utils/FormUtils.java 2014-06-30 07:40:07 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/utils/FormUtils.java 2014-07-02 14:37:35 +0000 @@ -37,6 +37,7 @@ import org.hisp.dhis.dataelement.DataElementOperand; import org.hisp.dhis.dataset.DataSet; import org.hisp.dhis.dataset.Section; +import org.hisp.dhis.dataset.comparator.SectionOrderComparator; import org.hisp.dhis.datavalue.DataValue; import org.hisp.dhis.program.Program; import org.hisp.dhis.program.ProgramStage; @@ -47,6 +48,7 @@ import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -66,7 +68,10 @@ if ( dataSet.getSections().size() > 0 ) { - for ( Section section : dataSet.getSections() ) + List
sections = new ArrayList
( dataSet.getSections() ); + Collections.sort( sections, SectionOrderComparator.INSTANCE ); + + for ( Section section : sections ) { List fields = inputsFromDataElements( new ArrayList( section.getDataElements() ), new ArrayList( section.getGreyedFields() ) );