46f5d2b406916d5f46bc9e7ab5527278a8090914
[controller.git] / opendaylight / md-sal / topology-manager / src / main / java / org / opendaylight / md / controller / topology / manager / FlowCapableNodeMapping.xtend
1 package org.opendaylight.md.controller.topology.manager
2
3 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey
4 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorRef
5 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.IdentifiableItem
6 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node
7 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnectorKey
8 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnector
9 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeRef
10 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev130712.network.topology.topology.node.TerminationPoint
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorUpdated
12 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev130712.network.topology.topology.node.TerminationPointBuilder
13 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev130712.network.topology.topology.node.TerminationPointKey
14 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev130712.TpId
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorId
16 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev130712.NodeId
17
18 class FlowCapableNodeMapping {
19
20     static def NodeKey getNodeKey(NodeRef ref) {
21         (ref?.value?.path?.get(1) as IdentifiableItem<Node,NodeKey>).key
22     }
23
24     static def NodeKey getNodeKey(NodeConnectorRef ref) {
25         (ref?.value?.path?.get(1) as IdentifiableItem<Node,NodeKey>).key
26     }
27
28     static def NodeConnectorKey getNodeConnectorKey(NodeConnectorRef ref) {
29         (ref?.value?.path?.get(2) as IdentifiableItem<NodeConnector,NodeConnectorKey>).key
30     }
31
32     static def TerminationPoint toTerminationPoint(NodeConnectorUpdated updated) {
33         val it = new TerminationPointBuilder
34         key = new TerminationPointKey(new TpId(updated.id));
35         return it.build()
36     }
37
38     static def NodeId toToplogyNodeId(org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId nodeId) {
39         return new NodeId(nodeId);
40     }
41
42     static def toTerminationPointId(NodeConnectorId id) {
43         return new TpId(id);
44     }
45 }