Search in sources :

Example 21 with DimensionalObject

use of org.hisp.dhis.common.DimensionalObject in project dhis2-core by dhis2.

the class DefaultAnalyticsService method addMetaData.

/**
     * Adds meta data values to the given grid based on the given data query
     * parameters.
     *
     * @param params the {@link DataQueryParams}.
     * @param grid the grid.
     */
private void addMetaData(DataQueryParams params, Grid grid) {
    if (!params.isSkipMeta()) {
        Map<String, Object> metaData = new HashMap<>();
        Map<String, Object> internalMetaData = new HashMap<>();
        // -----------------------------------------------------------------
        // Items / names element
        // -----------------------------------------------------------------
        Map<String, String> cocNameMap = AnalyticsUtils.getCocNameMap(params);
        if (params.getApiVersion().ge(DhisApiVersion.V26)) {
            metaData.put(AnalyticsMetaDataKey.ITEMS.getKey(), AnalyticsUtils.getDimensionMetadataItemMap(params));
        } else {
            Map<String, String> uidNameMap = AnalyticsUtils.getDimensionItemNameMap(params);
            uidNameMap.putAll(cocNameMap);
            uidNameMap.put(DATA_X_DIM_ID, DISPLAY_NAME_DATA_X);
            metaData.put(AnalyticsMetaDataKey.NAMES.getKey(), uidNameMap);
        }
        // -----------------------------------------------------------------
        // Item order elements
        // -----------------------------------------------------------------
        Map<String, Object> dimensionItems = new HashMap<>();
        Calendar calendar = PeriodType.getCalendar();
        List<String> periodUids = calendar.isIso8601() ? getDimensionalItemIds(params.getDimensionOrFilterItems(PERIOD_DIM_ID)) : getLocalPeriodIdentifiers(params.getDimensionOrFilterItems(PERIOD_DIM_ID), calendar);
        dimensionItems.put(PERIOD_DIM_ID, periodUids);
        dimensionItems.put(CATEGORYOPTIONCOMBO_DIM_ID, cocNameMap.keySet());
        for (DimensionalObject dim : params.getDimensionsAndFilters()) {
            if (!dimensionItems.keySet().contains(dim.getDimension())) {
                dimensionItems.put(dim.getDimension(), getDimensionalItemIds(dim.getItems()));
            }
        }
        if (params.getApiVersion().ge(DhisApiVersion.V26)) {
            metaData.put(AnalyticsMetaDataKey.DIMENSIONS.getKey(), dimensionItems);
        } else {
            metaData.putAll(dimensionItems);
        }
        // -----------------------------------------------------------------
        // Organisation unit hierarchy
        // -----------------------------------------------------------------
        User user = securityManager.getCurrentUser(params);
        List<OrganisationUnit> organisationUnits = asTypedList(params.getDimensionOrFilterItems(ORGUNIT_DIM_ID));
        Collection<OrganisationUnit> roots = user != null ? user.getOrganisationUnits() : null;
        if (params.isHierarchyMeta()) {
            metaData.put(AnalyticsMetaDataKey.ORG_UNIT_HIERARCHY.getKey(), getParentGraphMap(organisationUnits, roots));
        }
        if (params.isShowHierarchy()) {
            Map<Object, List<?>> ancestorMap = organisationUnits.stream().collect(Collectors.toMap(OrganisationUnit::getUid, ou -> ou.getAncestorNames(roots, true)));
            internalMetaData.put(AnalyticsMetaDataKey.ORG_UNIT_ANCESTORS.getKey(), ancestorMap);
            metaData.put(AnalyticsMetaDataKey.ORG_UNIT_NAME_HIERARCHY.getKey(), getParentNameGraphMap(organisationUnits, roots, true));
        }
        grid.setMetaData(ImmutableMap.copyOf(metaData));
        grid.setInternalMetaData(ImmutableMap.copyOf(internalMetaData));
    }
}
Also used : ListGrid(org.hisp.dhis.system.grid.ListGrid) EventAnalyticsService(org.hisp.dhis.analytics.event.EventAnalyticsService) ValueType(org.hisp.dhis.common.ValueType) Autowired(org.springframework.beans.factory.annotation.Autowired) AnalyticsSecurityManager(org.hisp.dhis.analytics.AnalyticsSecurityManager) CombinationGenerator(org.hisp.dhis.common.CombinationGenerator) Future(java.util.concurrent.Future) Calendar(org.hisp.dhis.calendar.Calendar) Map(java.util.Map) IndicatorValue(org.hisp.dhis.indicator.IndicatorValue) ReportingRateMetric(org.hisp.dhis.common.ReportingRateMetric) Period(org.hisp.dhis.period.Period) ImmutableMap(com.google.common.collect.ImmutableMap) EventQueryParams(org.hisp.dhis.analytics.event.EventQueryParams) ListUtils(org.hisp.dhis.commons.collection.ListUtils) OrganisationUnitGroup(org.hisp.dhis.organisationunit.OrganisationUnitGroup) Collection(java.util.Collection) IRT2D(org.hisp.dhis.reporttable.ReportTable.IRT2D) Set(java.util.Set) AnalyticsTableType(org.hisp.dhis.analytics.table.AnalyticsTableType) RawAnalyticsManager(org.hisp.dhis.analytics.RawAnalyticsManager) DimensionType(org.hisp.dhis.common.DimensionType) Collectors(java.util.stream.Collectors) DataValueSet(org.hisp.dhis.dxf2.datavalueset.DataValueSet) OrganisationUnit.getParentGraphMap(org.hisp.dhis.organisationunit.OrganisationUnit.getParentGraphMap) List(java.util.List) DataQueryParams(org.hisp.dhis.analytics.DataQueryParams) DimensionalObject(org.hisp.dhis.common.DimensionalObject) ProcessingHint(org.hisp.dhis.analytics.ProcessingHint) LogFactory(org.apache.commons.logging.LogFactory) DimensionItem(org.hisp.dhis.analytics.DimensionItem) MathUtils(org.hisp.dhis.system.util.MathUtils) DimensionalObjectUtils.asTypedList(org.hisp.dhis.common.DimensionalObjectUtils.asTypedList) AnalyticalObject(org.hisp.dhis.common.AnalyticalObject) DhisApiVersion(org.hisp.dhis.common.DhisApiVersion) ReportTable.addListIfEmpty(org.hisp.dhis.reporttable.ReportTable.addListIfEmpty) AnalyticsMetaDataKey(org.hisp.dhis.analytics.AnalyticsMetaDataKey) DataQueryService(org.hisp.dhis.analytics.DataQueryService) DimensionalItemObject(org.hisp.dhis.common.DimensionalItemObject) IdentifiableObjectUtils(org.hisp.dhis.common.IdentifiableObjectUtils) PeriodType.getPeriodTypeFromIsoString(org.hisp.dhis.period.PeriodType.getPeriodTypeFromIsoString) HashMap(java.util.HashMap) Function(java.util.function.Function) ArrayList(java.util.ArrayList) ExpressionService(org.hisp.dhis.expression.ExpressionService) Lists(com.google.common.collect.Lists) ReportTable(org.hisp.dhis.reporttable.ReportTable) GridHeader(org.hisp.dhis.common.GridHeader) DataQueryGroups(org.hisp.dhis.analytics.DataQueryGroups) Indicator(org.hisp.dhis.indicator.Indicator) User(org.hisp.dhis.user.User) DimensionalObjectUtils.getDimensionalItemIds(org.hisp.dhis.common.DimensionalObjectUtils.getDimensionalItemIds) SystemSettingManager(org.hisp.dhis.setting.SystemSettingManager) OrganisationUnit.getParentNameGraphMap(org.hisp.dhis.organisationunit.OrganisationUnit.getParentNameGraphMap) DataDimensionItemType(org.hisp.dhis.common.DataDimensionItemType) DimensionalObjectUtils(org.hisp.dhis.common.DimensionalObjectUtils) DataElementOperand(org.hisp.dhis.dataelement.DataElementOperand) Timer(org.hisp.dhis.util.Timer) QueryPlanner(org.hisp.dhis.analytics.QueryPlanner) AggregationType(org.hisp.dhis.analytics.AggregationType) ConstantService(org.hisp.dhis.constant.ConstantService) BaseDimensionalObject(org.hisp.dhis.common.BaseDimensionalObject) Grid(org.hisp.dhis.common.Grid) OutputFormat(org.hisp.dhis.analytics.OutputFormat) DebugUtils(org.hisp.dhis.commons.util.DebugUtils) OrganisationUnit(org.hisp.dhis.organisationunit.OrganisationUnit) SystemUtils(org.hisp.dhis.commons.util.SystemUtils) QueryPlannerParams(org.hisp.dhis.analytics.QueryPlannerParams) AnalyticsUtils(org.hisp.dhis.analytics.AnalyticsUtils) PeriodType(org.hisp.dhis.period.PeriodType) Log(org.apache.commons.logging.Log) IdentifiableObjectUtils.getLocalPeriodIdentifiers(org.hisp.dhis.common.IdentifiableObjectUtils.getLocalPeriodIdentifiers) SettingKey(org.hisp.dhis.setting.SettingKey) AnalyticsManager(org.hisp.dhis.analytics.AnalyticsManager) AnalyticsService(org.hisp.dhis.analytics.AnalyticsService) OrganisationUnit(org.hisp.dhis.organisationunit.OrganisationUnit) User(org.hisp.dhis.user.User) HashMap(java.util.HashMap) Calendar(org.hisp.dhis.calendar.Calendar) PeriodType.getPeriodTypeFromIsoString(org.hisp.dhis.period.PeriodType.getPeriodTypeFromIsoString) DimensionalObject(org.hisp.dhis.common.DimensionalObject) BaseDimensionalObject(org.hisp.dhis.common.BaseDimensionalObject) DimensionalObject(org.hisp.dhis.common.DimensionalObject) AnalyticalObject(org.hisp.dhis.common.AnalyticalObject) DimensionalItemObject(org.hisp.dhis.common.DimensionalItemObject) BaseDimensionalObject(org.hisp.dhis.common.BaseDimensionalObject) List(java.util.List) DimensionalObjectUtils.asTypedList(org.hisp.dhis.common.DimensionalObjectUtils.asTypedList) ArrayList(java.util.ArrayList)

Example 22 with DimensionalObject

use of org.hisp.dhis.common.DimensionalObject in project dhis2-core by dhis2.

the class AnalyticsUtilsTest method testGetDimensionalItemObjectMap.

@Test
public 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);
}
Also used : DataElement(org.hisp.dhis.dataelement.DataElement) DataSet(org.hisp.dhis.dataset.DataSet) Indicator(org.hisp.dhis.indicator.Indicator) ProgramIndicator(org.hisp.dhis.program.ProgramIndicator) DimensionalObject(org.hisp.dhis.common.DimensionalObject) Test(org.junit.Test) DhisConvenienceTest(org.hisp.dhis.DhisConvenienceTest)

Example 23 with DimensionalObject

use of org.hisp.dhis.common.DimensionalObject in project dhis2-core by dhis2.

the class AnalyticsUtilsTest method testGetDimensionItemNameMap.

@Test
public 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());
}
Also used : DataElement(org.hisp.dhis.dataelement.DataElement) OrganisationUnit(org.hisp.dhis.organisationunit.OrganisationUnit) DataSet(org.hisp.dhis.dataset.DataSet) Indicator(org.hisp.dhis.indicator.Indicator) ProgramIndicator(org.hisp.dhis.program.ProgramIndicator) DimensionalObject(org.hisp.dhis.common.DimensionalObject) Test(org.junit.Test) DhisConvenienceTest(org.hisp.dhis.DhisConvenienceTest)

Example 24 with DimensionalObject

use of org.hisp.dhis.common.DimensionalObject in project dhis2-core by dhis2.

the class DefaultDataQueryService method getFromAnalyticalObject.

@Override
public DataQueryParams getFromAnalyticalObject(AnalyticalObject object) {
    Assert.notNull(object, "Analytical object cannot be null");
    DataQueryParams.Builder params = DataQueryParams.newBuilder();
    I18nFormat format = i18nManager.getI18nFormat();
    IdScheme idScheme = IdScheme.UID;
    Date date = object.getRelativePeriodDate();
    String userOrgUnit = object.getRelativeOrganisationUnit() != null ? object.getRelativeOrganisationUnit().getUid() : null;
    List<OrganisationUnit> userOrgUnits = getUserOrgUnits(null, userOrgUnit);
    object.populateAnalyticalProperties();
    for (DimensionalObject column : object.getColumns()) {
        params.addDimension(getDimension(column.getDimension(), getDimensionalItemIds(column.getItems()), date, userOrgUnits, format, false, false, idScheme));
    }
    for (DimensionalObject row : object.getRows()) {
        params.addDimension(getDimension(row.getDimension(), getDimensionalItemIds(row.getItems()), date, userOrgUnits, format, false, false, idScheme));
    }
    for (DimensionalObject filter : object.getFilters()) {
        params.addFilter(getDimension(filter.getDimension(), getDimensionalItemIds(filter.getItems()), date, userOrgUnits, format, false, false, idScheme));
    }
    return params.build();
}
Also used : DataQueryParams(org.hisp.dhis.analytics.DataQueryParams) OrganisationUnit(org.hisp.dhis.organisationunit.OrganisationUnit) I18nFormat(org.hisp.dhis.i18n.I18nFormat) DimensionalObject(org.hisp.dhis.common.DimensionalObject)

Example 25 with DimensionalObject

use of org.hisp.dhis.common.DimensionalObject in project dhis2-core by dhis2.

the class DefaultDataQueryService method getDimension.

// TODO optimize so that org unit levels + boundary are used in query instead of fetching all org units one by one
@Override
public DimensionalObject getDimension(String dimension, List<String> items, Date relativePeriodDate, List<OrganisationUnit> userOrgUnits, I18nFormat format, boolean allowNull, boolean allowAllPeriodItems, IdScheme inputIdScheme) {
    final boolean allItems = items.isEmpty();
    if (DATA_X_DIM_ID.equals(dimension)) {
        List<DimensionalItemObject> dataDimensionItems = new ArrayList<>();
        for (String uid : items) {
            if (uid.startsWith(KEY_DE_GROUP)) {
                String groupUid = DimensionalObjectUtils.getUidFromGroupParam(uid);
                DataElementGroup group = idObjectManager.getObject(DataElementGroup.class, inputIdScheme, groupUid);
                if (group != null) {
                    dataDimensionItems.addAll(group.getMembers());
                }
            } else if (uid.startsWith(KEY_IN_GROUP)) {
                String groupUid = DimensionalObjectUtils.getUidFromGroupParam(uid);
                IndicatorGroup group = idObjectManager.getObject(IndicatorGroup.class, inputIdScheme, groupUid);
                if (group != null) {
                    dataDimensionItems.addAll(group.getMembers());
                }
            } else {
                DimensionalItemObject dimItemObject = dimensionService.getDataDimensionalItemObject(inputIdScheme, uid);
                if (dimItemObject != null) {
                    dataDimensionItems.add(dimItemObject);
                }
            }
        }
        if (dataDimensionItems.isEmpty()) {
            throw new IllegalQueryException("Dimension dx is present in query without any valid dimension options");
        }
        DimensionalObject object = new BaseDimensionalObject(dimension, DimensionType.DATA_X, null, DISPLAY_NAME_DATA_X, dataDimensionItems);
        return object;
    } else if (CATEGORYOPTIONCOMBO_DIM_ID.equals(dimension)) {
        List<DimensionalItemObject> cocs = new ArrayList<>();
        for (String uid : items) {
            DataElementCategoryOptionCombo coc = idObjectManager.getObject(DataElementCategoryOptionCombo.class, inputIdScheme, uid);
            if (coc != null) {
                cocs.add(coc);
            }
        }
        DimensionalObject object = new BaseDimensionalObject(dimension, DimensionType.CATEGORY_OPTION_COMBO, null, DISPLAY_NAME_CATEGORYOPTIONCOMBO, cocs);
        return object;
    } else if (ATTRIBUTEOPTIONCOMBO_DIM_ID.equals(dimension)) {
        List<DimensionalItemObject> aocs = new ArrayList<>();
        for (String uid : items) {
            DataElementCategoryOptionCombo aoc = idObjectManager.getObject(DataElementCategoryOptionCombo.class, inputIdScheme, uid);
            if (aoc != null) {
                aocs.add(aoc);
            }
        }
        DimensionalObject object = new BaseDimensionalObject(dimension, DimensionType.ATTRIBUTE_OPTION_COMBO, null, DISPLAY_NAME_ATTRIBUTEOPTIONCOMBO, aocs);
        return object;
    } else if (PERIOD_DIM_ID.equals(dimension)) {
        Calendar calendar = PeriodType.getCalendar();
        List<Period> periods = new ArrayList<>();
        for (String isoPeriod : items) {
            if (RelativePeriodEnum.contains(isoPeriod)) {
                RelativePeriodEnum relativePeriod = RelativePeriodEnum.valueOf(isoPeriod);
                List<Period> relativePeriods = RelativePeriods.getRelativePeriodsFromEnum(relativePeriod, relativePeriodDate, format, true);
                periods.addAll(relativePeriods);
            } else {
                Period period = PeriodType.getPeriodFromIsoString(isoPeriod);
                if (period != null) {
                    periods.add(period);
                }
            }
        }
        // Remove duplicates
        periods = periods.stream().distinct().collect(Collectors.toList());
        if (periods.isEmpty() && !allowAllPeriodItems) {
            throw new IllegalQueryException("Dimension pe is present in query without any valid dimension options");
        }
        for (Period period : periods) {
            String name = format != null ? format.formatPeriod(period) : null;
            period.setName(name);
            period.setShortName(name);
            if (!calendar.isIso8601()) {
                period.setUid(getLocalPeriodIdentifier(period, calendar));
            }
        }
        DimensionalObject object = new BaseDimensionalObject(dimension, DimensionType.PERIOD, null, DISPLAY_NAME_PERIOD, asList(periods));
        return object;
    } else if (ORGUNIT_DIM_ID.equals(dimension)) {
        List<DimensionalItemObject> ous = new ArrayList<>();
        List<Integer> levels = new ArrayList<>();
        List<OrganisationUnitGroup> groups = new ArrayList<>();
        for (String ou : items) {
            if (KEY_USER_ORGUNIT.equals(ou) && userOrgUnits != null && !userOrgUnits.isEmpty()) {
                ous.addAll(userOrgUnits);
            } else if (KEY_USER_ORGUNIT_CHILDREN.equals(ou) && userOrgUnits != null && !userOrgUnits.isEmpty()) {
                ous.addAll(OrganisationUnit.getSortedChildren(userOrgUnits));
            } else if (KEY_USER_ORGUNIT_GRANDCHILDREN.equals(ou) && userOrgUnits != null && !userOrgUnits.isEmpty()) {
                ous.addAll(OrganisationUnit.getSortedGrandChildren(userOrgUnits));
            } else if (ou != null && ou.startsWith(KEY_LEVEL)) {
                int level = DimensionalObjectUtils.getLevelFromLevelParam(ou);
                if (level > 0) {
                    levels.add(level);
                }
            } else if (ou != null && ou.startsWith(KEY_ORGUNIT_GROUP)) {
                String uid = DimensionalObjectUtils.getUidFromGroupParam(ou);
                OrganisationUnitGroup group = idObjectManager.getObject(OrganisationUnitGroup.class, inputIdScheme, uid);
                if (group != null) {
                    groups.add(group);
                }
            } else if (!inputIdScheme.is(IdentifiableProperty.UID) || CodeGenerator.isValidUid(ou)) {
                OrganisationUnit unit = idObjectManager.getObject(OrganisationUnit.class, inputIdScheme, ou);
                if (unit != null) {
                    ous.add(unit);
                }
            }
        }
        // Remove duplicates
        ous = ous.stream().distinct().collect(Collectors.toList());
        List<DimensionalItemObject> orgUnits = new ArrayList<>();
        List<OrganisationUnit> ousList = asTypedList(ous);
        if (!levels.isEmpty()) {
            orgUnits.addAll(sort(organisationUnitService.getOrganisationUnitsAtLevels(levels, ousList)));
        }
        if (!groups.isEmpty()) {
            orgUnits.addAll(sort(organisationUnitService.getOrganisationUnits(groups, ousList)));
        }
        if (levels.isEmpty() && groups.isEmpty()) {
            orgUnits.addAll(ous);
        }
        if (orgUnits.isEmpty()) {
            throw new IllegalQueryException("Dimension ou is present in query without any valid dimension options");
        }
        // Remove duplicates
        orgUnits = orgUnits.stream().distinct().collect(Collectors.toList());
        DimensionalObject object = new BaseDimensionalObject(dimension, DimensionType.ORGANISATION_UNIT, null, DISPLAY_NAME_ORGUNIT, orgUnits);
        return object;
    } else if (LONGITUDE_DIM_ID.contains(dimension)) {
        DimensionalObject object = new BaseDimensionalObject(dimension, DimensionType.STATIC, null, DISPLAY_NAME_LONGITUDE, new ArrayList<>());
        return object;
    } else if (LATITUDE_DIM_ID.contains(dimension)) {
        DimensionalObject object = new BaseDimensionalObject(dimension, DimensionType.STATIC, null, DISPLAY_NAME_LATITUDE, new ArrayList<>());
        return object;
    } else {
        DimensionalObject dimObject = idObjectManager.get(DataQueryParams.DYNAMIC_DIM_CLASSES, inputIdScheme, dimension);
        if (dimObject != null && dimObject.isDataDimension()) {
            Class<?> dimClass = ReflectionUtils.getRealClass(dimObject.getClass());
            Class<? extends DimensionalItemObject> itemClass = DimensionalObject.DIMENSION_CLASS_ITEM_CLASS_MAP.get(dimClass);
            List<DimensionalItemObject> dimItems = !allItems ? asList(idObjectManager.getByUidOrdered(itemClass, items)) : dimObject.getItems();
            DimensionalObject object = new BaseDimensionalObject(dimension, dimObject.getDimensionType(), null, dimObject.getName(), dimItems, allItems);
            return object;
        }
    }
    if (allowNull) {
        return null;
    }
    throw new IllegalQueryException("Dimension identifier does not reference any dimension: " + dimension);
}
Also used : OrganisationUnit(org.hisp.dhis.organisationunit.OrganisationUnit) IndicatorGroup(org.hisp.dhis.indicator.IndicatorGroup) Calendar(org.hisp.dhis.calendar.Calendar) Period(org.hisp.dhis.period.Period) DimensionalObject(org.hisp.dhis.common.DimensionalObject) OrganisationUnitGroup(org.hisp.dhis.organisationunit.OrganisationUnitGroup) RelativePeriodEnum(org.hisp.dhis.period.RelativePeriodEnum) DataElementGroup(org.hisp.dhis.dataelement.DataElementGroup) DataElementCategoryOptionCombo(org.hisp.dhis.dataelement.DataElementCategoryOptionCombo)

Aggregations

DimensionalObject (org.hisp.dhis.common.DimensionalObject)44 ArrayList (java.util.ArrayList)14 BaseDimensionalObject (org.hisp.dhis.common.BaseDimensionalObject)14 DimensionalItemObject (org.hisp.dhis.common.DimensionalItemObject)13 DataQueryParams (org.hisp.dhis.analytics.DataQueryParams)11 OrganisationUnit (org.hisp.dhis.organisationunit.OrganisationUnit)10 Test (org.junit.Test)8 List (java.util.List)6 DhisConvenienceTest (org.hisp.dhis.DhisConvenienceTest)5 Grid (org.hisp.dhis.common.Grid)5 DataElement (org.hisp.dhis.dataelement.DataElement)5 Period (org.hisp.dhis.period.Period)5 DateUtils.getMediumDateString (org.hisp.dhis.system.util.DateUtils.getMediumDateString)5 Calendar (org.hisp.dhis.calendar.Calendar)4 User (org.hisp.dhis.user.User)4 CategoryOptionGroupSet (org.hisp.dhis.dataelement.CategoryOptionGroupSet)3 DataSet (org.hisp.dhis.dataset.DataSet)3 Indicator (org.hisp.dhis.indicator.Indicator)3 OrganisationUnitGroup (org.hisp.dhis.organisationunit.OrganisationUnitGroup)3 ListGrid (org.hisp.dhis.system.grid.ListGrid)3