private void initialize()

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());
                    	}                        
                    }
                }
            }
        }
    }