use of org.hisp.dhis.program.ProgramTrackedEntityAttributeDimensionItem in project dhis2-core by dhis2.
the class DefaultDimensionService method getProgramAttributeDimensionItem.
/**
* Returns a {@link ProgramTrackedEntityAttributeDimensionItem}.
*
* @param idScheme the identifier scheme.
* @param programId the program identifier.
* @param attributeId the attribute identifier.
*/
private ProgramTrackedEntityAttributeDimensionItem getProgramAttributeDimensionItem(IdScheme idScheme, String programId, String attributeId) {
Program program = idObjectManager.getObject(Program.class, idScheme, programId);
TrackedEntityAttribute attribute = idObjectManager.getObject(TrackedEntityAttribute.class, idScheme, attributeId);
if (program == null || attribute == null) {
return null;
}
return new ProgramTrackedEntityAttributeDimensionItem(program, attribute);
}
use of org.hisp.dhis.program.ProgramTrackedEntityAttributeDimensionItem in project dhis2-core by dhis2.
the class DimensionServiceTest method setUpTest.
@Override
public void setUpTest() {
deA = createDataElement('A');
deB = createDataElement('B');
deC = createDataElement('C');
deC.setDomainType(DataElementDomain.TRACKER);
dataElementService.addDataElement(deA);
dataElementService.addDataElement(deB);
dataElementService.addDataElement(deC);
cocA = categoryService.getDefaultCategoryOptionCombo();
dsA = createDataSet('A');
dataSetService.addDataSet(dsA);
prA = createProgram('A');
idObjectManager.save(prA);
psA = createProgramStage('A', 1);
idObjectManager.save(psA);
atA = createTrackedEntityAttribute('A');
idObjectManager.save(atA);
piA = createProgramIndicator('A', prA, null, null);
idObjectManager.save(piA);
peA = createPeriod("201201");
peB = createPeriod("201202");
peLast12Months = new BaseDimensionalItemObject(LAST_12_MONTHS.toString());
peA.setUid("201201");
peB.setUid("201202");
ouA = createOrganisationUnit('A');
ouB = createOrganisationUnit('B');
ouC = createOrganisationUnit('C');
ouD = createOrganisationUnit('D');
ouE = createOrganisationUnit('E');
ouB.updateParent(ouA);
ouC.updateParent(ouA);
ouD.updateParent(ouB);
ouE.updateParent(ouB);
organisationUnitService.addOrganisationUnit(ouA);
organisationUnitService.addOrganisationUnit(ouB);
organisationUnitService.addOrganisationUnit(ouC);
organisationUnitService.addOrganisationUnit(ouD);
organisationUnitService.addOrganisationUnit(ouE);
String level2 = KEY_LEVEL + 2;
ouUser = new BaseDimensionalItemObject(KEY_USER_ORGUNIT);
ouLevel2 = new BaseDimensionalItemObject(level2);
deGroupSetA = createDataElementGroupSet('A');
dataElementService.addDataElementGroupSet(deGroupSetA);
deGroupA = createDataElementGroup('A');
deGroupB = createDataElementGroup('B');
deGroupC = createDataElementGroup('C');
deGroupA.getGroupSets().add(deGroupSetA);
deGroupB.getGroupSets().add(deGroupSetA);
deGroupC.getGroupSets().add(deGroupSetA);
dataElementService.addDataElementGroup(deGroupA);
dataElementService.addDataElementGroup(deGroupB);
dataElementService.addDataElementGroup(deGroupC);
deGroupSetA.getMembers().add(deGroupA);
deGroupSetA.getMembers().add(deGroupB);
deGroupSetA.getMembers().add(deGroupC);
dataElementService.updateDataElementGroupSet(deGroupSetA);
ouGroupSetA = createOrganisationUnitGroupSet('A');
organisationUnitGroupService.addOrganisationUnitGroupSet(ouGroupSetA);
ouGroupA = createOrganisationUnitGroup('A');
ouGroupB = createOrganisationUnitGroup('B');
ouGroupC = createOrganisationUnitGroup('C');
ouGroupA.getGroupSets().add(ouGroupSetA);
ouGroupB.getGroupSets().add(ouGroupSetA);
ouGroupC.getGroupSets().add(ouGroupSetA);
organisationUnitGroupService.addOrganisationUnitGroup(ouGroupA);
organisationUnitGroupService.addOrganisationUnitGroup(ouGroupB);
organisationUnitGroupService.addOrganisationUnitGroup(ouGroupC);
ouGroupSetA.getOrganisationUnitGroups().add(ouGroupA);
ouGroupSetA.getOrganisationUnitGroups().add(ouGroupB);
ouGroupSetA.getOrganisationUnitGroups().add(ouGroupC);
organisationUnitGroupService.updateOrganisationUnitGroupSet(ouGroupSetA);
queryModsA = QueryModifiers.builder().periodOffset(10).build();
queryModsB = QueryModifiers.builder().minDate(new Date()).build();
queryModsC = QueryModifiers.builder().maxDate(new Date()).build();
itemObjectA = deA;
itemObjectB = new DataElementOperand(deA, cocA);
itemObjectC = new DataElementOperand(deA, null, cocA);
itemObjectD = new DataElementOperand(deA, cocA, cocA);
itemObjectE = new ReportingRate(dsA);
itemObjectF = new ProgramDataElementDimensionItem(prA, deA);
itemObjectG = new ProgramTrackedEntityAttributeDimensionItem(prA, atA);
itemObjectH = piA;
itemIdA = new DimensionalItemId(DATA_ELEMENT, deA.getUid());
itemIdB = new DimensionalItemId(DATA_ELEMENT_OPERAND, deA.getUid(), cocA.getUid());
itemIdC = new DimensionalItemId(DATA_ELEMENT_OPERAND, deA.getUid(), null, cocA.getUid());
itemIdD = new DimensionalItemId(DATA_ELEMENT_OPERAND, deA.getUid(), cocA.getUid(), cocA.getUid());
itemIdE = new DimensionalItemId(REPORTING_RATE, dsA.getUid(), ReportingRateMetric.REPORTING_RATE.name());
itemIdF = new DimensionalItemId(PROGRAM_DATA_ELEMENT, prA.getUid(), deA.getUid());
itemIdG = new DimensionalItemId(PROGRAM_ATTRIBUTE, prA.getUid(), atA.getUid());
itemIdH = new DimensionalItemId(PROGRAM_INDICATOR, piA.getUid());
itemIds = new HashSet<>();
itemIds.add(itemIdA);
itemIds.add(itemIdB);
itemIds.add(itemIdC);
itemIds.add(itemIdD);
itemIds.add(itemIdE);
itemIds.add(itemIdF);
itemIds.add(itemIdG);
itemIds.add(itemIdH);
itemMap = ImmutableMap.<DimensionalItemId, DimensionalItemObject>builder().put(itemIdA, itemObjectA).put(itemIdB, itemObjectB).put(itemIdC, itemObjectC).put(itemIdD, itemObjectD).put(itemIdE, itemObjectE).put(itemIdF, itemObjectF).put(itemIdG, itemObjectG).put(itemIdH, itemObjectH).build();
}
use of org.hisp.dhis.program.ProgramTrackedEntityAttributeDimensionItem in project dhis2-core by dhis2.
the class DataDimensionExtractor method getProgramAttributeDimensionItem.
/**
* Returns a {@link ProgramTrackedEntityAttributeDimensionItem}.
*
* @param idScheme the identifier scheme.
* @param programId the program identifier.
* @param attributeId the attribute identifier.
*/
ProgramTrackedEntityAttributeDimensionItem getProgramAttributeDimensionItem(final IdScheme idScheme, final String programId, final String attributeId) {
final Program program = idObjectManager.getObject(Program.class, idScheme, programId);
final TrackedEntityAttribute attribute = idObjectManager.getObject(TrackedEntityAttribute.class, idScheme, attributeId);
if (program == null || attribute == null) {
return null;
}
return new ProgramTrackedEntityAttributeDimensionItem(program, attribute);
}
use of org.hisp.dhis.program.ProgramTrackedEntityAttributeDimensionItem in project dhis2-core by dhis2.
the class DataQueryParamsTest method testGetAllProgramsInAttributesAndDataElements.
@Test
void testGetAllProgramsInAttributesAndDataElements() {
ProgramTrackedEntityAttributeDimensionItem ptaA = new ProgramTrackedEntityAttributeDimensionItem(prA, atA);
ProgramDataElementDimensionItem pdeA = new ProgramDataElementDimensionItem(prB, deA);
DataQueryParams params = DataQueryParams.newBuilder().withProgramAttributes(Lists.newArrayList(ptaA)).withProgramDataElements(Lists.newArrayList(pdeA)).withPeriods(Lists.newArrayList(peA, peB)).withOrganisationUnits(Lists.newArrayList(ouA, ouB)).build();
Set<Program> expected = Sets.newHashSet(prA, prB);
assertEquals(expected, params.getProgramsInAttributesAndDataElements());
}
Aggregations