@Override public int getIndexOfHeader( String name ) { return headers.indexOf( new GridHeader( name, null ) ); }
@Override public Grid addEmptyHeaders( int number ) { for ( int i = 0; i < number; i++ ) { headers.add( new GridHeader( "", false, false ) ); } updateColumnIndexMap(); return this; }
@Override public Grid addHeaders( ResultSet rs ) { try { ResultSetMetaData rsmd = rs.getMetaData(); int columnNo = rsmd.getColumnCount(); for ( int i = 1; i <= columnNo; i++ ) { addHeader( new GridHeader( rsmd.getColumnLabel( i ), false, false ) ); } } catch ( SQLException ex ) { throw new RuntimeException( ex ); } return this; }
/** * Adds grid columns for each organisation unit level. */ @SuppressWarnings( "unchecked" ) private void addHierarchyColumns( Grid grid, int ouIdColumnIndex ) { Map<Object, List<?>> ancestorMap = (Map<Object, List<?>>) grid.getInternalMetaData().get( AnalyticsMetaDataKey.ORG_UNIT_ANCESTORS.getKey() ); Assert.notEmpty( ancestorMap, "Ancestor map cannot be null or empty when show hierarchy is enabled" ); int newColumns = ancestorMap.values().stream().mapToInt( List::size ).max().orElseGet( () -> 0 ); List<GridHeader> headers = new ArrayList<>(); for ( int i = 0; i < newColumns; i++ ) { int level = i + 1; String name = String.format( "Org unit level %d", level ); String column = String.format( "orgunitlevel%d", level ); headers.add( new GridHeader( name, column, ValueType.TEXT, String.class.getName(), false, true ) ); } grid.addHeaders( ouIdColumnIndex, headers ); grid.addAndPopulateColumnsBefore( ouIdColumnIndex, ancestorMap, newColumns ); }
grid.addHeader( new GridHeader( col.getDimension(), col.getDisplayName(), ValueType.TEXT, String.class.getName(), false, true ) ); grid.addHeader( new GridHeader( level.getDimension(), level.getDisplayName(), ValueType.TEXT, String.class.getName(), false, true ) ); grid.addHeader( new GridHeader( PERIOD_START_DATE_ID, PERIOD_START_DATE_NAME, ValueType.DATETIME, Date.class.getName(), false, false ) ); grid.addHeader( new GridHeader( PERIOD_END_DATE_ID, PERIOD_END_DATE_NAME, ValueType.DATETIME, Date.class.getName(), false, false ) ); grid.addHeader( new GridHeader( VALUE_ID, VALUE_HEADER_NAME, ValueType.NUMBER, Double.class.getName(), false, false ) ); grid.addHeader( new GridHeader( NUMERATOR_ID, NUMERATOR_HEADER_NAME, ValueType.NUMBER, Double.class.getName(), false, false ) ) .addHeader( new GridHeader( DENOMINATOR_ID, DENOMINATOR_HEADER_NAME, ValueType.NUMBER, Double.class.getName(), false, false ) ) .addHeader( new GridHeader( FACTOR_ID, FACTOR_HEADER_NAME, ValueType.NUMBER, Double.class.getName(), false, false ) ) .addHeader( new GridHeader( MULTIPLIER_ID, MULTIPLIER_HEADER_NAME, ValueType.NUMBER, Double.class.getName(), false, false ) ) .addHeader( new GridHeader( DIVISOR_ID, DIVISOR_HEADER_NAME, ValueType.NUMBER, Double.class.getName(), false, false ) );
@Override public Grid addHeaders( SqlRowSet rs ) { SqlRowSetMetaData rsmd = rs.getMetaData(); int columnNo = rsmd.getColumnCount(); for ( int i = 1; i <= columnNo; i++ ) { addHeader( new GridHeader( rsmd.getColumnLabel( i ), false, false ) ); } return this; }
grid.addHeader( vlInx, new GridHeader( ATTRIBUTEOPTIONCOMBO_DIM_ID, ATTRIBUTEOPTIONCOMBO_DIM_ID, ValueType.TEXT, String.class.getName(), false, true ) ) .addHeader( vlInx, new GridHeader( CATEGORYOPTIONCOMBO_DIM_ID, CATEGORYOPTIONCOMBO_DIM_ID, ValueType.TEXT, String.class.getName(), false, true ) ) .addColumn( vlInx, aocCol ) .addColumn( vlInx, cocCol );
String col = StringUtils.defaultIfEmpty( COLUMN_NAMES.get( row ), row ); outputGrid.addHeader( new GridHeader( name, col, ValueType.TEXT, String.class.getName(), false, true ) ); TOTAL_COLUMN_PRETTY_NAME; outputGrid.addHeader( new GridHeader( display, display, ValueType.NUMBER, Double.class.getName(), false, false ) ); } );
grid.addHeader( new GridHeader( FIRST_COLUMN_TEXT, FIRST_COLUMN_TEXT, ValueType.TEXT, String.class.getName(), false, true ) ); grid.addHeader( new GridHeader( group.getName(), false, false ) ); grid.addHeader( new GridHeader( HEADER_TOTAL, false, false ) );
@Override public Grid addCumulativeColumn( int columnIndex, boolean addHeader ) { verifyGridState(); List<Object> column = getColumn( columnIndex ); List<Object> cumulativeColumn = new ArrayList<>(); double sum = 0d; for ( Object value : column ) { double number = value != null ? Double.parseDouble( String.valueOf( value ) ) : 0d; sum += number; cumulativeColumn.add( sum ); } addColumn( cumulativeColumn ); if ( addHeader && columnIndex < headers.size() ) { GridHeader header = headers.get( columnIndex ); if ( header != null ) { GridHeader regressionHeader = new GridHeader( header.getName() + CUMULATIVE_SUFFIX, header.getColumn() + CUMULATIVE_SUFFIX, header.getValueType(), header.getType(), header.isHidden(), header.isMeta() ); addHeader( regressionHeader ); } } return this; }
@Override public Grid getEventClusters( EventQueryParams params ) { if ( !databaseInfo.isSpatialSupport() ) { throw new IllegalQueryException( "Spatial database support is not enabled" ); } params = new EventQueryParams.Builder( params ) .withGeometryOnly( true ) .withStartEndDatesForPeriods() .build(); securityManager.decideAccessEventQuery( params ); queryValidator.validate( params ); Grid grid = new ListGrid(); // --------------------------------------------------------------------- // Headers // --------------------------------------------------------------------- grid.addHeader( new GridHeader( ITEM_COUNT, NAME_COUNT, ValueType.NUMBER, Long.class.getName(), false, false ) ) .addHeader( new GridHeader( ITEM_CENTER, NAME_CENTER, ValueType.TEXT, String.class.getName(), false, false ) ) .addHeader( new GridHeader( ITEM_EXTENT, NAME_EXTENT, ValueType.TEXT, String.class.getName(), false, false ) ) .addHeader( new GridHeader( ITEM_POINTS, NAME_POINTS, ValueType.TEXT, String.class.getName(), false, false ) ); // --------------------------------------------------------------------- // Data // --------------------------------------------------------------------- params = queryPlanner.planEventQuery( params ); eventAnalyticsManager.getEventClusters( params, grid, queryValidator.getMaxLimit() ); return grid; }
GridHeader regressionHeader = new GridHeader( header.getName() + REGRESSION_SUFFIX, header.getColumn() + REGRESSION_SUFFIX, header.getValueType(), header.getType(), header.isHidden(), header.isMeta() );
String col = StringUtils.defaultIfEmpty( COLUMN_NAMES.get( row ), row ); grid.addHeader( new GridHeader( name + " ID", col + "id", ValueType.TEXT, String.class.getName(), true, true ) ); grid.addHeader( new GridHeader( name, col + "name", ValueType.TEXT, String.class.getName(), false, true ) ); grid.addHeader( new GridHeader( name + " code", col + "code", ValueType.TEXT, String.class.getName(), true, true ) ); grid.addHeader( new GridHeader( name + " description", col + "description", ValueType.TEXT, String.class.getName(), true, true ) ); grid.addHeader( new GridHeader( "Reporting month", REPORTING_MONTH_COLUMN_NAME, ValueType.TEXT, String.class.getName(), true, true ) ); grid.addHeader( new GridHeader( "Organisation unit parameter", PARAM_ORGANISATIONUNIT_COLUMN_NAME, ValueType.TEXT, String.class.getName(), true, true ) ); grid.addHeader( new GridHeader( "Organisation unit is parent", ORGANISATION_UNIT_IS_PARENT_COLUMN_NAME, ValueType.TEXT, String.class.getName(), true, true ) ); grid.addHeader( new GridHeader( getColumnName( column ), getPrettyColumnName( column, displayProperty ), ValueType.NUMBER, Double.class.getName(), false, false ) );
grid.addHeader( new GridHeader( ITEM_EVENT, NAME_EVENT, ValueType.TEXT, String.class.getName(), false, true ) ) .addHeader( new GridHeader( ITEM_PROGRAM_STAGE, NAME_PROGRAM_STAGE, ValueType.TEXT, String.class.getName(), false, true ) ) .addHeader( new GridHeader( ITEM_EVENT_DATE, NAME_EVENT_DATE, ValueType.DATE, Date.class.getName(), false, true ) ) .addHeader( new GridHeader( ITEM_LONGITUDE, NAME_LONGITUDE, ValueType.NUMBER, Double.class.getName(), false, true ) ) .addHeader( new GridHeader( ITEM_LATITUDE, NAME_LATITUDE, ValueType.NUMBER, Double.class.getName(), false, true ) ) .addHeader( new GridHeader( ITEM_ORG_UNIT_NAME, NAME_ORG_UNIT_NAME, ValueType.TEXT, String.class.getName(), false, true ) ) .addHeader( new GridHeader( ITEM_ORG_UNIT_CODE, NAME_ORG_UNIT_CODE, ValueType.TEXT, String.class.getName(), false, true ) ); grid.addHeader( new GridHeader( dimension.getDimension(), dimension.getDisplayName(), ValueType.TEXT, String.class.getName(), false, true ) ); grid.addHeader( new GridHeader( item.getItem().getUid(), item.getItem().getName(), item.getValueType(), item.getTypeAsString(), false, true, item.getOptionSet(), item.getLegendSet() ) );
grid.addHeader( new GridHeader( DimensionalObject.DATA_COLLAPSED_DIM_ID, DataQueryParams.DISPLAY_NAME_DATA_X, ValueType.TEXT, String.class.getName(), false, true ) ); grid.addHeader( new GridHeader( item.getItem().getUid(), item.getItem().getName(), item.getValueType(), item.getTypeAsString(), false, true, item.getOptionSet(), item.getLegendSet() ) ); grid.addHeader( new GridHeader( dimension.getDimension(), dimension.getDisplayName(), ValueType.TEXT, String.class.getName(), false, true ) ); grid.addHeader( new GridHeader( VALUE_ID, VALUE_HEADER_NAME, ValueType.NUMBER, Double.class.getName(), false, false ) ); grid.addHeader( new GridHeader( NUMERATOR_ID, NUMERATOR_HEADER_NAME, ValueType.NUMBER, Double.class.getName(), false, false ) ) .addHeader( new GridHeader( DENOMINATOR_ID, DENOMINATOR_HEADER_NAME, ValueType.NUMBER, Double.class.getName(), false, false ) ) .addHeader( new GridHeader( FACTOR_ID, FACTOR_HEADER_NAME, ValueType.NUMBER, Double.class.getName(), false, false ) ) .addHeader( new GridHeader( MULTIPLIER_ID, MULTIPLIER_HEADER_NAME, ValueType.NUMBER, Double.class.getName(), false, false ) ) .addHeader( new GridHeader( DIVISOR_ID, DIVISOR_HEADER_NAME, ValueType.NUMBER, Double.class.getName(), false, false ) );
grid.addHeader( new GridHeader( TRACKED_ENTITY_INSTANCE_ID, "Instance" ) ); grid.addHeader( new GridHeader( CREATED_ID, "Created" ) ); grid.addHeader( new GridHeader( LAST_UPDATED_ID, "Last updated" ) ); grid.addHeader( new GridHeader( ORG_UNIT_ID, "Organisation unit" ) ); grid.addHeader( new GridHeader( ORG_UNIT_NAME, "Organisation unit name" ) ); grid.addHeader( new GridHeader( TRACKED_ENTITY_ID, "Tracked entity type" ) ); grid.addHeader( new GridHeader( INACTIVE_ID, "Inactive" ) ); grid.addHeader( new GridHeader( DELETED, "Deleted", ValueType.BOOLEAN, "boolean", false, false ) ); grid.addHeader( new GridHeader( item.getItem().getUid(), item.getItem().getName() ) );
grid.addHeader( new GridHeader( i18n.getString( "dataelement" ), false, true ) ); grid.addHeader( new GridHeader( optionCombo.isDefault() ? DEFAULT_HEADER : optionCombo.getName(), false, false ) ); grid.addHeader( new GridHeader( categoryOption.getName(), false, false ) ); grid.addHeader( new GridHeader( TOTAL_HEADER, false, false ) );
grid.addHeader( new GridHeader( getValue( cell ), false, false ) );
grid.addHeader( new GridHeader( col, col ) ); grid.addHeader( new GridHeader( item.getItem().getUid(), item.getItem().getName() ) );