/** * Sorts the keys in the given map by splitting on the '-' character and * sorting the components alphabetically. * * @param valueMap the mapping of keys and values. */ public static void sortKeys( Map<String, Object> valueMap ) { Map<String, Object> map = new HashMap<>(); for ( String key : valueMap.keySet() ) { String sortKey = sortKey( key ); if ( sortKey != null ) { map.put( sortKey, valueMap.get( key ) ); } } valueMap.clear(); valueMap.putAll( map ); }
/** * Adds all given data dimension objects. */ public void addAllDataDimensionItems( Collection<? extends DimensionalItemObject> objects ) { for ( DimensionalItemObject object : objects ) { addDataDimensionItem( object ); } }
@Override public void mergeAnalyticalObject( BaseAnalyticalObject object ) { if ( object != null ) { object.clear(); if ( object.getUser() != null ) { object.setUser( idObjectManager.get( User.class, object.getUser().getUid() ) ); } else { object.setUser( currentUserService.getCurrentUser() ); } mergeDimensionalObjects( object, object.getColumns() ); mergeDimensionalObjects( object, object.getRows() ); mergeDimensionalObjects( object, object.getFilters() ); } }
object.getDataDimensionItems().add( item ); object.setRelatives( new RelativePeriods().setRelativePeriodsFromEnums( enums ) ); object.setPeriods( periodService.reloadPeriods( new ArrayList<>( periods ) ) ); object.setUserOrganisationUnit( true ); object.setUserOrganisationUnitChildren( true ); object.setUserOrganisationUnitGrandChildren( true ); object.getOrganisationUnitLevels().add( orgUnitLevel ); object.getItemOrganisationUnitGroups().add( group ); object.getOrganisationUnits().add( unit ); object.getDataElementGroupSetDimensions().add( groupSetDimension ); object.getOrganisationUnitGroupSetDimensions().add( groupSetDimension ); object.getCategoryDimensions().add( categoryDimension ); object.getCategoryOptionGroupSetDimensions().add( groupSetDimension ); object.getAttributeDimensions().add( attributeDimension ); object.getDataElementDimensions().add( dataElementDimension );
List<DataDimensionItem> dataDimensionItems = analyticalObject.getDataDimensionItems(); List<CategoryDimension> categoryDimensions = analyticalObject.getCategoryDimensions(); List<TrackedEntityDataElementDimension> trackedEntityDataElementDimensions = analyticalObject.getDataElementDimensions(); List<TrackedEntityAttributeDimension> attributeDimensions = analyticalObject.getAttributeDimensions(); List<TrackedEntityProgramIndicatorDimension> programIndicatorDimensions = analyticalObject.getProgramIndicatorDimensions();
DataDimensionItem item = DataDimensionItem.create( object ); favorite.getDataDimensionItems().add( item ); idObjectManager.update( favorite ); log.debug( "Upgraded " + favoriteTablename + " " + favorite.getUid() + " for " + objectTablename + " " + object.getUid() );
private void handleCategoryDimensions( Session session, Schema schema, BaseAnalyticalObject analyticalObject, ObjectBundle bundle ) { if ( !schema.havePersistedProperty( "categoryDimensions" ) ) return; for ( CategoryDimension categoryDimension : analyticalObject.getCategoryDimensions() ) { if ( categoryDimension == null ) { continue; } categoryDimension.setDimension( bundle.getPreheat().get( bundle.getPreheatIdentifier(), categoryDimension.getDimension() ) ); List<CategoryOption> categoryOptions = new ArrayList<>( categoryDimension.getItems() ); categoryDimension.getItems().clear(); categoryOptions.forEach( co -> { CategoryOption categoryOption = bundle.getPreheat().get( bundle.getPreheatIdentifier(), co ); if ( categoryOption != null ) categoryDimension.getItems().add( categoryOption ); } ); preheatService.connectReferences( categoryDimension, bundle.getPreheat(), bundle.getPreheatIdentifier() ); session.save( categoryDimension ); } }
private void handleDataElementDimensions( Session session, Schema schema, BaseAnalyticalObject analyticalObject, ObjectBundle bundle ) { if ( !schema.havePersistedProperty( "dataElementDimensions" ) ) return; for ( TrackedEntityDataElementDimension dataElementDimension : analyticalObject.getDataElementDimensions() ) { if ( dataElementDimension == null ) { continue; } dataElementDimension.setDataElement( bundle.getPreheat().get( bundle.getPreheatIdentifier(), dataElementDimension.getDataElement() ) ); dataElementDimension.setLegendSet( bundle.getPreheat().get( bundle.getPreheatIdentifier(), dataElementDimension.getLegendSet() ) ); preheatService.connectReferences( dataElementDimension, bundle.getPreheat(), bundle.getPreheatIdentifier() ); session.save( dataElementDimension ); } }
private void handleAttributeDimensions( Session session, Schema schema, BaseAnalyticalObject analyticalObject, ObjectBundle bundle ) { if ( !schema.havePersistedProperty( "attributeDimensions" ) ) return; for ( TrackedEntityAttributeDimension attributeDimension : analyticalObject.getAttributeDimensions() ) { if ( attributeDimension == null ) { continue; } attributeDimension.setAttribute( bundle.getPreheat().get( bundle.getPreheatIdentifier(), attributeDimension.getAttribute() ) ); attributeDimension.setLegendSet( bundle.getPreheat().get( bundle.getPreheatIdentifier(), attributeDimension.getLegendSet() ) ); preheatService.connectReferences( attributeDimension, bundle.getPreheat(), bundle.getPreheatIdentifier() ); session.save( attributeDimension ); } }
private void handleProgramIndicatorDimensions( Session session, Schema schema, BaseAnalyticalObject analyticalObject, ObjectBundle bundle ) { if ( !schema.havePersistedProperty( "programIndicatorDimensions" ) ) return; for ( TrackedEntityProgramIndicatorDimension programIndicatorDimension : analyticalObject.getProgramIndicatorDimensions() ) { if ( programIndicatorDimension == null ) { continue; } programIndicatorDimension.setProgramIndicator( bundle.getPreheat().get( bundle.getPreheatIdentifier(), programIndicatorDimension.getProgramIndicator() ) ); programIndicatorDimension.setLegendSet( bundle.getPreheat().get( bundle.getPreheatIdentifier(), programIndicatorDimension.getLegendSet() ) ); preheatService.connectReferences( programIndicatorDimension, bundle.getPreheat(), bundle.getPreheatIdentifier() ); session.save( programIndicatorDimension ); } } }
for ( DataDimensionItem dataDimensionItem : analyticalObject.getDataDimensionItems() )
@Override public void clearTransientState() { columns = new ArrayList<>(); rows = new ArrayList<>(); filters = new ArrayList<>(); parentGraphMap = new HashMap<>(); transientOrganisationUnits = new ArrayList<>(); transientCategoryOptionCombos = new ArrayList<>(); relativePeriodDate = null; relativeOrganisationUnit = null; clearTransientStateProperties(); }
/** * Creates a key based on the given input. Sorts the key on its components * to remove significance of column order. */ private String getKey( NameableObject series, NameableObject category, AnalyticsType analyticsType ) { String key = series.getUid() + DIMENSION_SEP + category.getUid(); // Replace potential operand separator with dimension separator key = AnalyticsType.AGGREGATE.equals( analyticsType ) ? key.replace( DataElementOperand.SEPARATOR, DIMENSION_SEP ) : key; // TODO fix issue with keys including -. return BaseAnalyticalObject.sortKey( key ); }