dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #16938
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 6584: Unit test for csv data value set import
------------------------------------------------------------
revno: 6584
committer: Lars Helge Overland <larshelge@xxxxxxxxx>
branch nick: dhis2
timestamp: Sun 2012-04-15 17:05:28 +0200
message:
Unit test for csv data value set import
modified:
dhis-2/dhis-dxf2/src/main/java/org/hisp/dhis/dxf2/datavalueset/DataValueSetService.java
dhis-2/dhis-dxf2/src/main/java/org/hisp/dhis/dxf2/datavalueset/DefaultDataValueSetService.java
dhis-2/dhis-dxf2/src/test/java/org/hisp/dhis/dxf2/datavalueset/DataValueSetServiceTest.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-dxf2/src/main/java/org/hisp/dhis/dxf2/datavalueset/DataValueSetService.java'
--- dhis-2/dhis-dxf2/src/main/java/org/hisp/dhis/dxf2/datavalueset/DataValueSetService.java 2012-04-14 18:32:00 +0000
+++ dhis-2/dhis-dxf2/src/main/java/org/hisp/dhis/dxf2/datavalueset/DataValueSetService.java 2012-04-15 15:05:28 +0000
@@ -29,6 +29,7 @@
import java.io.InputStream;
import java.io.OutputStream;
+import java.io.Reader;
import java.io.Writer;
import java.util.Date;
import java.util.Set;
@@ -50,4 +51,6 @@
ImportSummary saveDataValueSet( InputStream in, ImportOptions importOptions );
ImportSummary saveDataValueSet( InputStream in, ImportOptions importOptions, TaskId taskId );
+
+ ImportSummary saveDataValueSetCsv( Reader reader, ImportOptions importOptions, TaskId id );
}
=== modified file 'dhis-2/dhis-dxf2/src/main/java/org/hisp/dhis/dxf2/datavalueset/DefaultDataValueSetService.java'
--- dhis-2/dhis-dxf2/src/main/java/org/hisp/dhis/dxf2/datavalueset/DefaultDataValueSetService.java 2012-04-14 20:09:10 +0000
+++ dhis-2/dhis-dxf2/src/main/java/org/hisp/dhis/dxf2/datavalueset/DefaultDataValueSetService.java 2012-04-15 15:05:28 +0000
@@ -37,6 +37,7 @@
import java.io.InputStream;
import java.io.OutputStream;
+import java.io.Reader;
import java.io.Writer;
import java.util.Date;
import java.util.HashSet;
@@ -74,6 +75,8 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
+import au.com.bytecode.opencsv.CSVReader;
+
/**
* @author Lars Helge Overland
*/
@@ -176,11 +179,25 @@
public ImportSummary saveDataValueSet( InputStream in, ImportOptions importOptions, TaskId id )
{
+ DataValueSet dataValueSet = new StreamingDataValueSet( XMLFactory.getXMLReader( in ) );
+
+ return saveDataValueSet( importOptions, id, dataValueSet );
+ }
+
+ public ImportSummary saveDataValueSetCsv( Reader reader, ImportOptions importOptions, TaskId id )
+ {
+ DataValueSet dataValueSet = new StreamingCsvDataValueSet( new CSVReader( reader ) );
+
+ return saveDataValueSet( importOptions, id, dataValueSet );
+ }
+
+ private ImportSummary saveDataValueSet( ImportOptions importOptions, TaskId id, DataValueSet dataValueSet )
+ {
notifier.clear( id, DATAVALUE_IMPORT ).notify( id, DATAVALUE_IMPORT, "Process started" );
ImportSummary summary = new ImportSummary();
- DataValueSet dataValueSet = new StreamingDataValueSet( XMLFactory.getXMLReader( in ) );
+ importOptions = importOptions != null ? importOptions : ImportOptions.getDefaultImportOptions();
IdentifiableProperty dataElementIdScheme = dataValueSet.getDataElementIdScheme() != null ? IdentifiableProperty.valueOf( dataValueSet.getDataElementIdScheme().toUpperCase() ) : importOptions.getDataElementIdScheme();
IdentifiableProperty orgUnitIdScheme = dataValueSet.getOrgUnitIdScheme() != null ? IdentifiableProperty.valueOf( dataValueSet.getOrgUnitIdScheme().toUpperCase() ) : importOptions.getOrgUnitIdScheme();
=== modified file 'dhis-2/dhis-dxf2/src/test/java/org/hisp/dhis/dxf2/datavalueset/DataValueSetServiceTest.java'
--- dhis-2/dhis-dxf2/src/test/java/org/hisp/dhis/dxf2/datavalueset/DataValueSetServiceTest.java 2012-04-15 14:52:54 +0000
+++ dhis-2/dhis-dxf2/src/test/java/org/hisp/dhis/dxf2/datavalueset/DataValueSetServiceTest.java 2012-04-15 15:05:28 +0000
@@ -31,6 +31,7 @@
import static junit.framework.Assert.assertNotNull;
import static junit.framework.Assert.assertTrue;
+import java.io.InputStreamReader;
import java.util.Collection;
import org.hisp.dhis.DhisTest;
@@ -162,6 +163,16 @@
assertImportDataValues( summary );
}
+ @Test
+ public void testImportDataValuesCsv()
+ throws Exception
+ {
+ ImportSummary summary = dataValueSetService.saveDataValueSetCsv(
+ new InputStreamReader( new ClassPathResource( "datavalueset/dataValueSetB.csv" ).getInputStream() ), null, null );
+
+ assertImportDataValues( summary );
+ }
+
private void assertImportDataValues( ImportSummary summary )
{
assertNotNull( summary );