use of org.hisp.dhis.common.BaseDimensionalObject in project dhis2-core by dhis2.
the class AnalyticsUtilsTest method testHandleGridForDataValueSet.
@Test
void testHandleGridForDataValueSet() {
IndicatorType itA = new IndicatorType();
CategoryOptionCombo ocA = createCategoryOptionCombo('A');
ocA.setUid("ceabcdefghA");
DataElement dxA = createDataElement('A');
dxA.setUid("deabcdefghA");
dxA.setValueType(ValueType.INTEGER);
DataElement dxB = createDataElement('B');
dxB.setUid("deabcdefghB");
dxB.setValueType(ValueType.NUMBER);
Indicator dxC = createIndicator('C', itA);
dxC.setUid("deabcdefghC");
dxC.setDecimals(0);
dxC.setAggregateExportAttributeOptionCombo("ceabcdefghA");
Indicator dxD = createIndicator('D', itA);
dxD.setUid("deabcdefghD");
dxD.setDecimals(2);
dxD.setAggregateExportCategoryOptionCombo("ceabcdefghB");
DataElementOperand dxE = new DataElementOperand(dxA, ocA);
DataElementOperand dxF = new DataElementOperand(dxB, ocA);
DataQueryParams params = DataQueryParams.newBuilder().addDimension(new BaseDimensionalObject(DATA_X_DIM_ID, DimensionType.DATA_X, Lists.newArrayList(dxA, dxB, dxC, dxD, dxE, dxF))).build();
Grid grid = new ListGrid();
grid.addHeader(new GridHeader(DimensionalObject.DATA_X_DIM_ID));
grid.addHeader(new GridHeader(DimensionalObject.ORGUNIT_DIM_ID));
grid.addHeader(new GridHeader(DimensionalObject.PERIOD_DIM_ID));
grid.addHeader(new GridHeader(VALUE_ID, VALUE_HEADER_NAME, ValueType.NUMBER, false, false));
grid.addRow().addValuesAsList(Lists.newArrayList("deabcdefghA", "ouA", "peA", 1d));
grid.addRow().addValuesAsList(Lists.newArrayList("deabcdefghB", "ouA", "peA", 2d));
grid.addRow().addValuesAsList(Lists.newArrayList("deabcdefghC", "ouA", "peA", 3d));
grid.addRow().addValuesAsList(Lists.newArrayList("deabcdefghD", "ouA", "peA", 4d));
grid.addRow().addValuesAsList(Lists.newArrayList("deabcdefghA.ceabcdefghA", "ouA", "peA", 5d));
grid.addRow().addValuesAsList(Lists.newArrayList("deabcdefghB.ceabcdefghA", "ouA", "peA", 6d));
assertEquals(4, grid.getWidth());
assertEquals(6, grid.getHeight());
AnalyticsUtils.handleGridForDataValueSet(params, grid);
assertEquals(6, grid.getWidth());
assertEquals(6, grid.getHeight());
assertEquals("deabcdefghA", grid.getRow(0).get(0));
assertNull(grid.getRow(0).get(3));
assertNull(grid.getRow(0).get(4));
assertEquals(1, grid.getRow(0).get(5));
assertEquals("deabcdefghB", grid.getRow(1).get(0));
assertNull(grid.getRow(1).get(3));
assertNull(grid.getRow(1).get(4));
assertEquals((Double) grid.getRow(1).get(5), 0.01, 2d);
assertEquals("deabcdefghC", grid.getRow(2).get(0));
assertNull(grid.getRow(2).get(3));
assertEquals("ceabcdefghA", grid.getRow(2).get(4));
assertEquals(3, grid.getRow(2).get(5));
assertEquals("deabcdefghD", grid.getRow(3).get(0));
assertEquals("ceabcdefghB", grid.getRow(3).get(3));
assertNull(grid.getRow(3).get(4));
assertEquals((Double) grid.getRow(3).get(5), 0.01, 4d);
assertEquals("deabcdefghA", grid.getRow(4).get(0));
assertEquals("ceabcdefghA", grid.getRow(4).get(3));
assertNull(grid.getRow(4).get(4));
assertEquals(5, grid.getRow(4).get(5));
assertEquals("deabcdefghB", grid.getRow(5).get(0));
assertEquals("ceabcdefghA", grid.getRow(5).get(3));
assertNull(grid.getRow(5).get(4));
assertEquals((Double) grid.getRow(5).get(5), 0.01, 6d);
}
use of org.hisp.dhis.common.BaseDimensionalObject in project dhis2-core by dhis2.
the class AnalyticsUtilsTest method testGetCocNameMap.
@Test
void testGetCocNameMap() {
CategoryCombo ccA = createCategoryCombo('A', new Category[0]);
CategoryCombo ccB = createCategoryCombo('B', new Category[0]);
CategoryOptionCombo cocA = createCategoryOptionCombo('A');
CategoryOptionCombo cocB = createCategoryOptionCombo('B');
ccA.getOptionCombos().add(cocA);
ccB.getOptionCombos().add(cocB);
DataElement deA = createDataElement('A');
DataElement deB = createDataElement('B');
deA.setCategoryCombo(ccA);
deB.setCategoryCombo(ccB);
DimensionalObject dx = new BaseDimensionalObject(DimensionalObject.DATA_X_DIM_ID, DimensionType.DATA_X, Lists.newArrayList(deA, deB));
DataQueryParams params = DataQueryParams.newBuilder().addDimension(dx).withDisplayProperty(DisplayProperty.NAME).build();
Map<String, String> map = AnalyticsUtils.getCocNameMap(params);
assertEquals(map.get(cocA.getUid()), cocA.getName());
assertEquals(map.get(cocB.getUid()), cocB.getName());
}
use of org.hisp.dhis.common.BaseDimensionalObject in project dhis2-core by dhis2.
the class AnalyticsUtilsTest method testGetDimensionItemNameMap.
@Test
void testGetDimensionItemNameMap() {
DataElement deA = createDataElement('A');
Indicator inA = createIndicator('A', null);
DataSet dsA = createDataSet('A');
OrganisationUnit ouA = createOrganisationUnit('A');
OrganisationUnit ouB = createOrganisationUnit('B');
DimensionalObject dx = new BaseDimensionalObject(DimensionalObject.DATA_X_DIM_ID, DimensionType.DATA_X, DimensionalObjectUtils.getList(deA, inA, dsA));
DimensionalObject ou = new BaseDimensionalObject(DimensionalObject.ORGUNIT_DIM_ID, DimensionType.ORGANISATION_UNIT, Lists.newArrayList(ouA, ouB));
DataQueryParams params = DataQueryParams.newBuilder().addDimension(dx).addDimension(ou).withDisplayProperty(DisplayProperty.NAME).build();
Map<String, String> map = AnalyticsUtils.getDimensionItemNameMap(params);
assertEquals(map.get(deA.getDimensionItem()), deA.getDisplayName());
assertEquals(map.get(inA.getDimensionItem()), inA.getDisplayName());
assertEquals(map.get(dsA.getDimensionItem()), dsA.getDisplayName());
assertEquals(map.get(ouA.getDimensionItem()), ouA.getDisplayName());
assertEquals(map.get(ouB.getDimensionItem()), ouB.getDisplayName());
}
use of org.hisp.dhis.common.BaseDimensionalObject in project dhis2-core by dhis2.
the class AnalyticsUtilsTest method testGetDimensionalItemObjectMap.
@Test
void testGetDimensionalItemObjectMap() {
DataElement deA = createDataElement('A');
Indicator inA = createIndicator('A', null);
DataSet dsA = createDataSet('A');
DimensionalObject dx = new BaseDimensionalObject(DimensionalObject.DATA_X_DIM_ID, DimensionType.DATA_X, DimensionalObjectUtils.getList(deA, inA, dsA));
DataQueryParams params = DataQueryParams.newBuilder().addDimension(dx).withDisplayProperty(DisplayProperty.NAME).build();
Map<String, DimensionalItemObject> map = AnalyticsUtils.getDimensionalItemObjectMap(params);
assertEquals(map.get(deA.getDimensionItem()), deA);
assertEquals(map.get(inA.getDimensionItem()), inA);
assertEquals(map.get(dsA.getDimensionItem()), dsA);
}
use of org.hisp.dhis.common.BaseDimensionalObject in project dhis2-core by dhis2.
the class AnalyticsSecurityManagerTest method testWithUserConstraintsAlreadyPresentEventQueryParams.
@Test
void testWithUserConstraintsAlreadyPresentEventQueryParams() {
EventQueryParams params = new EventQueryParams.Builder().addItem(new QueryItem(deA)).withStartDate(getDate(2018, 1, 1)).withEndDate(getDate(2018, 4, 1)).withOrganisationUnits(Lists.newArrayList(ouB)).addFilter(new BaseDimensionalObject(caA.getDimension(), DimensionType.CATEGORY, Lists.newArrayList(coA))).build();
params = securityManager.withUserConstraints(params);
assertEquals(Lists.newArrayList(ouB), params.getOrganisationUnits());
assertNotNull(params.getFilter(caA.getDimension()));
assertEquals(caA.getDimension(), params.getFilter(caA.getDimension()).getDimension());
assertNotNull(params.getFilter(caA.getDimension()).getItems().get(0));
assertEquals(coA.getDimensionItem(), params.getFilter(caA.getDimension()).getItems().get(0).getDimensionItem());
}
Aggregations