AnalyticsUtils { public static Map<String, String> getCocNameMap( DataQueryParams params ) { Map<String, String> metaData = new HashMap<>(); List<DimensionalItemObject> des = params.getAllDataElements(); if ( !des.isEmpty() ) { for ( DimensionalItemObject de : des ) { DataElement dataElement = (DataElement) de; for ( CategoryOptionCombo coc : dataElement.getCategoryOptionCombos() ) { metaData.put( coc.getUid(), coc.getName() ); } } } return metaData; }  static String getDebugDataSql( DataQueryParams params ); static List<DimensionalItemObject> getByDataDimensionItemType( DataDimensionItemType itemType, List<DimensionalItemObject> dataDimensionOptions ); static Number getRoundedValue( DataQueryParams params, Integer decimals, Double value ); static Object getRoundedValueObject( DataQueryParams params, Object value ); static ColumnDataType getColumnType( ValueType valueType, boolean spatialSupport ); static Map<String, T> convertDxToOperand( Map<String, T> valueMap, TotalType totalType ); static Map<String, Double> getDoubleMap( Map<String, Object> map ); static Map<String, Object> getAggregatedDataValueMapping( Grid grid ); static DataValueSet getDataValueSetFromGrid( DataQueryParams params, Grid grid ); static void handleGridForDataValueSet( DataQueryParams params, Grid grid ); static Object getIntegerOrValue( Object value, DimensionalItemObject item ); static Map<String, DimensionalItemObject> getDimensionalItemObjectMap( DataQueryParams params ); static Map<String, String> getDimensionItemNameMap( DataQueryParams params ); static Map<String, MetadataItem> getDimensionMetadataItemMap( DataQueryParams params ); static Map<String, String> getCocNameMap( DataQueryParams params ); static Map<String, String> getUidDisplayPropertyMap( List<QueryItem> queryItems, DisplayProperty displayProperty ); static Map<String, String> getUidDisplayPropertyMap( List<DimensionalObject> dimensions, boolean hierarchyMeta, DisplayProperty displayProperty ); static boolean periodIsOutsideApprovalMaxYears( Integer year, Integer maxYears ); static int getLevelFromOrgUnitDimensionName( String dimensionName ); static boolean isTableLayout( List<String> columns, List<String> rows ); static Double calculateYearlyWeightedAverage( Double year1Value, Double year2Value, Double factor ); static Double getBaseMonth( PeriodType periodType ); static void throwIllegalQueryEx( ErrorCode errorCode, Object... args ); static boolean isPeriodInPeriods( String period, List<DimensionalItemObject> periods ); static List<DimensionalItemObject> findDimensionalItems( String dimensionIdentifier,
        List<DimensionalItemObject> items ); static boolean hasPeriod( List<Object> row, int periodIndex ); static final String ERR_MSG_TABLE_NOT_EXISTING; }
@Test public 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() ); }