Search in sources :

Example 31 with DELETED

use of org.hisp.dhis.dxf2.events.trackedentity.store.query.EventQuery.COLUMNS.DELETED in project dhis2-core by dhis2.

the class TrackedEntityInstanceServiceTest method testAddAlreadyDeletedTei.

@Test
void testAddAlreadyDeletedTei() {
    ImportOptions importOptions = new ImportOptions();
    trackedEntityInstanceService.addTrackedEntityInstance(teiMaleA, importOptions);
    trackedEntityInstanceService.deleteTrackedEntityInstance(teiMaleA.getTrackedEntityInstance());
    manager.flush();
    importOptions.setImportStrategy(ImportStrategy.CREATE);
    teiMaleA.setDeleted(true);
    ImportSummary importSummary = trackedEntityInstanceService.addTrackedEntityInstance(teiMaleA, importOptions);
    assertEquals(ImportStatus.ERROR, importSummary.getStatus());
    assertEquals(1, importSummary.getImportCount().getIgnored());
    assertTrue(importSummary.getDescription().contains("already exists or was deleted earlier"));
}
Also used : ImportSummary(org.hisp.dhis.dxf2.importsummary.ImportSummary) ImportOptions(org.hisp.dhis.dxf2.common.ImportOptions) TransactionalIntegrationTest(org.hisp.dhis.TransactionalIntegrationTest) Test(org.junit.jupiter.api.Test)

Example 32 with DELETED

use of org.hisp.dhis.dxf2.events.trackedentity.store.query.EventQuery.COLUMNS.DELETED in project dhis2-core by dhis2.

the class CategoryUtils method addAndPruneOptionCombos.

public ImportSummaries addAndPruneOptionCombos(CategoryCombo categoryCombo) {
    ImportSummaries importSummaries = new ImportSummaries();
    if (categoryCombo == null || !categoryCombo.isValid()) {
        log.warn("Category combo is null or invalid, could not update option combos: " + categoryCombo);
        importSummaries.addImportSummary(new ImportSummary(ImportStatus.ERROR, "Category combo is null or invalid, could not update option combos: " + categoryCombo));
        return importSummaries;
    }
    List<CategoryOptionCombo> generatedOptionCombos = categoryCombo.generateOptionCombosList();
    Set<CategoryOptionCombo> persistedOptionCombos = Sets.newHashSet(categoryCombo.getOptionCombos());
    boolean modified = false;
    for (CategoryOptionCombo optionCombo : generatedOptionCombos) {
        if (!persistedOptionCombos.contains(optionCombo)) {
            categoryCombo.getOptionCombos().add(optionCombo);
            categoryService.addCategoryOptionCombo(optionCombo);
            log.info("Added missing category option combo: " + optionCombo + " for category combo: " + categoryCombo.getName());
            ImportSummary importSummary = new ImportSummary();
            importSummary.setDescription("Added missing category option combo: (" + optionCombo.getName() + ") for category combo: " + categoryCombo.getName());
            importSummary.incrementImported();
            importSummaries.addImportSummary(importSummary);
            modified = true;
        }
    }
    for (CategoryOptionCombo optionCombo : persistedOptionCombos) {
        if (!generatedOptionCombos.contains(optionCombo)) {
            try {
                categoryService.deleteCategoryOptionCombo(optionCombo);
                categoryCombo.getOptionCombos().remove(optionCombo);
                log.info("Deleted obsolete category option combo: " + optionCombo.getName() + " for category combo: " + categoryCombo.getName());
                ImportSummary importSummary = new ImportSummary();
                importSummary.setDescription("Deleted obsolete category option combo: (" + optionCombo.getName() + ") for category combo: " + categoryCombo.getName());
                importSummary.incrementDeleted();
                importSummaries.addImportSummary(importSummary);
                modified = true;
            } catch (Exception ex) {
                log.warn("Could not delete category option combo: " + optionCombo);
                ImportSummary importSummary = new ImportSummary();
                importSummary.setStatus(ImportStatus.WARNING);
                importSummary.setDescription("Could not delete category option combo: (" + optionCombo.getName() + ")");
                importSummary.incrementIgnored();
                importSummaries.addImportSummary(importSummary);
            }
        }
    }
    if (modified) {
        categoryService.updateCategoryCombo(categoryCombo);
    }
    return importSummaries;
}
Also used : ImportSummary(org.hisp.dhis.dxf2.importsummary.ImportSummary) ImportSummaries(org.hisp.dhis.dxf2.importsummary.ImportSummaries) CategoryOptionCombo(org.hisp.dhis.category.CategoryOptionCombo)

Example 33 with DELETED

use of org.hisp.dhis.dxf2.events.trackedentity.store.query.EventQuery.COLUMNS.DELETED in project dhis2-core by dhis2.

the class ProgramStageInstanceBasicCheckTest method failOnDeletedProgramStageInstance.

@Test
void failOnDeletedProgramStageInstance() {
    Map<String, ProgramStageInstance> programStageInstanceMap = new HashMap<>();
    ProgramStageInstance psi = new ProgramStageInstance();
    psi.setDeleted(true);
    programStageInstanceMap.put(event.getEvent(), psi);
    when(workContext.getProgramStageInstanceMap()).thenReturn(programStageInstanceMap);
    ImportSummary summary = rule.check(new ImmutableEvent(event), workContext);
    assertHasError(summary, event, "Event ID " + event.getEvent() + " was already used and/or deleted. This event can not be modified.");
}
Also used : HashMap(java.util.HashMap) ImportSummary(org.hisp.dhis.dxf2.importsummary.ImportSummary) ProgramStageInstance(org.hisp.dhis.program.ProgramStageInstance) ImmutableEvent(org.hisp.dhis.dxf2.events.importer.shared.ImmutableEvent) Test(org.junit.jupiter.api.Test) BaseValidationTest(org.hisp.dhis.dxf2.events.importer.validation.BaseValidationTest)

Example 34 with DELETED

use of org.hisp.dhis.dxf2.events.trackedentity.store.query.EventQuery.COLUMNS.DELETED in project dhis2-core by dhis2.

the class ProgramStageInstanceBasicCheckTest method failOnProgramStageInstanceAndInvalidImportOption.

@Test
void failOnProgramStageInstanceAndInvalidImportOption() {
    Map<String, ProgramStageInstance> programStageInstanceMap = new HashMap<>();
    ProgramStageInstance psi = new ProgramStageInstance();
    programStageInstanceMap.put(event.getEvent(), psi);
    ImportOptions importOptions = ImportOptions.getDefaultImportOptions();
    importOptions.setImportStrategy(ImportStrategy.CREATE);
    when(workContext.getImportOptions()).thenReturn(importOptions);
    when(workContext.getProgramStageInstanceMap()).thenReturn(programStageInstanceMap);
    ImportSummary summary = rule.check(new ImmutableEvent(event), workContext);
    assertHasError(summary, event, "Event ID " + event.getEvent() + " was already used and/or deleted. This event can not be modified.");
}
Also used : HashMap(java.util.HashMap) ImportSummary(org.hisp.dhis.dxf2.importsummary.ImportSummary) ProgramStageInstance(org.hisp.dhis.program.ProgramStageInstance) ImportOptions(org.hisp.dhis.dxf2.common.ImportOptions) ImmutableEvent(org.hisp.dhis.dxf2.events.importer.shared.ImmutableEvent) Test(org.junit.jupiter.api.Test) BaseValidationTest(org.hisp.dhis.dxf2.events.importer.validation.BaseValidationTest)

Example 35 with DELETED

use of org.hisp.dhis.dxf2.events.trackedentity.store.query.EventQuery.COLUMNS.DELETED in project dhis2-core by dhis2.

the class DataValueSetServiceIntegrationTest method testImportAddAndReverseDeletedValuesXml.

/**
 * Import 12 data values where 4 are marked as deleted. Then import 12 data
 * values which reverse deletion of the 4 values, update 4 values and add 4
 * values.
 */
@Test
void testImportAddAndReverseDeletedValuesXml() {
    assertDataValuesCount(0);
    in = readFile("datavalueset/dataValueSetBDeleted.xml");
    ImportSummary summary = dataValueSetService.importDataValueSetXml(in);
    assertEquals(12, summary.getImportCount().getImported());
    assertDataValuesCount(8);
    // Reverse deletion and update
    in = readFile("datavalueset/dataValueSetBNew.xml");
    summary = dataValueSetService.importDataValueSetXml(in);
    assertSuccessWithImportedUpdatedDeleted(8, 4, 0, summary);
    assertDataValuesCount(16);
}
Also used : ImportSummary(org.hisp.dhis.dxf2.importsummary.ImportSummary) DhisTest(org.hisp.dhis.DhisTest) Test(org.junit.jupiter.api.Test)

Aggregations

ImportSummary (org.hisp.dhis.dxf2.importsummary.ImportSummary)26 Test (org.junit.jupiter.api.Test)12 ImportOptions (org.hisp.dhis.dxf2.common.ImportOptions)7 ProgramStageInstance (org.hisp.dhis.program.ProgramStageInstance)7 DataElement (org.hisp.dhis.dataelement.DataElement)6 WebMessageException (org.hisp.dhis.dxf2.webmessage.WebMessageException)6 OrganisationUnit (org.hisp.dhis.organisationunit.OrganisationUnit)6 IOException (java.io.IOException)5 DhisTest (org.hisp.dhis.DhisTest)5 Enrollment (org.hisp.dhis.dxf2.events.enrollment.Enrollment)5 Program (org.hisp.dhis.program.Program)5 ArrayList (java.util.ArrayList)4 HashSet (java.util.HashSet)4 IdScheme (org.hisp.dhis.common.IdScheme)4 ImportCount (org.hisp.dhis.dxf2.importsummary.ImportCount)4 ProgramStage (org.hisp.dhis.program.ProgramStage)4 Lists (com.google.common.collect.Lists)3 Date (java.util.Date)3 HashMap (java.util.HashMap)3 List (java.util.List)3