import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev191129.State;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.NodeTypes;
import org.opendaylight.yang.gen.v1.http.org.openroadm.device.types.rev191129.XpdrNodeTypes;
import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev191129.AdminStates;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev191129.State;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.NodeTypes;
import org.opendaylight.yang.gen.v1.http.org.openroadm.device.types.rev191129.XpdrNodeTypes;
import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev191129.AdminStates;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev200327.xpdr.odu.switching.pools.OduSwitchingPools;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev200327.xpdr.odu.switching.pools.OduSwitchingPoolsBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev200327.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingList;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev200327.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingListBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev200327.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingListKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.OpenroadmNodeType;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.xpdr.tp.supported.interfaces.SupportedInterfaceCapability;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.xpdr.tp.supported.interfaces.SupportedInterfaceCapabilityBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev200529.xpdr.tp.supported.interfaces.SupportedInterfaceCapabilityKey;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If100GE;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If100GEODU4;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If10GE;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If10GEODU2;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If10GEODU2e;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If1GE;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.If1GEODU0;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.IfOCH;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.IfOCHOTU4ODU4;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev200327.SupportedIfCapability;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev201211.xpdr.odu.switching.pools.OduSwitchingPools;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev201211.xpdr.odu.switching.pools.OduSwitchingPoolsBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev201211.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingList;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev201211.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingListBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.types.rev201211.xpdr.odu.switching.pools.odu.switching.pools.NonBlockingListKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.OpenroadmNodeType;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.xpdr.tp.supported.interfaces.SupportedInterfaceCapability;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.xpdr.tp.supported.interfaces.SupportedInterfaceCapabilityBuilder;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev211210.xpdr.tp.supported.interfaces.SupportedInterfaceCapabilityKey;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev201211.If100GE;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev201211.If100GEODU4;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev201211.If10GE;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev201211.If10GEODU2;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev201211.If10GEODU2e;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev201211.If1GE;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev201211.If1GEODU0;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev201211.IfOCH;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev201211.IfOCHOTU4ODU4;
+import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev201211.SupportedIfCapability;
import org.opendaylight.yang.gen.v1.http.org.openroadm.switching.pool.types.rev191129.SwitchingPoolTypes;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NodeId;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.TpId;
import org.opendaylight.yang.gen.v1.http.org.openroadm.switching.pool.types.rev191129.SwitchingPoolTypes;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NodeId;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.TpId;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.edge.point.MappedServiceInterfacePoint;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.edge.point.MappedServiceInterfacePointBuilder;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.edge.point.MappedServiceInterfacePointKey;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.edge.point.MappedServiceInterfacePoint;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.edge.point.MappedServiceInterfacePointBuilder;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.edge.point.MappedServiceInterfacePointKey;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.Rule;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.RuleBuilder;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.RuleKey;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.Rule;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.RuleBuilder;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.RuleKey;
mergeNodeinTopology(Map.of(roadmNode.key(), roadmNode));
mergeSipsinContext(this.sipMap);
// TODO add states corresponding to device config -> based on mapping.
mergeNodeinTopology(Map.of(roadmNode.key(), roadmNode));
mergeSipsinContext(this.sipMap);
// TODO add states corresponding to device config -> based on mapping.
.getBytes(Charset.forName("UTF-8"))).toString());
Name nameDsr = new NameBuilder().setValueName("dsr/odu node name").setValue(
String.join("+", nodeId, TapiStringConstants.DSR)).build();
.getBytes(Charset.forName("UTF-8"))).toString());
Name nameDsr = new NameBuilder().setValueName("dsr/odu node name").setValue(
String.join("+", nodeId, TapiStringConstants.DSR)).build();
- org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology
- .Node dsrNode = createTapiXpdrNode(Map.of(nameDsr.key(), nameDsr), dsrLayerProtocols,
- nodeId, nodeUuidDsr, xpdrClMaps, xpdrNetMaps, xponderType, oorOduSwitchingPool);
+ Node dsrNode = createTapiXpdrNode(Map.of(nameDsr.key(), nameDsr, nameNodeType.key(), nameNodeType),
+ dsrLayerProtocols, nodeId, nodeUuidDsr, xpdrClMaps, xpdrNetMaps, xponderType, oorOduSwitchingPool);
Name nameOtsi = new NameBuilder().setValueName("otsi node name").setValue(
String.join("+", nodeId, TapiStringConstants.OTSI)).build();
List<LayerProtocolName> otsiLayerProtocols = Arrays.asList(LayerProtocolName.PHOTONICMEDIA);
Name nameOtsi = new NameBuilder().setValueName("otsi node name").setValue(
String.join("+", nodeId, TapiStringConstants.OTSI)).build();
List<LayerProtocolName> otsiLayerProtocols = Arrays.asList(LayerProtocolName.PHOTONICMEDIA);
- org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology
- .Node otsiNode = createTapiXpdrNode(Map.of(nameOtsi.key(), nameOtsi), otsiLayerProtocols,
- nodeId, nodeUuidOtsi, xpdrClMaps, xpdrNetMaps, xponderType, null);
+ Node otsiNode = createTapiXpdrNode(Map.of(nameOtsi.key(), nameOtsi, nameNodeType.key(), nameNodeType),
+ otsiLayerProtocols, nodeId, nodeUuidOtsi, xpdrClMaps, xpdrNetMaps, xponderType, null);
OwnedNodeEdgePoint onep = createNep(nepUuid1, xpdrNetMaps.get(i).getLogicalConnectionPoint(),
Map.of(onedName.key(), onedName), LayerProtocolName.PHOTONICMEDIA, LayerProtocolName.PHOTONICMEDIA,
OwnedNodeEdgePoint onep = createNep(nepUuid1, xpdrNetMaps.get(i).getLogicalConnectionPoint(),
Map.of(onedName.key(), onedName), LayerProtocolName.PHOTONICMEDIA, LayerProtocolName.PHOTONICMEDIA,
- true, String.join("+", nodeId, TapiStringConstants.I_OTSI),
- xpdrNetMaps.get(i).getSupportedInterfaceCapability(),
+ true, String.join("+", nodeId, TapiStringConstants.I_OTSI), newSupIfCapList,
transformOperState(xpdrNetMaps.get(i).getPortOperState()),
transformAdminState(xpdrNetMaps.get(i).getPortAdminState()));
onepl.put(onep.key(), onep);
transformOperState(xpdrNetMaps.get(i).getPortOperState()),
transformAdminState(xpdrNetMaps.get(i).getPortAdminState()));
onepl.put(onep.key(), onep);
OwnedNodeEdgePoint onep = createNep(nepUuid2, xpdrNetMaps.get(i).getLogicalConnectionPoint(),
Map.of(onedName.key(), onedName), LayerProtocolName.PHOTONICMEDIA, LayerProtocolName.PHOTONICMEDIA,
OwnedNodeEdgePoint onep = createNep(nepUuid2, xpdrNetMaps.get(i).getLogicalConnectionPoint(),
Map.of(onedName.key(), onedName), LayerProtocolName.PHOTONICMEDIA, LayerProtocolName.PHOTONICMEDIA,
- false, String.join("+", nodeId, TapiStringConstants.E_OTSI),
- xpdrNetMaps.get(i).getSupportedInterfaceCapability(),
+ false, String.join("+", nodeId, TapiStringConstants.E_OTSI), newSupIfCapList,
transformOperState(xpdrNetMaps.get(i).getPortOperState()),
transformAdminState(xpdrNetMaps.get(i).getPortAdminState()));
onepl.put(onep.key(), onep);
transformOperState(xpdrNetMaps.get(i).getPortOperState()),
transformAdminState(xpdrNetMaps.get(i).getPortAdminState()));
onepl.put(onep.key(), onep);
OwnedNodeEdgePoint onep = createNep(nepUuid3, xpdrNetMaps.get(i).getLogicalConnectionPoint(),
Map.of(onedName.key(), onedName), LayerProtocolName.PHOTONICMEDIA, LayerProtocolName.PHOTONICMEDIA,
OwnedNodeEdgePoint onep = createNep(nepUuid3, xpdrNetMaps.get(i).getLogicalConnectionPoint(),
Map.of(onedName.key(), onedName), LayerProtocolName.PHOTONICMEDIA, LayerProtocolName.PHOTONICMEDIA,
- false, String.join("+", nodeId, TapiStringConstants.PHTNC_MEDIA),
- xpdrNetMaps.get(i).getSupportedInterfaceCapability(),
+ false, String.join("+", nodeId, TapiStringConstants.PHTNC_MEDIA), newSupIfCapList,
transformOperState(xpdrNetMaps.get(i).getPortOperState()),
transformAdminState(xpdrNetMaps.get(i).getPortAdminState()));
onepl.put(onep.key(), onep);
transformOperState(xpdrNetMaps.get(i).getPortOperState()),
transformAdminState(xpdrNetMaps.get(i).getPortAdminState()));
onepl.put(onep.key(), onep);
OwnedNodeEdgePoint onep = createNep(nepUuid, xpdrClMaps.get(i).getLogicalConnectionPoint(),
Map.of(name.key(), name), LayerProtocolName.DSR, LayerProtocolName.DSR, true,
OwnedNodeEdgePoint onep = createNep(nepUuid, xpdrClMaps.get(i).getLogicalConnectionPoint(),
Map.of(name.key(), name), LayerProtocolName.DSR, LayerProtocolName.DSR, true,
- String.join("+", nodeId, TapiStringConstants.DSR),
- xpdrClMaps.get(i).getSupportedInterfaceCapability(),
+ String.join("+", nodeId, TapiStringConstants.DSR), newSupIfCapList,
transformOperState(xpdrClMaps.get(i).getPortOperState()),
transformAdminState(xpdrClMaps.get(i).getPortAdminState()));
onepl.put(onep.key(), onep);
transformOperState(xpdrClMaps.get(i).getPortOperState()),
transformAdminState(xpdrClMaps.get(i).getPortAdminState()));
onepl.put(onep.key(), onep);
OwnedNodeEdgePoint onep = createNep(nepUuid, xpdrNetMaps.get(i).getLogicalConnectionPoint(),
Map.of(onedName.key(), onedName),
OwnedNodeEdgePoint onep = createNep(nepUuid, xpdrNetMaps.get(i).getLogicalConnectionPoint(),
Map.of(onedName.key(), onedName),
- LayerProtocolName.ODU, LayerProtocolName.DSR, false,
- String.join("+", nodeId, TapiStringConstants.I_ODU),
- xpdrNetMaps.get(i).getSupportedInterfaceCapability(),
+ LayerProtocolName.ODU, LayerProtocolName.DSR, true,
+ String.join("+", nodeId, TapiStringConstants.I_ODU), newSupIfCapList,
transformOperState(xpdrNetMaps.get(i).getPortOperState()),
transformAdminState(xpdrNetMaps.get(i).getPortAdminState()));
onepl.put(onep.key(), onep);
}
// network nep creation on E_ODU node
transformOperState(xpdrNetMaps.get(i).getPortOperState()),
transformAdminState(xpdrNetMaps.get(i).getPortAdminState()));
onepl.put(onep.key(), onep);
}
// network nep creation on E_ODU node
Uuid nepUuid = new Uuid(UUID.nameUUIDFromBytes(
(String.join("+", nodeId, TapiStringConstants.E_ODU,
Uuid nepUuid = new Uuid(UUID.nameUUIDFromBytes(
(String.join("+", nodeId, TapiStringConstants.E_ODU,
Name onedName = new NameBuilder()
.setValueName("eNodeEdgePoint_N")
.setValue(String.join("+", nodeId, TapiStringConstants.E_ODU,
Name onedName = new NameBuilder()
.setValueName("eNodeEdgePoint_N")
.setValue(String.join("+", nodeId, TapiStringConstants.E_ODU,
- LayerProtocolName.ODU, LayerProtocolName.DSR, true,
- String.join("+", nodeId, TapiStringConstants.E_ODU),
- xpdrNetMaps.get(i).getSupportedInterfaceCapability(),
- transformOperState(xpdrNetMaps.get(i).getPortOperState()),
- transformAdminState(xpdrNetMaps.get(i).getPortAdminState()));
+ LayerProtocolName.ODU, LayerProtocolName.DSR, false,
+ String.join("+", nodeId, TapiStringConstants.E_ODU), newSupIfCapList,
+ transformOperState(xpdrClMaps.get(i).getPortOperState()),
+ transformAdminState(xpdrClMaps.get(i).getPortAdminState()));
onepBldr.setLinkPortDirection(PortDirection.BIDIRECTIONAL).setLinkPortRole(PortRole.SYMMETRIC)
.setAdministrativeState(adminState).setOperationalState(operState)
.setLifecycleState(LifecycleState.INSTALLED).setTerminationDirection(TerminationDirection.BIDIRECTIONAL)
onepBldr.setLinkPortDirection(PortDirection.BIDIRECTIONAL).setLinkPortRole(PortRole.SYMMETRIC)
.setAdministrativeState(adminState).setOperationalState(operState)
.setLifecycleState(LifecycleState.INSTALLED).setTerminationDirection(TerminationDirection.BIDIRECTIONAL)
- org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.tapi.context.ServiceInterfacePoint sip
- = createSIP(sipUuid, layerProtocol, tpid, nodeid, supportedInterfaceCapability,
- operState, adminState);
+ ServiceInterfacePoint sip = createSIP(sipUuid, layerProtocol, tpid, nodeid, supportedInterfaceCapability,
+ operState, adminState);
this.sipMap.put(sip.key(), sip);
LOG.info("SIP created {}", sip.getUuid());
// this.tapiSips.put(sip.key(), sip);
this.sipMap.put(sip.key(), sip);
LOG.info("SIP created {}", sip.getUuid());
// this.tapiSips.put(sip.key(), sip);
// UUID
Uuid nodeUuid = new Uuid(UUID.nameUUIDFromBytes((String.join("+", orNodeId,
TapiStringConstants.PHTNC_MEDIA)).getBytes(Charset.forName("UTF-8"))).toString());
// Names
Name nodeNames = new NameBuilder().setValueName("roadm node name")
.setValue(String.join("+", orNodeId, TapiStringConstants.PHTNC_MEDIA)).build();
// UUID
Uuid nodeUuid = new Uuid(UUID.nameUUIDFromBytes((String.join("+", orNodeId,
TapiStringConstants.PHTNC_MEDIA)).getBytes(Charset.forName("UTF-8"))).toString());
// Names
Name nodeNames = new NameBuilder().setValueName("roadm node name")
.setValue(String.join("+", orNodeId, TapiStringConstants.PHTNC_MEDIA)).build();
private Map<NodeRuleGroupKey, NodeRuleGroup> createNodeRuleGroupForRdmNode(String orNodeId, Uuid nodeUuid,
Collection<OwnedNodeEdgePoint> onepl) {
private Map<NodeRuleGroupKey, NodeRuleGroup> createNodeRuleGroupForRdmNode(String orNodeId, Uuid nodeUuid,
Collection<OwnedNodeEdgePoint> onepl) {
- org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.NodeEdgePoint
- nep = new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group
- .NodeEdgePointBuilder()
- .setTopologyUuid(this.tapiTopoUuid)
- .setNodeUuid(nodeUuid)
- .setNodeEdgePointUuid(onep.key().getUuid())
- .build();
+ NodeEdgePoint nep = new NodeEdgePointBuilder()
+ .setTopologyUuid(this.tapiTopoUuid)
+ .setNodeUuid(nodeUuid)
+ .setNodeEdgePointUuid(onep.key().getUuid())
+ .build();
- private OduSwitchingPools createTpdrSwitchPool() {
- return new OduSwitchingPoolsBuilder().build();
+ private OduSwitchingPools createTpdrSwitchPool(List<Mapping> xpdrNetMaps) {
+ Map<NonBlockingListKey, NonBlockingList> nblMap = new HashMap<>();
+ int count = 1;
+ for (int i = 1; i <= xpdrNetMaps.size(); i++) {
+ LOG.info("XPDr net LCP = {}", xpdrNetMaps.get(i - 1).getLogicalConnectionPoint());
+ LOG.info("XPDr net associated LCP = {}", xpdrNetMaps.get(i - 1).getConnectionMapLcp());
+ TpId tpid1 = new TpId(xpdrNetMaps.get(i - 1).getLogicalConnectionPoint());
+ TpId tpid2 = new TpId(xpdrNetMaps.get(i - 1).getConnectionMapLcp());
+ List<TpId> tpList = new ArrayList<>();
+ tpList.add(tpid1);
+ tpList.add(tpid2);
+ NonBlockingList nbl = new NonBlockingListBuilder()
+ .setNblNumber(Uint16.valueOf(count))
+ .setTpList(tpList)
+ .build();
+ nblMap.put(nbl.key(), nbl);
+ count++;
+ }
+ return new OduSwitchingPoolsBuilder()
+ .setNonBlockingList(nblMap)
+ .setSwitchingPoolNumber(Uint16.valueOf(1))
+ .build();
- Map<org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.NodeEdgePointKey,
- org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.NodeEdgePoint>
- nepList = new HashMap<>();
- org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group
- .NodeEdgePoint inep = new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210
- .node.rule.group.NodeEdgePointBuilder()
- .setTopologyUuid(this.tapiTopoUuid)
- .setNodeUuid(new Uuid(UUID.nameUUIDFromBytes((String.join("+", nodeId,
- TapiStringConstants.OTSI)).getBytes(Charset.forName("UTF-8")))
- .toString()))
- .setNodeEdgePointUuid(new Uuid(UUID.nameUUIDFromBytes((String.join("+", nodeId,
- TapiStringConstants.I_OTSI, tpMapping.getLogicalConnectionPoint()))
- .getBytes(Charset.forName("UTF-8"))).toString()))
- .build();
- org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group
- .NodeEdgePoint enep = new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210
- .node.rule.group.NodeEdgePointBuilder()
- .setTopologyUuid(this.tapiTopoUuid)
- .setNodeUuid(new Uuid(UUID.nameUUIDFromBytes((String.join("+", nodeId,
+ Map<NodeEdgePointKey, NodeEdgePoint> nepList = new HashMap<>();
+ NodeEdgePoint inep = new NodeEdgePointBuilder()
+ .setTopologyUuid(this.tapiTopoUuid)
+ .setNodeUuid(new Uuid(UUID.nameUUIDFromBytes((String.join("+", nodeId,
- .setNodeEdgePointUuid(new Uuid(UUID.nameUUIDFromBytes(
- (String.join("+", nodeId, TapiStringConstants.E_OTSI,
- tpMapping.getLogicalConnectionPoint())).getBytes(Charset.forName("UTF-8"))).toString()))
- .build();
+ .setNodeEdgePointUuid(new Uuid(UUID.nameUUIDFromBytes((String.join("+", nodeId,
+ TapiStringConstants.I_OTSI, tpMapping.getLogicalConnectionPoint()))
+ .getBytes(Charset.forName("UTF-8"))).toString()))
+ .build();
+ NodeEdgePoint enep = new NodeEdgePointBuilder()
+ .setTopologyUuid(this.tapiTopoUuid)
+ .setNodeUuid(new Uuid(UUID.nameUUIDFromBytes((String.join("+", nodeId,
+ TapiStringConstants.OTSI)).getBytes(Charset.forName("UTF-8"))).toString()))
+ .setNodeEdgePointUuid(new Uuid(UUID.nameUUIDFromBytes(
+ (String.join("+", nodeId, TapiStringConstants.E_OTSI,
+ tpMapping.getLogicalConnectionPoint())).getBytes(Charset.forName("UTF-8"))).toString()))
+ .build();
nepList.put(inep.key(), inep);
nepList.put(enep.key(), enep);
// Empty random creation of mandatory fields for avoiding errors....
nepList.put(inep.key(), inep);
nepList.put(enep.key(), enep);
// Empty random creation of mandatory fields for avoiding errors....
for (TpId tp : nbl.getTpList()) {
LOG.info("EDOU TP = {}", String.join("+", nodeId, TapiStringConstants.E_ODU, tp.getValue()));
LOG.info("DSR TP = {}", String.join("+", nodeId, TapiStringConstants.DSR, tp.getValue()));
for (TpId tp : nbl.getTpList()) {
LOG.info("EDOU TP = {}", String.join("+", nodeId, TapiStringConstants.E_ODU, tp.getValue()));
LOG.info("DSR TP = {}", String.join("+", nodeId, TapiStringConstants.DSR, tp.getValue()));
Uuid tp1Uuid = new Uuid(UUID.nameUUIDFromBytes((String.join("+", nodeId,
TapiStringConstants.DSR, tp.getValue())).getBytes(Charset.forName("UTF-8"))).toString());
if (onepl.containsKey(new OwnedNodeEdgePointKey(tpUuid))
Uuid tp1Uuid = new Uuid(UUID.nameUUIDFromBytes((String.join("+", nodeId,
TapiStringConstants.DSR, tp.getValue())).getBytes(Charset.forName("UTF-8"))).toString());
if (onepl.containsKey(new OwnedNodeEdgePointKey(tpUuid))
- || onepl.containsKey(new OwnedNodeEdgePointKey(tp1Uuid))) {
- org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group.NodeEdgePoint
- nep = new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group
- .NodeEdgePointBuilder()
- .setTopologyUuid(this.tapiTopoUuid)
- .setNodeUuid(new Uuid(UUID.nameUUIDFromBytes(
- (String.join("+", nodeId,TapiStringConstants. DSR))
- .getBytes(Charset.forName("UTF-8"))).toString()))
- .setNodeEdgePointUuid((tp.getValue().contains("CLIENT")) ? tp1Uuid : tpUuid)
- .build();
- nepList.put(nep.key(), nep);
+ && onepl.containsKey(new OwnedNodeEdgePointKey(tp1Uuid))) {
+ NodeEdgePoint nep1 = new NodeEdgePointBuilder()
+ .setTopologyUuid(this.tapiTopoUuid)
+ .setNodeUuid(new Uuid(UUID.nameUUIDFromBytes(
+ (String.join("+", nodeId,TapiStringConstants. DSR))
+ .getBytes(Charset.forName("UTF-8"))).toString()))
+ .setNodeEdgePointUuid(tp1Uuid)
+ .build();
+ NodeEdgePoint nep2 = new NodeEdgePointBuilder()
+ .setTopologyUuid(this.tapiTopoUuid)
+ .setNodeUuid(new Uuid(UUID.nameUUIDFromBytes(
+ (String.join("+", nodeId,TapiStringConstants. DSR))
+ .getBytes(Charset.forName("UTF-8"))).toString()))
+ .setNodeEdgePointUuid(tpUuid)
+ .build();
+ nepList.put(nep1.key(), nep1);
+ nepList.put(nep2.key(), nep2);
+ case "ODU":
+ switch (sic.getIfCapType().getSimpleName()) {
+ // TODO: it may be needed to add more cases clauses if the interface capabilities of a
+ // port are extended in the config file
+ case "If1GEODU0":
+ sclpqList.add(ODUTYPEODU0.class);
+ break;
+ case "If10GEODU2e":
+ sclpqList.add(ODUTYPEODU2E.class);
+ break;
+ case "If10GEODU2":
+ case "If10GE":
+ sclpqList.add(ODUTYPEODU2.class);
+ break;
+ case "If100GEODU4":
+ case "If100GE":
+ case "IfOCHOTU4ODU4":
+ case "IfOCH":
+ sclpqList.add(ODUTYPEODU4.class);
+ break;
+ default:
+ LOG.error("IfCapability type not managed");
+ break;
+ }
+ break;
+ private String getNodeType(XpdrNodeTypes xponderType) {
+ switch (xponderType.getIntValue()) {
+ case 1:
+ return OpenroadmNodeType.TPDR.getName();
+ case 2:
+ return OpenroadmNodeType.MUXPDR.getName();
+ case 3:
+ return OpenroadmNodeType.SWITCH.getName();
+ default:
+ LOG.info("XpdrType {} not supported", xponderType);
+ break;
+ }
+ return null;
+ }
+
private void mergeNodeinTopology(Map<NodeKey, Node> nodeMap) {
// TODO is this merge correct? Should we just merge topology by changing the nodes map??
// TODO: verify this is correct. Should we identify the context IID with the context UUID??
LOG.info("Creating tapi node in TAPI topology context");
InstanceIdentifier<Topology> topoIID = InstanceIdentifier.builder(Context.class)
private void mergeNodeinTopology(Map<NodeKey, Node> nodeMap) {
// TODO is this merge correct? Should we just merge topology by changing the nodes map??
// TODO: verify this is correct. Should we identify the context IID with the context UUID??
LOG.info("Creating tapi node in TAPI topology context");
InstanceIdentifier<Topology> topoIID = InstanceIdentifier.builder(Context.class)
// TODO: verify this is correct. Should we identify the context IID with the context UUID??
LOG.info("Creating tapi node in TAPI topology context");
InstanceIdentifier<Topology> topoIID = InstanceIdentifier.builder(Context.class)
// TODO: verify this is correct. Should we identify the context IID with the context UUID??
LOG.info("Creating tapi node in TAPI topology context");
InstanceIdentifier<Topology> topoIID = InstanceIdentifier.builder(Context.class)
- .augmentation(org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.Context1.class)
- .child(org.opendaylight.yang.gen.v1.urn
- .onf.otcc.yang.tapi.topology.rev181210.context.TopologyContext.class)
- .child(Topology.class, new TopologyKey(this.tapiTopoUuid))
- .build();
+ .augmentation(Context1.class).child(TopologyContext.class)
+ .child(Topology.class, new TopologyKey(this.tapiTopoUuid))
+ .build();
private void updateConnectivityServicesState(Uuid sipUuid, String nodeId) {
// TODO: check if this IID is correct
InstanceIdentifier<ConnectivityContext> connectivitycontextIID = InstanceIdentifier.builder(Context.class)
private void updateConnectivityServicesState(Uuid sipUuid, String nodeId) {
// TODO: check if this IID is correct
InstanceIdentifier<ConnectivityContext> connectivitycontextIID = InstanceIdentifier.builder(Context.class)
+ private ArrayList<Class<? extends SupportedIfCapability>> convertSupIfCapaList(List<Mapping> xpdrNetMaps,
+ int index) {
+ ArrayList<Class<? extends SupportedIfCapability>> newSupIfCapList = new ArrayList<Class<? extends
+ SupportedIfCapability>>();
+ xpdrNetMaps.get(index).getSupportedInterfaceCapability()
+ .forEach(a -> newSupIfCapList.add(xpdrNetMaps.get(index).getSupportedInterfaceCapability().get(0)));
+ return newSupIfCapList;
+ }