public List<DefaultColumnInfo> getColumnInfoList() { return getColumnInfoList(null); }
@Override @BeforeClass(groups = "slow") public void beforeClass() throws Exception { super.beforeClass(); final DatabaseSchemaDao dao = new DatabaseSchemaDao(dbi); vm = new ValidationManager(dao); vm.loadSchemaInformation(helper.getDatabaseName()); }
public void loadSchemaInformation(final String schemaName) { columnInfoMap.clear(); // get schema information and map it to columnInfo final List<DefaultColumnInfo> columnInfoList = dao.getColumnInfoList(schemaName); for (final DefaultColumnInfo columnInfo : columnInfoList) { final String tableName = columnInfo.getTableName(); if (!columnInfoMap.containsKey(tableName)) { columnInfoMap.put(tableName, new HashMap<String, DefaultColumnInfo>()); } columnInfoMap.get(tableName).put(columnInfo.getColumnName(), columnInfo); } }
public void exportDataForAccount(final DatabaseExportOutputStream out, final InternalTenantContext context) { if (context.getAccountRecordId() == null || context.getTenantRecordId() == null) { return; } final List<DefaultColumnInfo> columns = databaseSchemaDao.getColumnInfoList(); if (columns.size() == 0) { return; } final List<ColumnInfo> columnsForTable = new ArrayList<ColumnInfo>(); // The list of columns is ordered by table name first String lastSeenTableName = columns.get(0).getTableName(); for (final ColumnInfo column : columns) { if (!column.getTableName().equals(lastSeenTableName)) { exportDataForAccountAndTable(out, columnsForTable, context); lastSeenTableName = column.getTableName(); columnsForTable.clear(); } columnsForTable.add(column); } exportDataForAccountAndTable(out, columnsForTable, context); }