fix Databroker deprecated warnings
[transportpce.git] / pce / src / main / java / org / opendaylight / transportpce / pce / gnpy / ExtractTopoDataStoreImpl.java
index 692451f94f2ef85b96a472dc607506abe764052d..0ad7f2e1a64e688ead695126a14efa72e17c69bf 100644 (file)
@@ -17,10 +17,9 @@ import java.util.concurrent.ExecutionException;
 import java.util.stream.IntStream;
 
 import org.eclipse.jdt.annotation.Nullable;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.transportpce.common.NetworkUtils;
+import org.opendaylight.transportpce.common.network.NetworkTransactionService;
 import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev181214.Coordinate;
 import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev181214.Km;
 import org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev181214.edfa.params.Operational;
@@ -68,7 +67,7 @@ import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.synchronization.info.Syn
 import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.synchronization.info.SynchronizationBuilder;
 import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.synchronization.info.synchronization.Svec;
 import org.opendaylight.yang.gen.v1.gnpy.path.rev190502.synchronization.info.synchronization.SvecBuilder;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev171017.PathComputationRequestInput;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev190624.PathComputationRequestInput;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLink;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.amplified.link.section.element.section.element.Span;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.amplified.link.section.element.section.element.ila.Ila;
@@ -103,7 +102,7 @@ import org.slf4j.LoggerFactory;
 
 public class ExtractTopoDataStoreImpl {
     private static final Logger LOG = LoggerFactory.getLogger(ExtractTopoDataStoreImpl.class);
-    private final DataBroker dataBroker;
+    private final NetworkTransactionService networkTransactionService;
     private List<Elements> elements = new ArrayList<>();
     private List<Connections> connections = new ArrayList<>();
     private List<PathRequest> pathRequest = new ArrayList<>();
@@ -118,34 +117,35 @@ public class ExtractTopoDataStoreImpl {
      * Construct the ExtractTopoDataStoreImpl.
      */
     @SuppressWarnings("unchecked")
-    public ExtractTopoDataStoreImpl(final DataBroker dataBroker, PathComputationRequestInput input, AToZDirection atoz,
-            Long requestId) {
-        this.dataBroker = dataBroker;
+    public ExtractTopoDataStoreImpl(final NetworkTransactionService networkTransactionService,
+            PathComputationRequestInput input,AToZDirection atoz, Long requestId) {
+        this.networkTransactionService = networkTransactionService;
         Map<String, List<?>> map = extractTopo();
         if (map.containsKey("Elements")) {
             elements = (List<Elements>) map.get("Elements");
         } else {
             elements = null;
         }
-        if (map.containsKey("Elements")) {
+        if (map.containsKey("Connections")) {
             connections = (List<Connections>) map.get("Connections");
         } else {
             connections = null;
         }
+
         pathRequest = extractPathRequest(input, atoz, requestId);
         synchronization = extractSynchronization(requestId);
     }
 
-    public ExtractTopoDataStoreImpl(final DataBroker dataBroker, PathComputationRequestInput input, ZToADirection ztoa,
-            Long requestId) {
-        this.dataBroker = dataBroker;
+    public ExtractTopoDataStoreImpl(final NetworkTransactionService networkTransactionService,
+            PathComputationRequestInput input, ZToADirection ztoa, Long requestId) {
+        this.networkTransactionService = networkTransactionService;
         Map<String, List<?>> map = extractTopo();
         if (map.containsKey("Elements")) {
             elements = (List<Elements>) map.get("Elements");
         } else {
             elements = null;
         }
-        if (map.containsKey("Elements")) {
+        if (map.containsKey("Connections")) {
             connections = (List<Connections>) map.get("Connections");
         } else {
             connections = null;
@@ -173,16 +173,15 @@ public class ExtractTopoDataStoreImpl {
         InstanceIdentifier<Network> insIdrOpenRoadmNet = InstanceIdentifier
                 .builder(Networks.class)
                 .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID))).build();
-        ReadOnlyTransaction readOnlyTransaction = this.dataBroker.newReadOnlyTransaction();
         // Read the data broker
         try {
-            // Initialize the reading of the data broker
+            // Initialize the reading of the networkTransactionService
             // read the configuration part of the data broker that concerns
             // the openRoadm topology and get all the nodes
-            java.util.Optional<Network> openRoadmTopo = readOnlyTransaction
-                    .read(LogicalDatastoreType.CONFIGURATION, insIdOpenRoadmTopo).get().toJavaUtil();
-            java.util.Optional<Network> openRoadmNet = readOnlyTransaction
-                    .read(LogicalDatastoreType.CONFIGURATION, insIdrOpenRoadmNet).get().toJavaUtil();
+            java.util.Optional<Network> openRoadmTopo = this.networkTransactionService
+                    .read(LogicalDatastoreType.CONFIGURATION, insIdOpenRoadmTopo).get();
+            java.util.Optional<Network> openRoadmNet = this.networkTransactionService
+                    .read(LogicalDatastoreType.CONFIGURATION, insIdrOpenRoadmNet).get();
             if (openRoadmNet.isPresent()) {
                 List<Node> openRoadmNetNodeList = openRoadmNet.get().getNode();
                 if (openRoadmTopo.isPresent()) {
@@ -243,7 +242,7 @@ public class ExtractTopoDataStoreImpl {
                     int idFiber = 0;
                     int nbEDFA = 0;
                     if (!linksList.isEmpty()) {
-                        LOG.warn("The link list is not empty");
+                        LOG.debug("The link list is not empty");
                         for (Link link : linksList) {
                             Link1 link1 = link.augmentation(Link1.class);
                             int linkType = link1.getLinkType().getIntValue();
@@ -296,7 +295,7 @@ public class ExtractTopoDataStoreImpl {
                                                     destId = element1.getUid();
                                                     destIp = null;
                                                     // Create a new link
-                                                    if (srcId != destId) {
+                                                    if (!destId.equals(srcId)) {
                                                         Connections connection = createNewConnection(srcId, srcIp,
                                                                 destId, destIp);
                                                         topoConnections.add(connection);
@@ -317,19 +316,20 @@ public class ExtractTopoDataStoreImpl {
                                         mapFiberIp.put(clfi, ipFiber);
                                         idFiber++;
 
-                                        double attIn = span.getSpanlossCurrent().getValue().doubleValue();
-                                        double lossCoef = 0.2;
+                                        double attIn = 0;
                                         double connIn = 0;
                                         double connOut = 0;
                                         String typeVariety = "SSMF";
 
-                                        double length = 0; //convert to kilometer
+                                        double length = 0;
                                         // Compute the length of the link
                                         List<LinkConcatenation> linkConcatenationList = span.getLinkConcatenation();
                                         for (LinkConcatenation linkConcatenation : linkConcatenationList) {
                                             double srlgLength = linkConcatenation.getSRLGLength();
-                                            length += srlgLength / convertKmM; //convert to kilometer
+                                            //convert to kilometer
+                                            length += srlgLength / convertKmM;
                                         }
+                                        double lossCoef = span.getSpanlossCurrent().getValue().doubleValue() / length;
 
                                         Elements element1 = addElementsFiber(2, 0, "RLD", "Lannion_CAS",
                                                 ipFiber.getIpv4Address().getValue(), length, attIn, lossCoef, connIn,
@@ -339,7 +339,7 @@ public class ExtractTopoDataStoreImpl {
                                         // Create a new link
                                         destId = element1.getUid();
                                         destIp = null;
-                                        if (srcId != destId) {
+                                        if (!destId.equals(srcId)) {
                                             Connections connection = createNewConnection(srcId, srcIp, destId, destIp);
                                             topoConnections.add(connection);
                                             srcId = destId;
@@ -359,7 +359,7 @@ public class ExtractTopoDataStoreImpl {
                                         // Create a new link
                                         destId = element1.getUid();
                                         destIp = null;
-                                        if (srcId != destId) {
+                                        if (!destId.equals(srcId)) {
                                             Connections connection = createNewConnection(srcId, srcIp, destId, destIp);
                                             topoConnections.add(connection);
                                             srcId = destId;
@@ -385,9 +385,9 @@ public class ExtractTopoDataStoreImpl {
             }
         } catch (InterruptedException | ExecutionException e) {
             LOG.error("Error reading the topology", e);
-            readOnlyTransaction.close();
+            this.networkTransactionService.close();
         }
-        readOnlyTransaction.close();
+        this.networkTransactionService.close();
         map.put("Elements", topoElements);
         map.put("Connections", topoConnections);
         return map;
@@ -423,7 +423,7 @@ public class ExtractTopoDataStoreImpl {
                     IpAddress ipAddress = mapNodeRefIp.get(nodeRef);
                     for (Elements element : elements) {
                         if (element.getUid().contains(ipAddress.getIpv4Address().getValue().toString())) {
-                            if ((ipAddressCurrent == null) || (ipAddressCurrent != ipAddress)) {
+                            if ((ipAddressCurrent == null) || (!ipAddress.equals(ipAddressCurrent))) {
                                 ipAddressCurrent = ipAddress;
                                 // Fill in routeObjectIncludeExcludes
                                 RouteObjectIncludeExclude routeObjectIncludeExclude1 = addRouteObjectIncludeExclude(
@@ -510,7 +510,7 @@ public class ExtractTopoDataStoreImpl {
                     IpAddress ipAddress = mapNodeRefIp.get(nodeRef);
                     for (Elements element : elements) {
                         if (element.getUid().contains(ipAddress.getIpv4Address().getValue().toString())) {
-                            if ((ipAddressCurrent == null) || (ipAddressCurrent != ipAddress)) {
+                            if ((ipAddressCurrent == null) || (!ipAddress.equals(ipAddressCurrent))) {
                                 ipAddressCurrent = ipAddress;
                                 // Fill in routeObjectIncludeExcludes
                                 RouteObjectIncludeExclude routeObjectIncludeExclude1 = addRouteObjectIncludeExclude(
@@ -576,7 +576,7 @@ public class ExtractTopoDataStoreImpl {
     public List<Synchronization> extractSynchronization(Long requestId) {
         // Create RequestIdNumber
         List<Long> requestIdNumber = new ArrayList<>();
-        requestIdNumber.add(0, new Long(0));
+        requestIdNumber.add(requestId);
         // Create a synchronization
         Svec svec = new SvecBuilder().setRelaxable(true).setDisjointness(new TePathDisjointness(true, true, false))
                 .setRequestIdNumber(requestIdNumber).build();
@@ -624,9 +624,8 @@ public class ExtractTopoDataStoreImpl {
                 .setOutVoa(outVoa).build();
         Edfa edfa = new EdfaBuilder()
                 .setOperational(operational).build();
-        Elements element1 = new ElementsBuilder().setUid(uidEdfa) // Choose an
-                                                                  // ip
-                                                                  // address
+        Elements element1 = new ElementsBuilder().setUid(uidEdfa)
+                // Choose an ip address
                 .setType(org.opendaylight.yang.gen.v1.gnpy.gnpy.network.topology.rev181214.Edfa.class)
                 .setMetadata(metadata1).setElementType(edfa).setTypeVariety(typeVariety).build();
         return element1;