=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/datavalueset/DefaultDataValueSetService.java' --- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/datavalueset/DefaultDataValueSetService.java 2015-02-20 12:35:55 +0000 +++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/datavalueset/DefaultDataValueSetService.java 2015-02-20 13:45:23 +0000 @@ -625,8 +625,8 @@ // Create meta-data maps //---------------------------------------------------------------------- - Map dataElementMap = identifiableObjectManager.getIdMap( DataElement.class, dataElementIdScheme ); - CachingMap orgUnitMap = new CachingMap(); + CachingMap dataElementMap = new CachingMap<>(); + CachingMap orgUnitMap = new CachingMap<>(); Map categoryOptionComboMap = identifiableObjectManager.getIdMap( DataElementCategoryOptionCombo.class, idScheme ); Map periodMap = new HashMap<>(); @@ -636,7 +636,8 @@ if ( importOptions.isPreheatCache() ) { - notifier.notify( id, "Loading organisation units" ); + notifier.notify( id, "Loading data elements and organisation units" ); + dataElementMap.putAll( identifiableObjectManager.getIdMap( DataElement.class, dataElementIdScheme ) ); orgUnitMap.putAll( getOrgUnitMap( orgUnitIdScheme ) ); } @@ -723,7 +724,8 @@ totalCount++; - DataElement dataElement = dataElementMap.get( trimToNull( dataValue.getDataElement() ) ); + DataElement dataElement = dataElementMap.get( trimToNull( dataValue.getDataElement() ), + new IdentifiableObjectCallable<>( identifiableObjectManager, DataElement.class, trimToNull( dataValue.getDataElement() ) ) ); Period period = outerPeriod != null ? outerPeriod : PeriodType.getPeriodFromIsoString( trimToNull( dataValue.getPeriod() ) ); OrganisationUnit orgUnit = outerOrgUnit != null ? outerOrgUnit : orgUnitMap.get( trimToNull( dataValue.getOrgUnit() ), new IdentifiableObjectCallable<>( identifiableObjectManager, OrganisationUnit.class, trimToNull( dataValue.getOrgUnit() ) ) );