=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/DefaultImportService.java' --- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/DefaultImportService.java 2013-12-16 08:58:27 +0000 +++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/DefaultImportService.java 2013-12-16 09:18:24 +0000 @@ -129,7 +129,7 @@ if ( importOptions.getImportStrategy().isDelete() ) { - types = Lists.reverse( Lists.newArrayList( ExchangeClasses.getImportMap().values() ) ); + types = Lists.reverse( Lists.newArrayList( ExchangeClasses.getDeletableMap().values() ) ); } else { === modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/ExchangeClasses.java' --- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/ExchangeClasses.java 2013-10-31 10:29:22 +0000 +++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/metadata/ExchangeClasses.java 2013-12-16 09:18:24 +0000 @@ -98,6 +98,9 @@ // these are the ones that are available for dxf2 import private final static Map, String> importClasses; + // these are the ones that are available for dxf2 delete + private final static Map, String> deletableClasses; + static { allExportClasses = new LinkedHashMap, String>(); @@ -202,6 +205,11 @@ allExportClasses.put( MetaDataFilter.class, "metaDataFilters" ); exportClasses.remove( MetaDataFilter.class ); importClasses.remove( MetaDataFilter.class ); + + deletableClasses = new LinkedHashMap, String>( importClasses ); + deletableClasses.remove( User.class ); + deletableClasses.remove( UserGroup.class ); + deletableClasses.remove( UserAuthorityGroup.class ); } public static Map, String> getAllExportMap() @@ -223,4 +231,14 @@ { return new ArrayList>( importClasses.keySet() ); } + + public static Map, String> getDeletableMap() + { + return Collections.unmodifiableMap( deletableClasses ); + } + + public static List> getDeletableClasses() + { + return new ArrayList>( deletableClasses.keySet() ); + } }