in rdb/src/main/java/org/apache/tuscany/das/rdb/impl/DatabaseObject.java [62:99]
private void initialize() {
if (mappingWrapper.getConfig() != null) {
List relationships = mappingWrapper.getConfig().getRelationship();
Iterator i = relationships.iterator();
while (i.hasNext()) {
Relationship r = (Relationship) i.next();
if (this.logger.isDebugEnabled()) {
this.logger.debug("Initializing relationship: " + r.getName());
this.logger.debug("r.getForeignKeyTable():"+r.getForeignKeyTable());
this.logger.debug("getTypeName():"+getTypeName());
}
Table fkTable = mappingWrapper.getTableByTypeName(getTypeName());
String fkTableName = null;
if(fkTable != null) {
if(mappingWrapper.getConfig().isDatabaseSchemaNameSupported()) {
fkTableName = fkTable.getSchemaName()+"."+fkTable.getTableName();
} else {
fkTableName = fkTable.getTableName();
}
} else {//this can happen when no <Table> in Config and Query based Dynamic Types are used during query
fkTableName = getTypeName();
}
if (r.getForeignKeyTable().equals(fkTableName)) {
List pairs = r.getKeyPair();
Iterator iter = pairs.iterator();
while (iter.hasNext()) {
KeyPair pair = (KeyPair) iter.next();
keyMappings.put(pair.getForeignKeyColumn(), r);
if (this.logger.isDebugEnabled()) {
this.logger.debug("Putting key pair: " + pair.getPrimaryKeyColumn()+","+pair.getForeignKeyColumn());
}
}
}
}
}
}