=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/AbstractEnrollmentService.java' --- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/AbstractEnrollmentService.java 2015-10-22 04:57:26 +0000 +++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/AbstractEnrollmentService.java 2015-10-23 05:32:46 +0000 @@ -241,7 +241,7 @@ importSummary.setStatus( ImportStatus.ERROR ); importSummary.setDescription( "TrackedEntityInstance " + trackedEntityInstance.getTrackedEntityInstance() + " already have an active enrollment in program " + program.getUid() ); - importSummary.getImportCount().incrementIgnored(); + importSummary.incrementIgnored(); return importSummary; } @@ -258,7 +258,7 @@ importSummary.setDescription( "TrackedEntityInstance " + trackedEntityInstance.getTrackedEntityInstance() + " already have a completed enrollment in program " + program.getUid() + ", and this program is" + " configured to only allow enrolling one time." ); - importSummary.getImportCount().incrementIgnored(); + importSummary.incrementIgnored(); return importSummary; } @@ -272,7 +272,7 @@ if ( !importConflicts.isEmpty() ) { importSummary.setStatus( ImportStatus.ERROR ); - importSummary.getImportCount().incrementIgnored(); + importSummary.incrementIgnored(); return importSummary; } @@ -287,6 +287,7 @@ importSummary.setStatus( ImportStatus.ERROR ); importSummary.setDescription( "Could not enroll TrackedEntityInstance " + enrollment.getTrackedEntityInstance() + " into program " + enrollment.getProgram() ); + importSummary.incrementIgnored(); return importSummary; } @@ -335,20 +336,14 @@ if ( enrollment == null || enrollment.getEnrollment() == null ) { - importSummary = new ImportSummary( ImportStatus.ERROR, "No enrollment or enrollment ID was supplied" ); - importSummary.getImportCount().incrementIgnored(); - - return importSummary; + return new ImportSummary( ImportStatus.ERROR, "No enrollment or enrollment ID was supplied" ).incrementIgnored(); } ProgramInstance programInstance = programInstanceService.getProgramInstance( enrollment.getEnrollment() ); if ( programInstance == null ) { - importSummary = new ImportSummary( ImportStatus.ERROR, "Enrollment ID was not valid." ); - importSummary.getImportCount().incrementIgnored(); - - return importSummary; + return new ImportSummary( ImportStatus.ERROR, "Enrollment ID was not valid." ).incrementIgnored(); } Set importConflicts = new HashSet<>(); @@ -385,10 +380,7 @@ } else { - importSummary = new ImportSummary( ImportStatus.ERROR, "Re-enrollment is not allowed, please create a new enrollment." ); - importSummary.getImportCount().incrementIgnored(); - - return importSummary; + return new ImportSummary( ImportStatus.ERROR, "Re-enrollment is not allowed, please create a new enrollment." ).incrementIgnored(); } } @@ -415,10 +407,10 @@ if ( programInstance != null ) { programInstanceService.deleteProgramInstance( programInstance ); - return new ImportSummary( ImportStatus.SUCCESS, "Deletion of enrollment " + uid + " was successful." ); + return new ImportSummary( ImportStatus.SUCCESS, "Deletion of enrollment " + uid + " was successful." ).incrementDeleted(); } - return new ImportSummary( ImportStatus.ERROR, "ID " + uid + " does not point to a valid enrollment" ); + return new ImportSummary( ImportStatus.ERROR, "ID " + uid + " does not point to a valid enrollment" ).incrementIgnored(); } @Override === modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/JacksonEnrollmentService.java' --- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/JacksonEnrollmentService.java 2015-10-23 05:12:02 +0000 +++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/enrollment/JacksonEnrollmentService.java 2015-10-23 05:32:46 +0000 @@ -43,6 +43,7 @@ import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * @author Morten Olav Hansen @@ -142,6 +143,7 @@ List create = new ArrayList<>(); List update = new ArrayList<>(); + List delete = new ArrayList<>(); if ( importOptions.getImportStrategy().isCreate() ) { @@ -168,9 +170,14 @@ } } } + else if ( importOptions.getImportStrategy().isDelete() ) + { + delete.addAll( enrollments.stream().map( Enrollment::getEnrollment ).collect( Collectors.toList() ) ); + } importSummaries.addImportSummaries( addEnrollments( create ) ); importSummaries.addImportSummaries( updateEnrollments( update ) ); + importSummaries.addImportSummaries( deleteEnrollments( delete ) ); return importSummaries; }