=== modified file 'dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dhis14/file/rowhandler/RoutineDataValueRowHandler.java' --- dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dhis14/file/rowhandler/RoutineDataValueRowHandler.java 2011-04-22 21:04:14 +0000 +++ dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dhis14/file/rowhandler/RoutineDataValueRowHandler.java 2011-06-22 14:52:17 +0000 @@ -103,6 +103,26 @@ { final Dhis14RoutineDataValue dhis14Value = (Dhis14RoutineDataValue) object; + final Integer dataElementId = dataElementMapping.get( dhis14Value.getDataElementId() ); + final Integer periodId = periodMapping.get( dhis14Value.getPeriodId() ); + final Integer organisationUnitId = organisationUnitMapping.get( dhis14Value.getOrganisationUnitId() ); + + if ( dataElementId == null ) + { + log.warn( "Data element does not exist for identifier: " + dhis14Value.getDataElementId() ); + return; + } + if ( periodId == null ) + { + log.warn( "Period does not exist for identifier: " + dhis14Value.getPeriodId() ); + return; + } + if ( organisationUnitId == null ) + { + log.warn( "Organisation unit does not exist for identifier: " + dhis14Value.getOrganisationUnitId() ); + return; + } + element.setId( dataElementMapping.get( dhis14Value.getDataElementId() ) ); period.setId( periodMapping.get( dhis14Value.getPeriodId() ) ); source.setId( organisationUnitMapping.get( dhis14Value.getOrganisationUnitId() ) ); === modified file 'dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dhis14/file/rowhandler/SemiPermanentDataValueRowHandler.java' --- dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dhis14/file/rowhandler/SemiPermanentDataValueRowHandler.java 2011-04-22 21:04:14 +0000 +++ dhis-2/dhis-services/dhis-service-importexport/src/main/java/org/hisp/dhis/importexport/dhis14/file/rowhandler/SemiPermanentDataValueRowHandler.java 2011-06-22 14:52:17 +0000 @@ -100,14 +100,28 @@ { final Dhis14SemiPermanentDataValue dhis14Value = (Dhis14SemiPermanentDataValue) object; + final Integer dataElementId = dataElementMapping.get( dhis14Value.getDataElementId() ); + final Integer organisationUnitId = organisationUnitMapping.get( dhis14Value.getOrganisationUnitId() ); + + if ( dataElementId == null ) + { + log.warn( "Data element does not exist for identifier: " + dhis14Value.getDataElementId() ); + return; + } + if ( organisationUnitId == null ) + { + log.warn( "Organisation unit does not exist for identifier: " + dhis14Value.getOrganisationUnitId() ); + return; + } + final Period period = new Period(); period.setPeriodType( dhis14Value.getPeriodType() ); period.setStartDate( dhis14Value.getStartDate() ); period.setEndDate( dhis14Value.getEndDate() ); - element.setId( dataElementMapping.get( dhis14Value.getDataElementId() ) ); - source.setId( organisationUnitMapping.get( dhis14Value.getOrganisationUnitId() ) ); + element.setId( dataElementId ); + source.setId( organisationUnitId ); period.setId( periodMapping.get( period ) ); value.setDataElement( element );