+ } else if (mappingUtils.getOpenRoadmVersion(realNodeId)
+ .equals(StringConstants.OPENROADM_DEVICE_VERSION_2_2_1)) {
+
+ org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.RatioDB spanLossRx;
+ org.opendaylight.yang.gen.v1.http.org.openroadm.common.types
+ .rev181019.RatioDB spanLossTx;
+ Optional<org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019
+ .interfaces.grp.Interface> interfaceObject =
+ openRoadmInterfaces.getInterface(realNodeId, interfaceName);
+ if (interfaceObject.isPresent()) {
+ org.opendaylight.yang.gen.v1.http.org.openroadm.device
+ .rev181019.interfaces.grp.InterfaceBuilder interfaceBuilder =
+ new org.opendaylight.yang.gen.v1.http.org.openroadm.device
+ .rev181019.interfaces.grp.InterfaceBuilder(interfaceObject.get());
+ org.opendaylight.yang.gen.v1.http.org.openroadm.optical
+ .transport.interfaces.rev181019.ots.container.OtsBuilder otsBuilder =
+ new org.opendaylight.yang.gen.v1.http.org.openroadm
+ .optical.transport.interfaces.rev181019.ots.container.OtsBuilder();
+ org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev181019.interfaces.grp.Interface intf =
+ interfaceObject.get();
+ if (intf.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.optical
+ .transport.interfaces.rev181019.Interface1.class) != null
+ && intf.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport
+ .interfaces.rev181019.Interface1.class).getOts() != null) {
+ org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces
+ .rev181019.ots.container.Ots ots =
+ intf.augmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.optical
+ .transport.interfaces.rev181019.Interface1.class).getOts();
+
+ otsBuilder.setFiberType(ots.getFiberType());
+ spanLossRx = ots.getSpanLossReceive();
+ spanLossTx = ots.getSpanLossTransmit();
+ } else {
+ spanLossRx = new org.opendaylight.yang.gen.v1.http.org
+ .openroadm.common.types.rev181019.RatioDB(spanLoss);
+ spanLossTx = new org.opendaylight.yang.gen.v1.http.org
+ .openroadm.common.types.rev181019.RatioDB(spanLoss);
+ }
+ org.opendaylight.yang.gen.v1.http.org.openroadm.optical.transport.interfaces
+ .rev181019.Interface1Builder intf1Builder =
+ new org.opendaylight.yang.gen.v1.http.org.openroadm.optical
+ .transport.interfaces.rev181019.Interface1Builder();
+ if (direction.equals("TX")) {
+ otsBuilder.setSpanLossTransmit(new org.opendaylight.yang.gen.v1.http.org
+ .openroadm.common.types.rev181019.RatioDB(spanLoss));
+ otsBuilder.setSpanLossReceive(spanLossRx);
+ } else {
+ otsBuilder.setSpanLossTransmit(spanLossTx).setSpanLossReceive(
+ new org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.RatioDB(spanLoss)
+ );
+ }
+ interfaceBuilder.addAugmentation(intf1Builder.setOts(otsBuilder.build()).build());
+ openRoadmInterfaces.postInterface(realNodeId,interfaceBuilder);
+ LOG.info("Spanloss Value update completed successfully");
+ return true;