/** * Returns a mapping between the base dimension item identifier and the * dimension item identifier defined by the given identifier scheme. * * @param objects the dimensional item objects. * @param idScheme the identifier scheme. * @return a mapping between dimension item identifiers. */ public static Map<String, String> getDimensionItemIdSchemeMap( Collection<? extends DimensionalItemObject> objects, IdScheme idScheme ) { Map<String, String> map = Maps.newHashMap(); objects.forEach( obj -> map.put( obj.getDimensionItem(), obj.getDimensionItem( IdScheme.from( idScheme ) ) ) ); return map; }
private void setDataItem( DimensionalItemObject dimensionalItemObject ) { if ( dimensionalItemObject == null ) { return; } this.uid = dimensionalItemObject.getUid(); this.code = dimensionalItemObject.getCode(); this.dimensionItemType = dimensionalItemObject.getDimensionItemType(); this.description = dimensionalItemObject.getDescription(); this.aggregationType = dimensionalItemObject.getAggregationType(); this.totalAggregationType = dimensionalItemObject.getTotalAggregationType(); if ( dimensionalItemObject.hasLegendSet() ) { this.legendSet = dimensionalItemObject.getLegendSet().getUid(); } // TODO introduce start/end date marker interface instead if ( dimensionalItemObject instanceof Period ) { Period period = (Period) dimensionalItemObject; this.startDate = period.getStartDate(); this.endDate = period.getEndDate(); } }
@Override public String toString() { List<String> itemStr = items.stream().map( item -> MoreObjects.toStringHelper( DimensionalItemObject.class ) .add( "uid", item.getUid() ) .add( "name", item.getName() ) .toString() ) .collect( Collectors.toList() ); return MoreObjects.toStringHelper( this ) .add( "Dimension", uid ) .add( "type", dimensionType ) .add( "display name", displayName ) .add( "items", itemStr ) .toString(); } }
public String getDisplayProperty( DisplayProperty displayProperty ) { if ( option != null ) { return option.getDisplayName(); } else { if ( displayProperty == DisplayProperty.NAME ) { return dimensionalItemObject.getName(); } else { return dimensionalItemObject.getShortName(); } } }
/** * Returns a map of metadata item identifiers and {@link MetadataItem}. * * @param params the data query parameters. * @return a map. */ private Map<String, MetadataItem> getMetadataItems( EventQueryParams params ) { Map<String, MetadataItem> metadataItemMap = AnalyticsUtils.getDimensionMetadataItemMap( params ); boolean includeDetails = params.isIncludeMetadataDetails(); if ( params.hasValueDimension() ) { DimensionalItemObject value = params.getValue(); metadataItemMap.put( value.getUid(), new MetadataItem( value.getDisplayProperty( params.getDisplayProperty() ), includeDetails ? value.getUid() : null, value.getCode() ) ); } params.getItemLegends().forEach( legend -> { metadataItemMap.put( legend.getUid(), new MetadataItem( legend.getDisplayName(), includeDetails ? legend.getUid() : null, legend.getCode() ) ); } ); params.getItemOptions().forEach( option -> { metadataItemMap.put( option.getUid(), new MetadataItem( option.getDisplayName(), includeDetails ? option.getUid() : null, option.getCode() ) ); } ); params.getItemsAndItemFilters().forEach( item -> { metadataItemMap.put( item.getItemId(), new MetadataItem( item.getItem().getDisplayName(), includeDetails ? item.getItem() : null ) ); } ); return metadataItemMap; }
map.put( item.getDimensionItem(), new MetadataItem( item.getDisplayProperty( params.getDisplayProperty() ), includeMetadataDetails ? item : null ) ); if ( DimensionItemType.DATA_ELEMENT == item.getDimensionItemType() )
public String getItemId() { return item.getUid(); }
grid.addValue( object.getDimensionItem() ); grid.addValue( object.getDisplayProperty( displayProperty ) ); grid.addValue( object.getCode() ); grid.addValue( object.getDisplayDescription() );
/** * Checks to see if a dimensional item object has values * stored in the database by attribute option combo. * * @param o dimensional item object * @return true if values are stored by attribuete option combo. */ private boolean hasAttributeOptions( DimensionalItemObject o ) { return o.getDimensionItemType() != DimensionItemType.PROGRAM_INDICATOR || ( (ProgramIndicator)o ).getAnalyticsType() != AnalyticsType.ENROLLMENT; }
if ( item.getDimensionItemType() != type ) throw new ExpressionParserExceptionWithoutContext( "Expected " + type.name() + " but found " + item.getDimensionItemType().name() + " " + itemId ); itemDescriptions.put( exprText, item.getDisplayName() );
/** * Returns a mapping between identifiers and display properties for the given * list of query items. * * @param queryItems the list of query items. * @param displayProperty the display property to use. * @return a mapping between identifiers and display properties. */ public static Map<String, String> getUidDisplayPropertyMap( List<QueryItem> queryItems, DisplayProperty displayProperty ) { Map<String, String> map = new HashMap<>(); for ( QueryItem item : queryItems ) { map.put( item.getItem().getUid(), item.getItem().getDisplayProperty( displayProperty ) ); } return map; }
map.put( item.getDimensionItem(), item.getDisplayProperty( params.getDisplayProperty() ) );
@Override public String getName() { if ( !dataDimensionItems.isEmpty() && dataDimensionItems.get( 0 ) != null && dataDimensionItems.get( 0 ).getDimensionalItemObject() != null ) { return dataDimensionItems.get( 0 ).getDimensionalItemObject().getName(); } return uid; }
+ item.getItem().getId() + " ";
matcher.appendReplacement( sb, Matcher.quoteReplacement( dimensionItemObject.getDisplayName() ) );
/** * Generates a pretty column name based on the given display property of the * argument objects. Null arguments are ignored in the name. */ public static String getPrettyColumnName( List<DimensionalItemObject> objects, DisplayProperty displayProperty ) { StringBuilder builder = new StringBuilder(); for ( DimensionalItemObject object : objects ) { builder.append( object != null ? ( object.getDisplayProperty( displayProperty ) + SPACE ) : EMPTY ); } return builder.length() > 0 ? builder.substring( 0, builder.lastIndexOf( SPACE ) ) : TOTAL_COLUMN_PRETTY_NAME; }
public String getItemName() { String itemName = item.getUid(); if ( legendSet != null ) { itemName += "_" + legendSet.getUid(); } return itemName; }
/** * Checks to see if a dimensional item object has values * stored in the database by attribute option combo. * * @param object dimensional item object * @return true if values are stored by attribuete option combo. */ private boolean hasAttributeOptions( DimensionalItemObject object ) { return object.getDimensionItemType() != DimensionItemType.PROGRAM_INDICATOR || ( (ProgramIndicator)object ).getAnalyticsType() != AnalyticsType.ENROLLMENT; }
/** * Generates a column name based on short-names of the argument objects. * Null arguments are ignored in the name. * <p/> * The period column name must be static when on columns so it can be * re-used in reports, hence the name property is used which will be formatted * only when the period dimension is on rows. */ public static String getColumnName( List<DimensionalItemObject> objects ) { StringBuffer buffer = new StringBuffer(); for ( DimensionalItemObject object : objects ) { if ( object != null && object instanceof Period ) { buffer.append( object.getName() ).append( SEPARATOR ); } else { buffer.append( object != null ? ( object.getShortName() + SEPARATOR ) : EMPTY ); } } String column = columnEncode( buffer.toString() ); return column.length() > 0 ? column.substring( 0, column.lastIndexOf( SEPARATOR ) ) : TOTAL_COLUMN_NAME; }
+ item.getItem().getId() + " ";