List<String> schemas = CollectUtils.newArrayList();
ResultSet rs = meta.getSchemas();
while (rs.next()) {
schemas.add(rs.getString(1));
}
MetadataLoader loader = new MetadataLoader((Dialect) Class.forName(dsbean.getProvider().getDialect())
.newInstance(), meta);
Set<Table> tables = CollectUtils.newHashSet();
if (!schemas.isEmpty()) {
String schema = get("schema");
if (StringUtils.isNotEmpty(schema)) {
queryConext.setSchema(schema);
}
if (StringUtils.isEmpty(schema)) {
schema = queryConext.getSchema();
if (StringUtils.isEmpty(schema)) {
schema = schemas.get(0);
}
}
put("schema", schema);
tables = loader.loadTables(null, schema, false);
}
put("schemas", schemas);
put("tables", tables);
}