*/
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;
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;
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);
}
} 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()) {
} 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()) {
} 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()) {
} 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()) {
} 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()) {
} 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()) {
} 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()) {
} 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()) {
} 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()) {
} 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()) {
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();
}
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();
}