use of org.hisp.dhis.common.BaseDimensionalItemObject in project dhis2-core by dhis2.
the class AbstractJdbcEventAnalyticsManagerTest method verifyGetAggregateClauseWithValueFails.
@Test
void verifyGetAggregateClauseWithValueFails() {
DimensionalItemObject dio = new BaseDimensionalItemObject(dataElementA.getUid());
EventQueryParams params = new EventQueryParams.Builder(createRequestParams()).withValue(dio).withAggregationType(fromAggregationType(AggregationType.CUSTOM)).build();
assertThrows(IllegalArgumentException.class, () -> subject.getAggregateClause(params));
}
use of org.hisp.dhis.common.BaseDimensionalItemObject in project dhis2-core by dhis2.
the class AbstractJdbcEventAnalyticsManagerTest method verifyGetSelectSqlWithTextDataElement.
@Test
void verifyGetSelectSqlWithTextDataElement() {
DimensionalItemObject dio = new BaseDimensionalItemObject(dataElementA.getUid());
QueryItem item = new QueryItem(dio);
item.setValueType(ValueType.TEXT);
QueryFilter queryFilter = new QueryFilter(QueryOperator.EQ, "EQ");
String column = subject.getSelectSql(queryFilter, item, from, to);
assertThat(column, is("ax.\"" + dataElementA.getUid() + "\""));
}
use of org.hisp.dhis.common.BaseDimensionalItemObject in project dhis2-core by dhis2.
the class EnrollmentAnalyticsManagerTest method verifyGetCoordinateColumnWithProgramStage.
@Test
void verifyGetCoordinateColumnWithProgramStage() {
// Given
DimensionalItemObject dio = new BaseDimensionalItemObject(dataElementA.getUid());
QueryItem item = new QueryItem(dio);
item.setValueType(ValueType.COORDINATE);
item.setProgramStage(programStage);
item.setProgram(programA);
// When
String columnSql = subject.getCoordinateColumn(item);
// Then
String colName = quote(item.getItemName());
String eventTableName = "analytics_event_" + item.getProgram().getUid();
assertThat(columnSql, is("(select " + "'[' || round(ST_X((" + colName + "))::numeric, 6) || ',' || round(ST_Y((" + colName + "))::numeric, 6) || ']' as " + colName + " from " + eventTableName + " where " + eventTableName + ".pi = " + ANALYTICS_TBL_ALIAS + ".pi " + "and " + colName + " is not null " + "and ps = '" + item.getProgramStage().getUid() + "' order by executiondate " + "desc limit 1 )"));
}
use of org.hisp.dhis.common.BaseDimensionalItemObject in project dhis2-core by dhis2.
the class CascadeSharingTest method baseDimensionalItemObject.
protected DimensionalItemObject baseDimensionalItemObject(final String dimensionItem, DimensionItemType type) {
final BaseDimensionalItemObject baseDimensionalItemObject = new BaseDimensionalItemObject(dimensionItem);
baseDimensionalItemObject.setDimensionItemType(type);
return baseDimensionalItemObject;
}
use of org.hisp.dhis.common.BaseDimensionalItemObject 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();
}
Aggregations