public Object mapRow(ResultSet rs, int rowNum) throws SQLException { String kid = rs.getString("key_id"); String ft = rs.getString("from_table"); String tt = rs.getString("target_table"); KeyDesc keyDesc = new KeyDesc(kid, ft, tt); keyDesc.description = rs.getString("description"); keyDesc.utype = rs.getString("utype"); return keyDesc; } }
/** * Creates Lists of KeyColumns with a common Key keyID, then adds the Lists to the Keys. * * @param keyDescs List of Keys. * @param keyColumnDescs List of KeyColumns. */ private void addKeyColumnsToKeys(List<KeyDesc> keyDescs, List<KeyColumnDesc> keyColumnDescs) { for (KeyColumnDesc keyColumnDesc : keyColumnDescs) { for (KeyDesc keyDesc : keyDescs) { if (keyColumnDesc.getKeyID().equals(keyDesc.getKeyID())) { keyDesc.getKeyColumnDescs().add(keyColumnDesc); break; } } } }
private Element toXmlElement(KeyDesc kd) { Element ret = new Element("foreignKey"); addChild(ret, "targetTable", kd.getTargetTable()); for (KeyColumnDesc kc : kd.getKeyColumnDescs()) { Element fkc = new Element("fkColumn"); addChild(fkc, "fromColumn", kc.getFromColumn()); addChild(fkc, "targetColumn", kc.getTargetColumn()); ret.addContent(fkc); } addChild(ret, "description", kd.description); addChild(ret, "utype", kd.utype); return ret; }
KeyDesc kd = new KeyDesc(keyID, tn, tt); List<Element> fkcols = fk.getChildren("fkColumn"); for (Element fkc : fkcols) String tc = fkc.getChildTextTrim("targetColumn"); KeyColumnDesc kcd = new KeyColumnDesc(keyID, fc, tc); kd.getKeyColumnDescs().add(kcd);
/** * Adds foreign keys (KeyDesc) to the from table. * * @param schemaDescs */ private void addForeignKeys(List<SchemaDesc> schemaDescs, List<KeyDesc> keyDescs) { for (KeyDesc key : keyDescs) { for (SchemaDesc sd : schemaDescs) { for (TableDesc td : sd.getTableDescs()) { if ( key.getFromTable().equals(td.getTableName())) { td.getKeyDescs().add(key); break; } } } } }