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"));
}
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;
}
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.");
}
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.");
}
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);
}
Aggregations