Refactor SH CatalogDataUtil
[transportpce.git] / servicehandler / src / main / java / org / opendaylight / transportpce / servicehandler / DowngradeConstraints.java
index 75339e9c5ca8c1b0cd0703df570add51612b25d5..c42ed0f5261114cd597b8d7ece576845670e4a6f 100644 (file)
@@ -7,10 +7,8 @@
  */
 package org.opendaylight.transportpce.servicehandler;
 
-import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.node.types.rev210528.NodeIdType;
@@ -39,7 +37,6 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev21
 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.routing.constraints.SoftConstraints;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.routing.constraints.rev211210.routing.constraints.SoftConstraintsBuilder;
 import org.opendaylight.yangtools.yang.common.Uint32;
-import org.opendaylight.yangtools.yang.common.Uint8;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -66,20 +63,20 @@ public final class DowngradeConstraints {
         SoftConstraintsBuilder softConstraintsBuilder = new SoftConstraintsBuilder(softConstraints);
         if (hardConstraints.getCustomerCode() != null && !hardConstraints.getCustomerCode().isEmpty()) {
             if (softConstraintsBuilder.getCustomerCode() == null
-                || softConstraintsBuilder.getCustomerCode().isEmpty()) {
+                    || softConstraintsBuilder.getCustomerCode().isEmpty()) {
                 softConstraintsBuilder.setCustomerCode(hardConstraints.getCustomerCode());
             } else {
-                List<String> updatedCustomerCode = new ArrayList<>(softConstraintsBuilder.getCustomerCode());
+                Set<String> updatedCustomerCode = new HashSet<>(softConstraintsBuilder.getCustomerCode());
                 updatedCustomerCode.addAll(hardConstraints.getCustomerCode());
                 softConstraintsBuilder.setCustomerCode(updatedCustomerCode);
             }
         }
         if (hardConstraints.getOperationalMode() != null && !hardConstraints.getOperationalMode().isEmpty()) {
             if (softConstraintsBuilder.getOperationalMode() == null
-                || softConstraintsBuilder.getOperationalMode().isEmpty()) {
+                    || softConstraintsBuilder.getOperationalMode().isEmpty()) {
                 softConstraintsBuilder.setOperationalMode(hardConstraints.getOperationalMode());
             } else {
-                List<String> updatedOperationalMode = new ArrayList<>(softConstraintsBuilder.getOperationalMode());
+                Set<String> updatedOperationalMode = new HashSet<>(softConstraintsBuilder.getOperationalMode());
                 updatedOperationalMode.addAll(hardConstraints.getOperationalMode());
                 softConstraintsBuilder.setOperationalMode(updatedOperationalMode);
             }
@@ -129,7 +126,7 @@ public final class DowngradeConstraints {
             } else {
                 Set<String> fiberList = new HashSet<>(includeBldr.getFiberBundle());
                 fiberList.addAll(hard.getFiberBundle());
-                includeBldr.setFiberBundle(new ArrayList<>(fiberList));
+                includeBldr.setFiberBundle(new HashSet<>(fiberList));
             }
         }
         if (hard.getNodeId() != null && !hard.getNodeId().isEmpty()) {
@@ -138,7 +135,7 @@ public final class DowngradeConstraints {
             } else {
                 Set<NodeIdType> nodeIdList = new HashSet<>(includeBldr.getNodeId());
                 nodeIdList.addAll(hard.getNodeId());
-                includeBldr.setNodeId(new ArrayList<>(nodeIdList));
+                includeBldr.setNodeId(new HashSet<>(nodeIdList));
             }
         }
         if (hard.getSite() != null && !hard.getSite().isEmpty()) {
@@ -147,7 +144,7 @@ public final class DowngradeConstraints {
             } else {
                 Set<String> siteList = new HashSet<>(includeBldr.getSite());
                 siteList.addAll(hard.getSite());
-                includeBldr.setSite(new ArrayList<>(siteList));
+                includeBldr.setSite(new HashSet<>(siteList));
             }
         }
         if (hard.getSrlgId() != null && !hard.getSrlgId().isEmpty()) {
@@ -156,7 +153,7 @@ public final class DowngradeConstraints {
             } else {
                 Set<Uint32> srlgList = new HashSet<>(includeBldr.getSrlgId());
                 srlgList.addAll(hard.getSrlgId());
-                includeBldr.setSrlgId(new ArrayList<>(srlgList));
+                includeBldr.setSrlgId(new HashSet<>(srlgList));
             }
         }
         if (hard.getSupportingServiceName() != null && !hard.getSupportingServiceName().isEmpty()) {
@@ -165,7 +162,7 @@ public final class DowngradeConstraints {
             } else {
                 Set<String> serviceList = new HashSet<>(includeBldr.getSupportingServiceName());
                 serviceList.addAll(hard.getSupportingServiceName());
-                includeBldr.setSupportingServiceName(new ArrayList<>(serviceList));
+                includeBldr.setSupportingServiceName(new HashSet<>(serviceList));
             }
         }
         if (hard.getLinkIdentifier() != null && !hard.getLinkIdentifier().isEmpty()) {
@@ -189,7 +186,7 @@ public final class DowngradeConstraints {
             } else {
                 Set<String> fiberList = new HashSet<>(excludeBldr.getFiberBundle());
                 fiberList.addAll(hard.getFiberBundle());
-                excludeBldr.setFiberBundle(new ArrayList<>(fiberList));
+                excludeBldr.setFiberBundle(new HashSet<>(fiberList));
             }
         }
         if (hard.getNodeId() != null && !hard.getNodeId().isEmpty()) {
@@ -198,7 +195,7 @@ public final class DowngradeConstraints {
             } else {
                 Set<NodeIdType> nodeIdList = new HashSet<>(excludeBldr.getNodeId());
                 nodeIdList.addAll(hard.getNodeId());
-                excludeBldr.setNodeId(new ArrayList<>(nodeIdList));
+                excludeBldr.setNodeId(new HashSet<>(nodeIdList));
             }
         }
         if (hard.getSite() != null && !hard.getSite().isEmpty()) {
@@ -207,7 +204,7 @@ public final class DowngradeConstraints {
             } else {
                 Set<String> siteList = new HashSet<>(excludeBldr.getSite());
                 siteList.addAll(hard.getSite());
-                excludeBldr.setSite(new ArrayList<>(siteList));
+                excludeBldr.setSite(new HashSet<>(siteList));
             }
         }
         if (hard.getSrlgId() != null && !hard.getSrlgId().isEmpty()) {
@@ -216,7 +213,7 @@ public final class DowngradeConstraints {
             } else {
                 Set<Uint32> srlgList = new HashSet<>(excludeBldr.getSrlgId());
                 srlgList.addAll(hard.getSrlgId());
-                excludeBldr.setSrlgId(new ArrayList<>(srlgList));
+                excludeBldr.setSrlgId(new HashSet<>(srlgList));
             }
         }
         if (hard.getSupportingServiceName() != null && !hard.getSupportingServiceName().isEmpty()) {
@@ -225,7 +222,7 @@ public final class DowngradeConstraints {
             } else {
                 Set<String> serviceList = new HashSet<>(excludeBldr.getSupportingServiceName());
                 serviceList.addAll(hard.getSupportingServiceName());
-                excludeBldr.setSupportingServiceName(new ArrayList<>(serviceList));
+                excludeBldr.setSupportingServiceName(new HashSet<>(serviceList));
             }
         }
         if (hard.getLinkIdentifier() != null && !hard.getLinkIdentifier().isEmpty()) {
@@ -277,32 +274,28 @@ public final class DowngradeConstraints {
         if (soft == null) {
             return new HopCountBuilder(hard).build();
         }
-        String maxWdmHc = null;
-        if (soft.getMaxWdmHopCount() != null && hard.getMaxWdmHopCount() != null) {
-            maxWdmHc = soft.getMaxWdmHopCount().intValue() <= hard.getMaxWdmHopCount().intValue()
-                ? soft.getMaxWdmHopCount().toString()
-                : hard.getMaxWdmHopCount().toString();
-        } else if (hard.getMaxWdmHopCount() != null) {
-            maxWdmHc = hard.getMaxWdmHopCount().toString();
-        } else if (soft.getMaxWdmHopCount() != null) {
-            maxWdmHc = soft.getMaxWdmHopCount().toString();
-        }
-        String maxOtnHc = null;
-        if (soft.getMaxOtnHopCount() != null && hard.getMaxOtnHopCount() != null) {
-            maxOtnHc = soft.getMaxOtnHopCount().intValue() <= hard.getMaxOtnHopCount().intValue()
-                ? soft.getMaxOtnHopCount().toString()
-                : hard.getMaxOtnHopCount().toString();
-        } else if (hard.getMaxOtnHopCount() != null) {
-            maxOtnHc = hard.getMaxOtnHopCount().toString();
-        } else if (soft.getMaxOtnHopCount() != null) {
-            maxOtnHc = soft.getMaxOtnHopCount().toString();
-        }
         HopCountBuilder hcBldr = new HopCountBuilder();
-        if (maxWdmHc != null) {
-            hcBldr.setMaxWdmHopCount(Uint8.valueOf(maxWdmHc));
-        }
-        if (maxOtnHc != null) {
-            hcBldr.setMaxOtnHopCount(Uint8.valueOf(maxOtnHc));
+        if (soft.getMaxWdmHopCount() == null) {
+            if (hard.getMaxWdmHopCount() != null) {
+                hcBldr.setMaxWdmHopCount(hard.getMaxWdmHopCount());
+            }
+        } else {
+            hcBldr.setMaxWdmHopCount(
+                hard.getMaxWdmHopCount() == null
+                        || soft.getMaxWdmHopCount().intValue() <= hard.getMaxWdmHopCount().intValue()
+                    ? soft.getMaxWdmHopCount()
+                    : hard.getMaxWdmHopCount());
+        }
+        if (soft.getMaxOtnHopCount() == null) {
+            if (hard.getMaxOtnHopCount() != null) {
+                hcBldr.setMaxOtnHopCount(hard.getMaxOtnHopCount());
+            }
+        } else {
+            hcBldr.setMaxOtnHopCount(
+                hard.getMaxOtnHopCount() == null
+                        || soft.getMaxOtnHopCount().intValue() <= hard.getMaxOtnHopCount().intValue()
+                    ? soft.getMaxOtnHopCount()
+                    : hard.getMaxOtnHopCount());
         }
         return hcBldr.build();
     }
@@ -311,32 +304,28 @@ public final class DowngradeConstraints {
         if (soft == null) {
             return new TEMetricBuilder(hard).build();
         }
-        String maxWdmTem = null;
-        if (soft.getMaxWdmTEMetric() != null && hard.getMaxWdmTEMetric() != null) {
-            maxWdmTem = soft.getMaxWdmTEMetric().intValue() <= hard.getMaxWdmTEMetric().intValue()
-                ? soft.getMaxWdmTEMetric().toString()
-                : hard.getMaxWdmTEMetric().toString();
-        } else if (hard.getMaxWdmTEMetric() != null) {
-            maxWdmTem = hard.getMaxWdmTEMetric().toString();
-        } else if (soft.getMaxWdmTEMetric() != null) {
-            maxWdmTem = soft.getMaxWdmTEMetric().toString();
-        }
-        String maxOtnTem = null;
-        if (soft.getMaxOtnTEMetric() != null && hard.getMaxOtnTEMetric() != null) {
-            maxOtnTem = soft.getMaxOtnTEMetric().intValue() <= hard.getMaxOtnTEMetric().intValue()
-                ? soft.getMaxOtnTEMetric().toString()
-                : hard.getMaxOtnTEMetric().toString();
-        } else if (hard.getMaxOtnTEMetric() != null) {
-            maxOtnTem = hard.getMaxOtnTEMetric().toString();
-        } else if (soft.getMaxOtnTEMetric() != null) {
-            maxOtnTem = soft.getMaxOtnTEMetric().toString();
-        }
         TEMetricBuilder temBldr = new TEMetricBuilder();
-        if (maxWdmTem != null) {
-            temBldr.setMaxWdmTEMetric(Uint32.valueOf(maxWdmTem));
-        }
-        if (maxOtnTem != null) {
-            temBldr.setMaxOtnTEMetric(Uint32.valueOf(maxOtnTem));
+        if (soft.getMaxWdmTEMetric() == null) {
+            if (hard.getMaxWdmTEMetric() != null) {
+                temBldr.setMaxWdmTEMetric(hard.getMaxWdmTEMetric());
+            }
+        } else {
+            temBldr.setMaxWdmTEMetric(
+                hard.getMaxWdmTEMetric() == null
+                        || soft.getMaxWdmTEMetric().intValue() <= hard.getMaxWdmTEMetric().intValue()
+                    ? soft.getMaxWdmTEMetric()
+                    : hard.getMaxWdmTEMetric());
+        }
+        if (soft.getMaxOtnTEMetric() == null) {
+            if (hard.getMaxOtnTEMetric() != null) {
+                temBldr.setMaxOtnTEMetric(hard.getMaxWdmTEMetric());
+            }
+        } else {
+            temBldr.setMaxOtnTEMetric(
+                hard.getMaxOtnTEMetric() == null
+                        || soft.getMaxOtnTEMetric().intValue() <= hard.getMaxOtnTEMetric().intValue()
+                    ? soft.getMaxOtnTEMetric()
+                    : hard.getMaxOtnTEMetric());
         }
         return temBldr.build();
     }