Search in sources :

Example 11 with ProgramTrackedEntityAttributeDimensionItem

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);
}
Also used : Program(org.hisp.dhis.program.Program) TrackedEntityAttribute(org.hisp.dhis.trackedentity.TrackedEntityAttribute) ProgramTrackedEntityAttributeDimensionItem(org.hisp.dhis.program.ProgramTrackedEntityAttributeDimensionItem)

Example 12 with ProgramTrackedEntityAttributeDimensionItem

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();
}
Also used : DataElementOperand(org.hisp.dhis.dataelement.DataElementOperand) DimensionalItemId(org.hisp.dhis.common.DimensionalItemId) ProgramDataElementDimensionItem(org.hisp.dhis.program.ProgramDataElementDimensionItem) DimensionalItemObject(org.hisp.dhis.common.DimensionalItemObject) BaseDimensionalItemObject(org.hisp.dhis.common.BaseDimensionalItemObject) ReportingRate(org.hisp.dhis.common.ReportingRate) ProgramTrackedEntityAttributeDimensionItem(org.hisp.dhis.program.ProgramTrackedEntityAttributeDimensionItem) Date(java.util.Date) BaseDimensionalItemObject(org.hisp.dhis.common.BaseDimensionalItemObject)

Example 13 with ProgramTrackedEntityAttributeDimensionItem

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);
}
Also used : Program(org.hisp.dhis.program.Program) TrackedEntityAttribute(org.hisp.dhis.trackedentity.TrackedEntityAttribute) ProgramTrackedEntityAttributeDimensionItem(org.hisp.dhis.program.ProgramTrackedEntityAttributeDimensionItem)

Example 14 with ProgramTrackedEntityAttributeDimensionItem

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());
}
Also used : ProgramDataElementDimensionItem(org.hisp.dhis.program.ProgramDataElementDimensionItem) Program(org.hisp.dhis.program.Program) ProgramTrackedEntityAttributeDimensionItem(org.hisp.dhis.program.ProgramTrackedEntityAttributeDimensionItem) Test(org.junit.jupiter.api.Test) DhisConvenienceTest(org.hisp.dhis.DhisConvenienceTest)

Aggregations

ProgramTrackedEntityAttributeDimensionItem (org.hisp.dhis.program.ProgramTrackedEntityAttributeDimensionItem)14 ProgramDataElementDimensionItem (org.hisp.dhis.program.ProgramDataElementDimensionItem)10 DataElementOperand (org.hisp.dhis.dataelement.DataElementOperand)8 ReportingRate (org.hisp.dhis.common.ReportingRate)7 DimensionalItemObject (org.hisp.dhis.common.DimensionalItemObject)6 Program (org.hisp.dhis.program.Program)5 DataElement (org.hisp.dhis.dataelement.DataElement)4 ProgramIndicator (org.hisp.dhis.program.ProgramIndicator)4 TrackedEntityAttribute (org.hisp.dhis.trackedentity.TrackedEntityAttribute)4 DataSet (org.hisp.dhis.dataset.DataSet)3 Test (org.junit.jupiter.api.Test)3 DhisSpringTest (org.hisp.dhis.DhisSpringTest)2 CategoryOptionCombo (org.hisp.dhis.category.CategoryOptionCombo)2 BaseDimensionalItemObject (org.hisp.dhis.common.BaseDimensionalItemObject)2 DimensionalItemId (org.hisp.dhis.common.DimensionalItemId)2 IdentifiableObject (org.hisp.dhis.common.IdentifiableObject)2 Indicator (org.hisp.dhis.indicator.Indicator)2 ImmutableMap (com.google.common.collect.ImmutableMap)1 ImmutableSet (com.google.common.collect.ImmutableSet)1 Date (java.util.Date)1