Fixed topology-manager now that we have topology-lldp-discovery
[controller.git] / opendaylight / md-sal / topology-manager / src / main / java / org / opendaylight / md / controller / topology / manager / FlowCapableNodeMapping.xtend
index 46f5d2b406916d5f46bc9e7ab5527278a8090914..05f7fe12729384590459ed9a41bb271ca2ffa157 100644 (file)
@@ -5,7 +5,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeCon
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.IdentifiableItem
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnectorKey
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnector
+import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnector
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeRef
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev130712.network.topology.topology.node.TerminationPoint
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorUpdated
@@ -14,6 +14,17 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev130712.TpId
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorId
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev130712.NodeId
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev130712.network.topology.topology.NodeBuilder
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev130712.link.attributes.SourceBuilder
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev130712.link.attributes.DestinationBuilder
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev130712.network.topology.topology.LinkBuilder
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev130712.network.topology.topology.LinkKey
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev130712.LinkId
+import org.opendaylight.yang.gen.v1.urn.opendaylight.model.topology.inventory.rev131030.InventoryNodeBuilder
+import org.opendaylight.yang.gen.v1.urn.opendaylight.model.topology.inventory.rev131030.InventoryNode
+import org.opendaylight.yang.gen.v1.urn.opendaylight.model.topology.inventory.rev131030.InventoryNodeConnector
+import org.opendaylight.yang.gen.v1.urn.opendaylight.model.topology.inventory.rev131030.InventoryNodeConnectorBuilder
+import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode
 
 class FlowCapableNodeMapping {
 
@@ -29,12 +40,6 @@ class FlowCapableNodeMapping {
         (ref?.value?.path?.get(2) as IdentifiableItem<NodeConnector,NodeConnectorKey>).key
     }
 
-    static def TerminationPoint toTerminationPoint(NodeConnectorUpdated updated) {
-        val it = new TerminationPointBuilder
-        key = new TerminationPointKey(new TpId(updated.id));
-        return it.build()
-    }
-
     static def NodeId toToplogyNodeId(org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId nodeId) {
         return new NodeId(nodeId);
     }
@@ -42,4 +47,36 @@ class FlowCapableNodeMapping {
     static def toTerminationPointId(NodeConnectorId id) {
         return new TpId(id);
     }
+    
+    static def toTopologyNode(NodeId nodeId,NodeRef invNodeRef) {
+        val nb = new NodeBuilder();
+        nb.setNodeId(nodeId)
+        val inb = new InventoryNodeBuilder
+        inb.setInventoryNodeRef(invNodeRef)
+        nb.addAugmentation(InventoryNode,inb.build)
+        return nb.build();
+    }
+    
+    static def toTerminationPoint(TpId id, NodeConnectorRef invNodeConnectorRef) {
+        val tpb = new TerminationPointBuilder
+        tpb.setTpId(id);
+        val incb = new InventoryNodeConnectorBuilder
+        incb.setInventoryNodeConnectorRef(invNodeConnectorRef)
+        tpb.addAugmentation(InventoryNodeConnector,incb.build())
+        return tpb.build();
+    }
+    
+    static def toTopologyLink(org.opendaylight.yang.gen.v1.urn.opendaylight.flow.topology.discovery.rev130819.Link link) {
+        val sb = new SourceBuilder();
+        sb.setSourceNode(link.source.nodeKey.id.toToplogyNodeId)
+        sb.setSourceTp(link.source.nodeConnectorKey.id.toTerminationPointId)
+        val db = new DestinationBuilder();
+        db.setDestNode(link.destination.nodeKey.id.toToplogyNodeId)
+        db.setDestTp(link.destination.nodeConnectorKey.id.toTerminationPointId)
+        val lb = new LinkBuilder();
+        lb.setSource(sb.build())
+        lb.setDestination(db.build());
+        lb.setLinkId(new LinkId(lb.source.sourceTp.value))
+        return lb.build();
+    } 
 }