=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/utils/CsvObjectUtils.java' --- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/utils/CsvObjectUtils.java 2014-03-31 12:54:07 +0000 +++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/utils/CsvObjectUtils.java 2014-04-06 12:03:35 +0000 @@ -40,8 +40,10 @@ import org.hisp.dhis.dataelement.CategoryOptionGroup; import org.hisp.dhis.dataelement.DataElement; import org.hisp.dhis.dataelement.DataElementCategoryOption; +import org.hisp.dhis.dataelement.DataElementGroup; import org.hisp.dhis.dxf2.metadata.MetaData; import org.hisp.dhis.organisationunit.OrganisationUnit; +import org.hisp.dhis.organisationunit.OrganisationUnitGroup; import com.csvreader.CsvReader; @@ -64,6 +66,10 @@ { metaData.setDataElements( dataElementsFromCsv( reader, input ) ); } + else if ( DataElementGroup.class.equals( clazz ) ) + { + metaData.setDataElementGroups( dataElementGroupsFromCsv( reader, input ) ); + } else if ( DataElementCategoryOption.class.equals( clazz ) ) { metaData.setCategoryOptions( categoryOptionsFromCsv( reader, input ) ); @@ -76,6 +82,10 @@ { metaData.setOrganisationUnits( organisationUnitsFromCsv( reader, input ) ); } + else if ( OrganisationUnitGroup.class.equals( clazz ) ) + { + metaData.setOrganisationUnitGroups( organisationUnitGroupsFromCsv( reader, input ) ); + } return metaData; } @@ -118,7 +128,7 @@ } return list; - } + } private static List dataElementsFromCsv( CsvReader reader, InputStream input ) throws IOException @@ -151,8 +161,28 @@ return list; } + + private static List dataElementGroupsFromCsv( CsvReader reader, InputStream input ) + throws IOException + { + List list = new ArrayList(); + + while ( reader.readRecord() ) + { + String[] values = reader.getValues(); + + if ( values != null && values.length > 0 ) + { + DataElementGroup object = new DataElementGroup(); + setIdentifiableObject( object, values ); + list.add( object ); + } + } + + return list; + } - public static List organisationUnitsFromCsv( CsvReader reader, InputStream input ) + private static List organisationUnitsFromCsv( CsvReader reader, InputStream input ) throws IOException { List list = new ArrayList(); @@ -187,6 +217,30 @@ return list; } + private static List organisationUnitGroupsFromCsv( CsvReader reader, InputStream input ) + throws IOException + { + List list = new ArrayList(); + + while ( reader.readRecord() ) + { + String[] values = reader.getValues(); + + if ( values != null && values.length > 0 ) + { + OrganisationUnitGroup object = new OrganisationUnitGroup(); + setIdentifiableObject( object, values ); + list.add( object ); + } + } + + return list; + } + + // ------------------------------------------------------------------------- + // Supportive methods + // ------------------------------------------------------------------------- + private static void setIdentifiableObject( BaseIdentifiableObject object, String[] values ) { object.setName( getSafe( values, 0, null, 230 ) );