X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-xsql%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fdom%2Fxsql%2FXSQLBluePrintNode.java;h=8d905f208132aed258886a58b5c01ab56682e76c;hp=fbd818e63216c40e6c6cb3a053c214584a5bc248;hb=5adfd98dac66cab656090d1b51324b4d09573bd9;hpb=17d82f582a6bc13c78be3b19954ff8c021180e93 diff --git a/opendaylight/md-sal/sal-dom-xsql/src/main/java/org/opendaylight/controller/md/sal/dom/xsql/XSQLBluePrintNode.java b/opendaylight/md-sal/sal-dom-xsql/src/main/java/org/opendaylight/controller/md/sal/dom/xsql/XSQLBluePrintNode.java index fbd818e632..8d905f2081 100644 --- a/opendaylight/md-sal/sal-dom-xsql/src/main/java/org/opendaylight/controller/md/sal/dom/xsql/XSQLBluePrintNode.java +++ b/opendaylight/md-sal/sal-dom-xsql/src/main/java/org/opendaylight/controller/md/sal/dom/xsql/XSQLBluePrintNode.java @@ -3,7 +3,9 @@ package org.opendaylight.controller.md.sal.dom.xsql; import java.io.Serializable; import java.sql.SQLException; import java.util.Collection; +import java.util.HashMap; import java.util.HashSet; +import java.util.Map; import java.util.Set; public class XSQLBluePrintNode implements Serializable { @@ -11,10 +13,8 @@ public class XSQLBluePrintNode implements Serializable { private static final long serialVersionUID = 1L; private Class myInterface = null; private String myInterfaceString = null; - private Set relations = - new HashSet(); - private Set inheritingNodes = - new HashSet(); + private Set relations = new HashSet(); + private Set inheritingNodes = new HashSet(); private Set children = new HashSet(); private XSQLBluePrintNode parent = null; @@ -22,11 +22,20 @@ public class XSQLBluePrintNode implements Serializable { private transient Set parentHierarchySet = null; private String myInterfaceName = null; private Set columns = new HashSet(); + private Map origNameToColumn = new HashMap(); private transient Object odlNode = null; private boolean module = false; private String bluePrintTableName = null; private String odlTableName = null; + private String origName = null; + + public XSQLBluePrintNode(String name, String _origName, int _level) { + this.level = _level; + this.odlTableName = name; + this.bluePrintTableName = name; + this.origName = _origName; + } public XSQLBluePrintNode(Class _myInterface, int _level) { this.myInterface = _myInterface; @@ -35,16 +44,21 @@ public class XSQLBluePrintNode implements Serializable { this.level = _level; } - public XSQLBluePrintNode(Object _odlNode, int _level,XSQLBluePrintNode _parent) { + public XSQLBluePrintNode(Object _odlNode, int _level, + XSQLBluePrintNode _parent) { this.odlNode = _odlNode; this.level = _level; this.module = XSQLODLUtils.isModule(_odlNode); this.parent = _parent; this.bluePrintTableName = XSQLODLUtils.getBluePrintName(_odlNode); + this.odlTableName = XSQLODLUtils.getODLNodeName(this.odlNode); + } + public String getOrigName() { + return this.origName; } - public String getBluePrintNodeName(){ + public String getBluePrintNodeName() { return this.bluePrintTableName; } @@ -82,10 +96,11 @@ public class XSQLBluePrintNode implements Serializable { } for (XSQLBluePrintRelation dtr : this.relations) { XSQLBluePrintNode parent = dtr.getParent(); - if (!parent.getInterface().equals(this.getInterface()) && !parent - .getInterface().isAssignableFrom(this.getInterface()) && - this.getInterface().isAssignableFrom(parent.getInterface()) - && parent.isModelChild(p)) { + if (!parent.getInterface().equals(this.getInterface()) + && !parent.getInterface().isAssignableFrom( + this.getInterface()) + && this.getInterface().isAssignableFrom( + parent.getInterface()) && parent.isModelChild(p)) { return true; } } @@ -109,8 +124,16 @@ public class XSQLBluePrintNode implements Serializable { } public void addColumn(Object node, String tableName) { - XSQLColumn c = new XSQLColumn(node,getBluePrintNodeName(), this); + XSQLColumn c = new XSQLColumn(node, getBluePrintNodeName(), this); + this.columns.add(c); + } + + public XSQLColumn addColumn(String name, String tableName, String origName, + String origTableName) { + XSQLColumn c = new XSQLColumn(name, tableName, origName, origTableName); this.columns.add(c); + this.origNameToColumn.put(origName, c); + return c; } public void addColumn(String methodName) { @@ -165,17 +188,16 @@ public class XSQLBluePrintNode implements Serializable { throw new SQLException("Unknown field name '" + name + "'"); } - public void addParent(XSQLBluePrintNode parent, String property) { try { if (property.equals("ContainingTPs")) { return; } - //Method m = parent.getInterface().getMethod("get"+property, null); - //if(!m.getDeclaringClass().equals(parent.getInterface())) - //return; - XSQLBluePrintRelation rel = - new XSQLBluePrintRelation(parent, property, myInterface); + // Method m = parent.getInterface().getMethod("get"+property, null); + // if(!m.getDeclaringClass().equals(parent.getInterface())) + // return; + XSQLBluePrintRelation rel = new XSQLBluePrintRelation(parent, + property, myInterface); relations.add(rel); } catch (Exception err) { err.printStackTrace(); @@ -187,8 +209,7 @@ public class XSQLBluePrintNode implements Serializable { } public Set getClonedParents() { - Set result = - new HashSet(); + Set result = new HashSet(); result.addAll(this.relations); return result; } @@ -200,6 +221,9 @@ public class XSQLBluePrintNode implements Serializable { if (odlNode != null) { return getBluePrintNodeName(); } + if (odlTableName != null) { + return odlTableName; + } return "Unknown"; } @@ -216,11 +240,12 @@ public class XSQLBluePrintNode implements Serializable { XSQLBluePrintNode other = (XSQLBluePrintNode) obj; if (odlNode != null) { return getBluePrintNodeName().equals(other.getBluePrintNodeName()); - } else if (this.odlTableName != null) { + } else if (this.odlTableName == null && other.odlTableName != null) + return false; + if (this.odlTableName != null && other.odlTableName == null) + return false; + else return this.odlTableName.equals(other.odlTableName); - } else { - return other.myInterface.equals(myInterface); - } } @Override