+
+
+ private void updateOtnTopology(RendererRpcResultSp notification, boolean isDeletion) {
+ Link link = notification.getLink();
+ if (link == null) {
+ return;
+ }
+
+ String serviceType = notification.getServiceType();
+ switch (serviceType) {
+ case StringConstants.SERVICE_TYPE_OTU4:
+ case StringConstants.SERVICE_TYPE_OTUC4:
+ case StringConstants.SERVICE_TYPE_ODU4:
+ case StringConstants.SERVICE_TYPE_ODUC4:
+ Map<String, OtnLinkType> otnLinkTypeMap = Map.of(
+ StringConstants.SERVICE_TYPE_OTU4, OtnLinkType.OTU4,
+ StringConstants.SERVICE_TYPE_OTUC4, OtnLinkType.OTUC4,
+ StringConstants.SERVICE_TYPE_ODU4, OtnLinkType.ODTU4,
+ StringConstants.SERVICE_TYPE_ODUC4, OtnLinkType.ODUC4);
+ if (isDeletion) {
+ LOG.info("updating otn-topology removing links");
+ this.networkModelService.deleteOtnLinks(link.getATermination().getNodeId(),
+ link.getATermination().getTpId(), link.getZTermination().getNodeId(),
+ link.getZTermination().getTpId(), otnLinkTypeMap.get(serviceType));
+ } else {
+ LOG.info("updating otn-topology adding links");
+ this.networkModelService.createOtnLinks(link.getATermination().getNodeId(),
+ link.getATermination().getTpId(), link.getZTermination().getNodeId(),
+ link.getZTermination().getTpId(), otnLinkTypeMap.get(serviceType));
+ }
+ break;
+ case StringConstants.SERVICE_TYPE_1GE:
+ case StringConstants.SERVICE_TYPE_10GE:
+ case StringConstants.SERVICE_TYPE_100GE_M:
+ Short tribPort = Short.valueOf(notification.getAToZDirection().getMinTribSlot().getValue()
+ .split("\\.")[0]);
+ Short minTribSlot = Short.valueOf(notification.getAToZDirection().getMinTribSlot().getValue()
+ .split("\\.")[1]);
+ Short maxTribSlot = Short.valueOf(notification.getAToZDirection().getMaxTribSlot().getValue()
+ .split("\\.")[1]);
+ LOG.info("updating otn-topology node tps -tps and tpn pools");
+ this.networkModelService.updateOtnLinks(link, notification.getAToZDirection().getRate(),
+ tribPort, minTribSlot, maxTribSlot, isDeletion);
+ break;
+ default:
+ break;
+ }
+ }
+