Merge changes from topic "parallel"
[transportpce.git] / olm / src / main / java / org / opendaylight / transportpce / olm / power / PowerMgmtVersion221.java
index 26042e7d86b13547e1269cfea160ada462c420fd..265cf9dedcd6ac6cb7d9bf45d0d7078103b7effd 100644 (file)
@@ -75,7 +75,7 @@ public final class PowerMgmtVersion221 {
                         Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT);
         if (portObject.isPresent()) {
             Ports port = portObject.get();
-            if (port.getTransponderPort().getPortPowerCapabilityMaxTx() != null) {
+            if (port.getTransponderPort() != null && port.getTransponderPort().getPortPowerCapabilityMaxTx() != null) {
                 powerRangeMap.put("MaxTx", port.getTransponderPort().getPortPowerCapabilityMaxTx().getValue()
                         .doubleValue());
                 powerRangeMap.put("MinTx", port.getTransponderPort().getPortPowerCapabilityMinTx().getValue()
@@ -161,8 +161,7 @@ public final class PowerMgmtVersion221 {
         OchBuilder ochBuilder = new OchBuilder(ochInterfaceBuilder.augmentation(
                 Interface1.class).getOch());
         ochBuilder.setTransmitPower(new PowerDBm(txPower));
-        ochInterfaceBuilder.addAugmentation(
-                Interface1.class, new Interface1Builder().setOch(ochBuilder.build()).build());
+        ochInterfaceBuilder.addAugmentation(new Interface1Builder().setOch(ochBuilder.build()).build());
         Future<Optional<DeviceTransaction>> deviceTxFuture = deviceTransactionManager.getDeviceTransaction(nodeId);
         DeviceTransaction deviceTx;
         try {
@@ -181,7 +180,7 @@ public final class PowerMgmtVersion221 {
         }
         InstanceIdentifier<Interface> interfacesIID = InstanceIdentifier.create(OrgOpenroadmDevice.class)
                 .child(Interface.class, new InterfaceKey(interfaceName));
-        deviceTx.put(LogicalDatastoreType.CONFIGURATION, interfacesIID, ochInterfaceBuilder.build());
+        deviceTx.merge(LogicalDatastoreType.CONFIGURATION, interfacesIID, ochInterfaceBuilder.build());
         FluentFuture<? extends @NonNull CommitInfo> commit =
             deviceTx.commit(Timeouts.DEVICE_WRITE_TIMEOUT, Timeouts.DEVICE_WRITE_TIMEOUT_UNIT);
         try {
@@ -189,7 +188,7 @@ public final class PowerMgmtVersion221 {
             LOG.info("Transponder Power update is committed");
             return true;
         } catch (InterruptedException | ExecutionException e) {
-            LOG.error("Setting transponder power failed {}", e);
+            LOG.error("Setting transponder power failed", e);
         }
         return false;
     }
@@ -217,7 +216,8 @@ public final class PowerMgmtVersion221 {
     public static boolean setPowerLevel(String deviceId, OpticalControlMode mode, BigDecimal powerValue,
             String connectionNumber, CrossConnect crossConnect,
             DeviceTransactionManager deviceTransactionManager) {
-        Optional<RoadmConnections> rdmConnOpt =  crossConnect.getCrossConnect(deviceId, connectionNumber);
+        @SuppressWarnings("unchecked") Optional<RoadmConnections> rdmConnOpt =
+            (Optional<RoadmConnections>) crossConnect.getCrossConnect(deviceId, connectionNumber);
         if (rdmConnOpt.isPresent()) {
             RoadmConnectionsBuilder rdmConnBldr = new RoadmConnectionsBuilder(rdmConnOpt.get());
             rdmConnBldr.setOpticalControlMode(mode);
@@ -243,7 +243,7 @@ public final class PowerMgmtVersion221 {
             // post the cross connect on the device
             InstanceIdentifier<RoadmConnections> roadmConnIID = InstanceIdentifier.create(OrgOpenroadmDevice.class)
                     .child(RoadmConnections.class, new RoadmConnectionsKey(connectionNumber));
-            deviceTx.put(LogicalDatastoreType.CONFIGURATION, roadmConnIID, newRdmConn);
+            deviceTx.merge(LogicalDatastoreType.CONFIGURATION, roadmConnIID, newRdmConn);
             FluentFuture<? extends @NonNull CommitInfo> commit =
                 deviceTx.commit(Timeouts.DEVICE_WRITE_TIMEOUT, Timeouts.DEVICE_WRITE_TIMEOUT_UNIT);
             try {