use of org.hisp.dhis.webapi.controller.tracker.TrackerImportReportRequest in project dhis2-core by dhis2.
the class TrackerImportController method syncPostCsvTracker.
@PostMapping(value = "", consumes = { "application/csv", "text/csv" }, produces = APPLICATION_JSON_VALUE, params = { "async=false" })
public ResponseEntity<TrackerImportReport> syncPostCsvTracker(HttpServletRequest request, @RequestParam(required = false, defaultValue = "true") boolean skipFirst, @RequestParam(defaultValue = "errors", required = false) String reportMode, @CurrentUser User currentUser) throws IOException, ParseException {
InputStream inputStream = StreamUtils.wrapAndCheckCompressionFormat(request.getInputStream());
List<Event> events = csvEventService.readEvents(inputStream, skipFirst);
TrackerBundleParams trackerBundleParams = new TrackerBundleParams();
trackerBundleParams.setEvents(events);
TrackerImportReportRequest trackerImportReportRequest = TrackerImportReportRequest.builder().trackerBundleParams(trackerBundleParams).contextService(contextService).userUid(currentUser.getUid()).trackerBundleReportMode(TrackerBundleReportMode.getTrackerBundleReportMode(reportMode)).uid(CodeGenerator.generateUid()).build();
TrackerImportReport trackerImportReport = trackerImportStrategy.importReport(trackerImportReportRequest);
ResponseEntity.BodyBuilder builder = trackerImportReport.getStatus() == TrackerStatus.ERROR ? ResponseEntity.status(HttpStatus.CONFLICT) : ResponseEntity.ok();
return builder.body(trackerImportReport);
}
use of org.hisp.dhis.webapi.controller.tracker.TrackerImportReportRequest in project dhis2-core by dhis2.
the class TrackerImportStrategyHandlerTest method shouldImportAsync.
@Test
void shouldImportAsync() {
TrackerImportReportRequest trackerImportReportRequest = TrackerImportReportRequest.builder().contextService(contextService).userUid("userUid").uid("uid").trackerBundleParams(TrackerBundleParams.builder().build()).isAsync(true).build();
importStrategy.importReport(trackerImportReportRequest);
verify(importAsyncStrategy).importReport(any());
verify(importAsyncFalseStrategy, times(0)).importReport(any());
}
use of org.hisp.dhis.webapi.controller.tracker.TrackerImportReportRequest in project dhis2-core by dhis2.
the class TrackerImportStrategyHandlerImplTest method shouldCreateReportAsyncFalse.
@Test
void shouldCreateReportAsyncFalse() {
TrackerImportReportRequest trackerImportReportRequest = TrackerImportReportRequest.builder().trackerImportParams(TrackerImportParams.builder().jobConfiguration(new JobConfiguration("", JobType.TRACKER_IMPORT_JOB, "userId", false)).build()).trackerBundleReportMode(TrackerBundleReportMode.FULL).build();
importAsyncFalseStrategy.importReport(trackerImportReportRequest);
verify(trackerImportService).importTracker(trackerImportReportRequest.getTrackerImportParams());
verify(trackerImportService).buildImportReport(any(), any());
}
Aggregations