/** * @param emfTables the list of emf tables in this jdbc source physical relational model * @param tableInfos the map of value objects containing the newly-computed column statistics * @since 4.3 */ void populateEmfColumnStatistics(List emfTables, Map tableInfos) { for (Iterator itTable = emfTables.iterator(); itTable.hasNext(); ) { Table emfTable = (Table) itTable.next(); if (emfTable.getNameInSource() != null) { TableStatistics tableInfo = (TableStatistics) tableInfos.get(unQualifyName(emfTable.getNameInSource())); if (tableInfo != null) { emfTable.setCardinality(tableInfo.getCardinality()); Map columnInfos = tableInfo.getColumnStats(); for (Iterator itColumn = emfTable.getColumns().iterator(); itColumn.hasNext(); ) { Column emfColumn = (Column) itColumn.next(); if (emfColumn.getNameInSource() != null) { ColumnStatistics columnInfo = (ColumnStatistics) columnInfos.get(unQualifyName(emfColumn.getNameInSource())); if (columnInfo != null) { emfColumn.setMinimumValue(columnInfo.getMin()); emfColumn.setMaximumValue(columnInfo.getMax()); emfColumn.setNullValueCount(columnInfo.getNumNullValues()); emfColumn.setDistinctValueCount(columnInfo.getNumDistinctValues()); } } } } } } }