Search in sources :

Example 96 with Event

use of org.hisp.dhis.tracker.domain.Event in project dhis2-core by dhis2.

the class PreCheckExistenceValidationHookTest method verifyEventValidationSuccessWhenEventIsNotPresent.

@Test
void verifyEventValidationSuccessWhenEventIsNotPresent() {
    // given
    Event event = Event.builder().event(NOT_PRESENT_EVENT_UID).build();
    // when
    ValidationErrorReporter reporter = new ValidationErrorReporter(ctx);
    validationHook.validateEvent(reporter, event);
    // then
    assertFalse(reporter.hasErrors());
}
Also used : Event(org.hisp.dhis.tracker.domain.Event) ValidationErrorReporter(org.hisp.dhis.tracker.report.ValidationErrorReporter) Test(org.junit.jupiter.api.Test)

Example 97 with Event

use of org.hisp.dhis.tracker.domain.Event in project dhis2-core by dhis2.

the class PreCheckUidValidationHookTest method verifyEventValidationSuccess.

@Test
void verifyEventValidationSuccess() {
    // given
    Note note = Note.builder().note(CodeGenerator.generateUid()).build();
    Event event = Event.builder().event(CodeGenerator.generateUid()).notes(Lists.newArrayList(note)).build();
    ValidationErrorReporter reporter = new ValidationErrorReporter(ctx);
    validationHook.validateEvent(reporter, event);
    // then
    assertFalse(reporter.hasErrors());
}
Also used : Note(org.hisp.dhis.tracker.domain.Note) Event(org.hisp.dhis.tracker.domain.Event) ValidationErrorReporter(org.hisp.dhis.tracker.report.ValidationErrorReporter) Test(org.junit.jupiter.api.Test)

Example 98 with Event

use of org.hisp.dhis.tracker.domain.Event in project dhis2-core by dhis2.

the class PreCheckUidValidationHookTest method verifyEventWithNoteWithInvalidUidFails.

@Test
void verifyEventWithNoteWithInvalidUidFails() {
    // given
    Note note = Note.builder().note(INVALID_UID).build();
    Event event = Event.builder().event(CodeGenerator.generateUid()).notes(Lists.newArrayList(note)).build();
    ValidationErrorReporter reporter = new ValidationErrorReporter(ctx);
    validationHook.validateEvent(reporter, event);
    // then
    hasTrackerError(reporter, E1048, EVENT, event.getUid());
}
Also used : Note(org.hisp.dhis.tracker.domain.Note) Event(org.hisp.dhis.tracker.domain.Event) ValidationErrorReporter(org.hisp.dhis.tracker.report.ValidationErrorReporter) Test(org.junit.jupiter.api.Test)

Example 99 with Event

use of org.hisp.dhis.tracker.domain.Event in project dhis2-core by dhis2.

the class TrackerImportController method asyncPostCsvTracker.

@PostMapping(value = "", consumes = { "application/csv", "text/csv" }, produces = APPLICATION_JSON_VALUE)
@ResponseBody
public WebMessage asyncPostCsvTracker(HttpServletRequest request, @CurrentUser User currentUser, @RequestParam(required = false, defaultValue = "true") boolean skipFirst) throws IOException, ParseException {
    String jobId = CodeGenerator.generateUid();
    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()).isAsync(true).uid(jobId).authentication(SecurityContextHolder.getContext().getAuthentication()).build();
    trackerImportStrategy.importReport(trackerImportReportRequest);
    String location = ContextUtils.getRootPath(request) + "/tracker/jobs/" + jobId;
    return ok(TRACKER_JOB_ADDED).setLocation("/tracker/jobs/" + jobId).setResponse(TrackerJobWebMessageResponse.builder().id(jobId).location(location).build());
}
Also used : TrackerImportReportRequest(org.hisp.dhis.webapi.controller.tracker.TrackerImportReportRequest) TrackerBundleParams(org.hisp.dhis.webapi.controller.tracker.TrackerBundleParams) InputStream(java.io.InputStream) Event(org.hisp.dhis.tracker.domain.Event) PostMapping(org.springframework.web.bind.annotation.PostMapping) ResponseBody(org.springframework.web.bind.annotation.ResponseBody)

Example 100 with Event

use of org.hisp.dhis.tracker.domain.Event in project dhis2-core by dhis2.

the class DefaultTrackerObjectsDeletionService method deleteEvents.

@Override
public TrackerTypeReport deleteEvents(TrackerBundle bundle) {
    TrackerTypeReport typeReport = new TrackerTypeReport(TrackerType.EVENT);
    List<Event> events = bundle.getEvents();
    for (int idx = 0; idx < events.size(); idx++) {
        String uid = events.get(idx).getEvent();
        TrackerObjectReport objectReport = new TrackerObjectReport(TrackerType.EVENT, uid, idx);
        ProgramStageInstance programStageInstance = programStageInstanceService.getProgramStageInstance(uid);
        ProgramInstance programInstance = programStageInstance.getProgramInstance();
        programStageInstanceService.deleteProgramStageInstance(programStageInstance);
        if (programStageInstance.getProgramStage().getProgram().isRegistration()) {
            teiService.updateTrackedEntityInstance(programStageInstance.getProgramInstance().getEntityInstance());
            programInstance.getProgramStageInstances().remove(programStageInstance);
            programInstanceService.updateProgramInstance(programInstance);
        }
        typeReport.getStats().incDeleted();
        typeReport.addObjectReport(objectReport);
    }
    return typeReport;
}
Also used : TrackerTypeReport(org.hisp.dhis.tracker.report.TrackerTypeReport) ProgramInstance(org.hisp.dhis.program.ProgramInstance) TrackerObjectReport(org.hisp.dhis.tracker.report.TrackerObjectReport) Event(org.hisp.dhis.tracker.domain.Event) ProgramStageInstance(org.hisp.dhis.program.ProgramStageInstance)

Aggregations

Event (org.hisp.dhis.tracker.domain.Event)192 Test (org.junit.jupiter.api.Test)153 ValidationErrorReporter (org.hisp.dhis.tracker.report.ValidationErrorReporter)114 ProgramStage (org.hisp.dhis.program.ProgramStage)68 DhisConvenienceTest (org.hisp.dhis.DhisConvenienceTest)64 TrackerBundle (org.hisp.dhis.tracker.bundle.TrackerBundle)53 Enrollment (org.hisp.dhis.tracker.domain.Enrollment)43 TrackedEntity (org.hisp.dhis.tracker.domain.TrackedEntity)41 Mockito.when (org.mockito.Mockito.when)38 Assertions.assertTrue (org.junit.jupiter.api.Assertions.assertTrue)37 Assertions.assertFalse (org.junit.jupiter.api.Assertions.assertFalse)36 DataElement (org.hisp.dhis.dataelement.DataElement)35 Program (org.hisp.dhis.program.Program)35 ProgramInstance (org.hisp.dhis.program.ProgramInstance)35 DataValue (org.hisp.dhis.tracker.domain.DataValue)35 TrackerPreheat (org.hisp.dhis.tracker.preheat.TrackerPreheat)35 Assertions.assertEquals (org.junit.jupiter.api.Assertions.assertEquals)34 TrackerErrorCode (org.hisp.dhis.tracker.report.TrackerErrorCode)33 CodeGenerator (org.hisp.dhis.common.CodeGenerator)32 BeforeEach (org.junit.jupiter.api.BeforeEach)32