}
private DataContext getDataContext(Table table) {
DataContext result = null;
if (table != null) {
Schema schema = table.getSchema();
if (schema != null) {
for (DataContext dc : _delegates) {
Schema dcSchema = dc.getSchemaByName(schema.getName());
if (dcSchema != null) {
// first round = try with schema identity match
if (dcSchema == schema) {
logger.debug("DataContext for '{}' resolved (using identity) to: '{}'", table, dcSchema);
result = dc;
break;
}
}
}
if (result == null) {
for (DataContext dc : _delegates) {
Schema dcSchema = dc.getSchemaByName(schema.getName());
if (dcSchema != null) {
// second round = try with schema equals method
if (dcSchema.equals(schema)) {
logger.debug("DataContext for '{}' resolved (using equals) to: '{}'", table, dcSchema);
result = dc;
break;
}
}