X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=common%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fcommon%2Fcrossconnect%2FCrossConnectImpl121.java;h=d26ff95c7e648ce977bc69da1b076a9dc6c005c2;hb=b1b3bafd549bb501937cea5c976d5344608b6ed3;hp=b97d07d5a9d36bd9fa4fd5341c5fdce45da639ea;hpb=b348e552b49373f609c67809c82c61c93c611c1a;p=transportpce.git diff --git a/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl121.java b/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl121.java index b97d07d5a..d26ff95c7 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl121.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/crossconnect/CrossConnectImpl121.java @@ -8,7 +8,6 @@ package org.opendaylight.transportpce.common.crossconnect; import com.google.common.util.concurrent.FluentFuture; -import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -17,7 +16,7 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.binding.api.MountPoint; -import org.opendaylight.mdsal.binding.api.RpcConsumerRegistry; +import org.opendaylight.mdsal.binding.api.RpcService; import org.opendaylight.mdsal.common.api.CommitInfo; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.transportpce.common.Timeouts; @@ -28,9 +27,10 @@ import org.opendaylight.transportpce.common.fixedflex.SpectrumInformation; import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException; 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.GetConnectionPortTrail; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.GetConnectionPortTrailInputBuilder; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.GetConnectionPortTrailOutput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.OrgOpenroadmDeviceService; +import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.OrgOpenroadmDeviceData; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.connection.DestinationBuilder; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.connection.SourceBuilder; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.get.connection.port.trail.output.Ports; @@ -39,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.device.rev170206.org.openroadm.device.container.org.openroadm.device.RoadmConnectionsBuilder; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.openroadm.device.container.org.openroadm.device.RoadmConnectionsKey; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; +import org.opendaylight.yangtools.yang.common.Decimal64; import org.opendaylight.yangtools.yang.common.RpcResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -70,15 +71,17 @@ public class CrossConnectImpl121 { rdmConnBldr.setDestination(new DestinationBuilder() .setDstIf(spectrumInformation.getIdentifierFromParams(destTp)) .build()); - InstanceIdentifier rdmConnectionIID = InstanceIdentifier.create(OrgOpenroadmDevice.class) - .child(RoadmConnections.class, new RoadmConnectionsKey(rdmConnBldr.getConnectionNumber())); + InstanceIdentifier rdmConnectionIID = InstanceIdentifier + .builderOfInherited(OrgOpenroadmDeviceData.class, OrgOpenroadmDevice.class) + .child(RoadmConnections.class, new RoadmConnectionsKey(rdmConnBldr.getConnectionNumber())) + .build(); Future> deviceTxFuture = deviceTransactionManager.getDeviceTransaction(deviceId); DeviceTransaction deviceTx; try { Optional deviceTxOpt = deviceTxFuture.get(); if (deviceTxOpt.isPresent()) { - deviceTx = deviceTxOpt.get(); + deviceTx = deviceTxOpt.orElseThrow(); } else { LOG.error("Device transaction for device {} was not found!", deviceId); return Optional.empty(); @@ -109,8 +112,8 @@ public class CrossConnectImpl121 { Optional xc = getCrossConnect(deviceId, connectionNumber); //Check if cross connect exists before delete if (xc.isPresent()) { - interfList.add(xc.get().getSource().getSrcIf()); - interfList.add(xc.get().getDestination().getDstIf()); + interfList.add(xc.orElseThrow().getSource().getSrcIf()); + interfList.add(xc.orElseThrow().getDestination().getDstIf()); } else { LOG.warn("Cross connect does not exist, halting delete"); return null; @@ -120,7 +123,7 @@ public class CrossConnectImpl121 { try { Optional deviceTxOpt = deviceTxFuture.get(); if (deviceTxOpt.isPresent()) { - deviceTx = deviceTxOpt.get(); + deviceTx = deviceTxOpt.orElseThrow(); } else { LOG.error("Device transaction for device {} was not found!", deviceId); return null; @@ -154,20 +157,20 @@ public class CrossConnectImpl121 { List ports = null; MountPoint mountPoint; if (mountPointOpt.isPresent()) { - mountPoint = mountPointOpt.get(); + mountPoint = mountPointOpt.orElseThrow(); } else { LOG.error("Failed to obtain mount point for device {}!", nodeId); return Collections.emptyList(); } - final Optional service = mountPoint.getService(RpcConsumerRegistry.class); + final Optional service = mountPoint.getService(RpcService.class); if (!service.isPresent()) { LOG.error("Failed to get RpcService for node {}", nodeId); } - final OrgOpenroadmDeviceService rpcService = service.get().getRpcService(OrgOpenroadmDeviceService.class); - final GetConnectionPortTrailInputBuilder portTrainInputBuilder = new GetConnectionPortTrailInputBuilder(); - portTrainInputBuilder.setConnectionNumber(connectionName); - final Future> portTrailOutput = rpcService.getConnectionPortTrail( - portTrainInputBuilder.build()); + final GetConnectionPortTrail rpcService = service.orElseThrow().getRpc(GetConnectionPortTrail.class); + final Future> portTrailOutput = rpcService.invoke( + new GetConnectionPortTrailInputBuilder() + .setConnectionNumber(connectionName) + .build()); if (portTrailOutput != null) { try { RpcResult connectionPortTrailOutputRpcResult = portTrailOutput.get(); @@ -191,19 +194,20 @@ public class CrossConnectImpl121 { } private InstanceIdentifier generateRdmConnectionIID(String connectionNumber) { - return InstanceIdentifier.create(OrgOpenroadmDevice.class) - .child(RoadmConnections.class, new RoadmConnectionsKey(connectionNumber)); + return InstanceIdentifier.builderOfInherited(OrgOpenroadmDeviceData.class, OrgOpenroadmDevice.class) + .child(RoadmConnections.class, new RoadmConnectionsKey(connectionNumber)) + .build(); } private String generateConnectionNumber(String srcTp, String destTp, String spectralSlotName) { return String.join(GridConstant.NAME_PARAMETERS_SEPARATOR, srcTp, destTp, spectralSlotName); } - public boolean setPowerLevel(String deviceId, OpticalControlMode mode, BigDecimal powerValue, String ctNumber) { + public boolean setPowerLevel(String deviceId, OpticalControlMode mode, Decimal64 powerValue, String ctNumber) { Optional rdmConnOpt = getCrossConnect(deviceId, ctNumber); if (rdmConnOpt.isPresent()) { - RoadmConnectionsBuilder rdmConnBldr = new RoadmConnectionsBuilder(rdmConnOpt.get()) + RoadmConnectionsBuilder rdmConnBldr = new RoadmConnectionsBuilder(rdmConnOpt.orElseThrow()) .setOpticalControlMode(mode); if (powerValue != null) { rdmConnBldr.setTargetOutputPower(new PowerDBm(powerValue)); @@ -216,7 +220,7 @@ public class CrossConnectImpl121 { try { Optional deviceTxOpt = deviceTxFuture.get(); if (deviceTxOpt.isPresent()) { - deviceTx = deviceTxOpt.get(); + deviceTx = deviceTxOpt.orElseThrow(); } else { LOG.error("Transaction for device {} was not found!", deviceId); return false; @@ -227,8 +231,10 @@ public class CrossConnectImpl121 { } // post the cross connect on the device - InstanceIdentifier roadmConnIID = InstanceIdentifier.create(OrgOpenroadmDevice.class) - .child(RoadmConnections.class, new RoadmConnectionsKey(ctNumber)); + InstanceIdentifier roadmConnIID = InstanceIdentifier + .builderOfInherited(OrgOpenroadmDeviceData.class, OrgOpenroadmDevice.class) + .child(RoadmConnections.class, new RoadmConnectionsKey(ctNumber)) + .build(); deviceTx.merge(LogicalDatastoreType.CONFIGURATION, roadmConnIID, newRdmConn); FluentFuture commit = deviceTx.commit(Timeouts.DEVICE_WRITE_TIMEOUT, Timeouts.DEVICE_WRITE_TIMEOUT_UNIT);