X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=networkmodel%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fnetworkmodel%2Futil%2FClliNetwork.java;h=e144f241406a3b1f7b43bd0b19beaba8857557c8;hb=2c74d3b1109043024a1e251766ed6fcc39ffedf1;hp=f891ca50903cd46dff89e36d7ac7acfa942ae847;hpb=a0f3cd99b9757de34d556d3fd61428051a749852;p=transportpce.git diff --git a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/ClliNetwork.java b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/ClliNetwork.java index f891ca509..e144f2414 100644 --- a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/ClliNetwork.java +++ b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/util/ClliNetwork.java @@ -8,7 +8,6 @@ package org.opendaylight.transportpce.networkmodel.util; -import java.util.Optional; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; @@ -16,15 +15,12 @@ import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.transportpce.common.NetworkUtils; -import org.opendaylight.transportpce.common.Timeouts; import org.opendaylight.transportpce.common.device.DeviceTransactionManager; import org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev170626.NetworkTypes1; import org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev170626.NetworkTypes1Builder; import org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev170626.Node1; import org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev170626.Node1Builder; import org.opendaylight.yang.gen.v1.http.org.openroadm.clli.network.rev170626.network.network.types.ClliNetworkBuilder; -import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.openroadm.device.container.OrgOpenroadmDevice; -import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev170206.org.openroadm.device.container.org.openroadm.device.Info; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev150608.Network; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev150608.NetworkBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev150608.NetworkId; @@ -55,8 +51,8 @@ public final class ClliNetwork { public static void createClliLayer(DataBroker controllerdb) { try { Network clliNetwork = createNetwork(); - InstanceIdentifierBuilder nwIID = InstanceIdentifier.builder( - Network.class,new NetworkKey(new NetworkId(NetworkUtils.CLLI_NETWORK_ID))); + InstanceIdentifierBuilder nwIID = InstanceIdentifier.builder(Network.class, + new NetworkKey(new NetworkId(NetworkUtils.CLLI_NETWORK_ID))); WriteTransaction wrtx = controllerdb.newWriteOnlyTransaction(); wrtx.put(LogicalDatastoreType.CONFIGURATION, nwIID.build(), clliNetwork); wrtx.submit().get(1, TimeUnit.SECONDS); @@ -74,18 +70,20 @@ public final class ClliNetwork { * * @return node builder status */ - public static Node createNode(DeviceTransactionManager deviceTransactionManager, String deviceId) { + public static Node createNode(DeviceTransactionManager deviceTransactionManager, String deviceId, + String openRoadmVersion) { //Read clli from the device - InstanceIdentifier infoIID = InstanceIdentifier.create(OrgOpenroadmDevice.class).child(Info.class); - Optional deviceInfo = deviceTransactionManager.getDataFromDevice(deviceId, - LogicalDatastoreType.OPERATIONAL, infoIID, Timeouts.DEVICE_READ_TIMEOUT, - Timeouts.DEVICE_READ_TIMEOUT_UNIT); + InfoSubtree infoSubtree = new InfoSubtree(openRoadmVersion); String clli; - if (deviceInfo.isPresent()) { - clli = deviceInfo.get().getClli(); + + if (infoSubtree.getDeviceInfo(deviceId,deviceTransactionManager)) { + + clli = infoSubtree.getClli(); } else { + LOG.info("Unable for get Info subtree from the device"); return null; } + /* * Create node in the CLLI layer of the network model * with nodeId equal to the clli attribute in the device