X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=olm%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Folm%2Fpower%2FPowerMgmtVersion121.java;h=d2940e7dd722bad398a717f0b48111283fa25ee9;hb=refs%2Fchanges%2F46%2F100646%2F27;hp=d021845b09a640eee5b3904aeb4e51e617fb5a5d;hpb=a4b512d1270488e09a42c6bad83785b7b5fbd9a8;p=transportpce.git diff --git a/olm/src/main/java/org/opendaylight/transportpce/olm/power/PowerMgmtVersion121.java b/olm/src/main/java/org/opendaylight/transportpce/olm/power/PowerMgmtVersion121.java index d021845b0..d2940e7dd 100644 --- a/olm/src/main/java/org/opendaylight/transportpce/olm/power/PowerMgmtVersion121.java +++ b/olm/src/main/java/org/opendaylight/transportpce/olm/power/PowerMgmtVersion121.java @@ -24,6 +24,7 @@ import org.opendaylight.transportpce.common.device.DeviceTransaction; import org.opendaylight.transportpce.common.device.DeviceTransactionManager; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev161014.OpticalControlMode; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev161014.PowerDBm; +import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.OrgOpenroadmDeviceData; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.circuit.pack.Ports; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.circuit.pack.PortsKey; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.circuit.packs.CircuitPacks; @@ -38,6 +39,7 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.open import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev161014.Interface1Builder; import org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev161014.och.container.OchBuilder; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; +import org.opendaylight.yangtools.yang.common.Decimal64; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -62,9 +64,11 @@ public final class PowerMgmtVersion121 { */ public static Map getXponderPowerRange(String circuitPackName, String portName, String deviceId, DeviceTransactionManager deviceTransactionManager) { - InstanceIdentifier portIID = InstanceIdentifier.create(OrgOpenroadmDevice.class) - .child(CircuitPacks.class, new CircuitPacksKey(circuitPackName)) - .child(Ports.class, new PortsKey(portName)); + InstanceIdentifier portIID = InstanceIdentifier + .builderOfInherited(OrgOpenroadmDeviceData.class, OrgOpenroadmDevice.class) + .child(CircuitPacks.class, new CircuitPacksKey(circuitPackName)) + .child(Ports.class, new PortsKey(portName)) + .build(); Map powerRangeMap = new HashMap<>(); LOG.debug("Fetching logical Connection Point value for port {} at circuit pack {}", portName, circuitPackName); Optional portObject = @@ -105,9 +109,11 @@ public final class PowerMgmtVersion121 { Map powerRangeMap = new HashMap<>(); LOG.debug("Coming inside SRG power range"); LOG.debug("Mapping object exists."); - InstanceIdentifier portIID = InstanceIdentifier.create(OrgOpenroadmDevice.class) - .child(CircuitPacks.class, new CircuitPacksKey(circuitPackName)) - .child(Ports.class, new PortsKey(portName)); + InstanceIdentifier portIID = InstanceIdentifier + .builderOfInherited(OrgOpenroadmDeviceData.class, OrgOpenroadmDevice.class) + .child(CircuitPacks.class, new CircuitPacksKey(circuitPackName)) + .child(Ports.class, new PortsKey(portName)) + .build(); LOG.debug("Fetching logical Connection Point value for port {} at circuit pack {}{}", portName, circuitPackName, portIID); Optional portObject = @@ -158,7 +164,7 @@ public final class PowerMgmtVersion121 { OchBuilder ochBuilder = new OchBuilder(ochInterfaceBuilder.augmentation( org.opendaylight.yang.gen.v1.http.org.openroadm.optical.channel.interfaces.rev161014 .Interface1.class).getOch()); - ochBuilder.setTransmitPower(new PowerDBm(txPower)); + ochBuilder.setTransmitPower(new PowerDBm(Decimal64.valueOf(txPower))); ochInterfaceBuilder.addAugmentation(new Interface1Builder().setOch(ochBuilder.build()).build()); Future> deviceTxFuture = deviceTransactionManager.getDeviceTransaction(nodeId); DeviceTransaction deviceTx; @@ -176,9 +182,11 @@ public final class PowerMgmtVersion121 { + "setup!", nodeId, e); return false; } - InstanceIdentifier interfacesIID = InstanceIdentifier.create(OrgOpenroadmDevice.class) - .child(Interface.class, new InterfaceKey(interfaceName)); - deviceTx.put(LogicalDatastoreType.CONFIGURATION, interfacesIID, ochInterfaceBuilder.build()); + InstanceIdentifier interfacesIID = InstanceIdentifier + .builderOfInherited(OrgOpenroadmDeviceData.class, OrgOpenroadmDevice.class) + .child(Interface.class, new InterfaceKey(interfaceName)) + .build(); + deviceTx.merge(LogicalDatastoreType.CONFIGURATION, interfacesIID, ochInterfaceBuilder.build()); FluentFuture commit = deviceTx.commit(Timeouts.DEVICE_WRITE_TIMEOUT, Timeouts.DEVICE_WRITE_TIMEOUT_UNIT); try { @@ -221,7 +229,7 @@ public final class PowerMgmtVersion121 { RoadmConnectionsBuilder rdmConnBldr = new RoadmConnectionsBuilder(rdmConnOpt.get()); rdmConnBldr.setOpticalControlMode(mode); if (powerValue != null) { - rdmConnBldr.setTargetOutputPower(new PowerDBm(powerValue)); + rdmConnBldr.setTargetOutputPower(new PowerDBm(Decimal64.valueOf(powerValue))); } RoadmConnections newRdmConn = rdmConnBldr.build(); Future> deviceTxFuture = @@ -240,9 +248,11 @@ public final class PowerMgmtVersion121 { return false; } // post the cross connect on the device - InstanceIdentifier roadmConnIID = InstanceIdentifier.create(OrgOpenroadmDevice.class) - .child(RoadmConnections.class, new RoadmConnectionsKey(connectionNumber)); - deviceTx.put(LogicalDatastoreType.CONFIGURATION, roadmConnIID, newRdmConn); + InstanceIdentifier roadmConnIID = InstanceIdentifier + .builderOfInherited(OrgOpenroadmDeviceData.class, OrgOpenroadmDevice.class) + .child(RoadmConnections.class, new RoadmConnectionsKey(connectionNumber)) + .build(); + deviceTx.merge(LogicalDatastoreType.CONFIGURATION, roadmConnIID, newRdmConn); FluentFuture commit = deviceTx.commit(Timeouts.DEVICE_WRITE_TIMEOUT, Timeouts.DEVICE_WRITE_TIMEOUT_UNIT); try {