Fix TAPI Sonar issues
[transportpce.git] / tapi / src / main / java / org / opendaylight / transportpce / tapi / topology / ConvertORTopoObjectToTapiTopoObject.java
index 175e8788ba76c629d8bae414e5da3abc32750fac..657ed265f9876ced2471ab7c659b431189804297 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.transportpce.tapi.topology;
 
-import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -62,11 +61,17 @@ import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.no
 import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.Link;
 import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.LinkBuilder;
 import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.NodeBuilder;
+import org.opendaylight.yangtools.yang.common.Uint64;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class ConvertORTopoObjectToTapiTopoObject {
 
+    private static final String DSR_PLUS = "DSR+";
+    private static final String PLUS_DSR = "+DSR";
+    private static final String OT_SI = "+OTSi";
+    private static final String E_OT_SI = "eOTSi+";
+    private static final String I_OT_SI = "iOTSi+";
     private static final Logger LOG = LoggerFactory.getLogger(ConvertORTopoObjectToTapiTopoObject.class);
     private String ietfNodeId;
     private List<TerminationPoint> oorClientPortList;
@@ -98,31 +103,37 @@ public class ConvertORTopoObjectToTapiTopoObject {
         this.uuidMap = new HashMap<>();
     }
 
-
     public void convertNode() {
-        //node creation [DSR/ODU]
+        // node creation [DSR/ODU]
         LOG.info("creation of a DSR/ODU node");
         Uuid nodeUuid = new Uuid(UUID.randomUUID().toString());
-        this.uuidMap.put(this.ietfNodeId + "+DSR", nodeUuid);
-        List<Name> dsrNodeNames = Arrays.asList(new NameBuilder().setValueName("dsr/odu node name")
-            .setValue(this.ietfNodeId).build());
+        this.uuidMap.put(this.ietfNodeId + PLUS_DSR, nodeUuid);
+        List<Name> dsrNodeNames = Arrays.asList(
+            new NameBuilder()
+                .setValueName("dsr/odu node name")
+                .setValue(this.ietfNodeId)
+                .build());
+
         List<LayerProtocolName> dsrLayerProtocols = Arrays.asList(LayerProtocolName.DSR, LayerProtocolName.ODU);
         org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology
             .Node dsrNode = createTapiNode(dsrNodeNames, dsrLayerProtocols);
         tapiNodes.add(dsrNode);
 
-        //node creation [otsi]
+        // node creation [otsi]
         LOG.info("creation of an OTSi node");
         nodeUuid = new Uuid(UUID.randomUUID().toString());
-        this.uuidMap.put(this.ietfNodeId + "+OTSi", nodeUuid);
-        List<Name> otsiNodeNames = Arrays.asList(new NameBuilder().setValueName("otsi node name")
-            .setValue(this.ietfNodeId).build());
+        this.uuidMap.put(this.ietfNodeId + OT_SI, nodeUuid);
+        List<Name> otsiNodeNames = Arrays.asList(
+            new NameBuilder()
+                .setValueName("otsi node name")
+                .setValue(this.ietfNodeId)
+                .build());
         List<LayerProtocolName> otsiLayerProtocols = Arrays.asList(LayerProtocolName.PHOTONICMEDIA);
         org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology
             .Node otsiNode = createTapiNode(otsiNodeNames, otsiLayerProtocols);
         tapiNodes.add(otsiNode);
 
-        //transitional link cration between network nep of DSR/ODU node and iNep of otsi node
+        // transitional link cration between network nep of DSR/ODU node and iNep of otsi node
         LOG.info("creation of transitional links between DSR/ODU and OTSi nodes");
         createTapiTransitionalLinks();
     }
@@ -140,115 +151,144 @@ public class ConvertORTopoObjectToTapiTopoObject {
             .build();
         ruleList.add(rule);
         if (layerProtocols.contains(LayerProtocolName.DSR)) {
-            nodeUuid = this.uuidMap.get(this.ietfNodeId + "+DSR");
-            // client nep creation on DSR/ODU node
-            for (int i = 0; i < oorClientPortList.size(); i++) {
-                Uuid nepUuid = new Uuid(UUID.randomUUID().toString());
-                this.uuidMap.put("DSR+" + oorClientPortList.get(i).getTpId().getValue(), nepUuid);
-                List<Name> onedNames = Arrays.asList(new NameBuilder().setValueName(new StringBuilder("NodeEdgePoint_C")
-                    .append(i + 1).toString()).setValue(oorClientPortList.get(i).getTpId().getValue()).build());
-                OwnedNodeEdgePoint onep = createNep(oorClientPortList.get(i), onedNames, LayerProtocolName.ETH,
-                    LayerProtocolName.DSR, true, "DSR+");
-                onepl.add(onep);
-            }
-            // network nep creation on DSR/ODU node
-            for (int i = 0; i < oorNetworkPortList.size(); i++) {
-                Uuid nepUuid = new Uuid(UUID.randomUUID().toString());
-                this.uuidMap.put("DSR+" + oorNetworkPortList.get(i).getTpId().getValue(), nepUuid);
-                List<Name> onedNames = Arrays.asList(new NameBuilder().setValueName(new StringBuilder("NodeEdgePoint_N")
-                    .append(i + 1).toString()).setValue(oorNetworkPortList.get(i).getTpId().getValue()).build());
-                OwnedNodeEdgePoint onep = createNep(oorNetworkPortList.get(i), onedNames, LayerProtocolName.ODU,
-                    LayerProtocolName.DSR, true, "DSR+");
-                onepl.add(onep);
-            }
-            // create NodeRuleGroup
-            for (NonBlockingList nbl : this.oorOduSwitchingPool.getNonBlockingList()) {
-                List<org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group
-                    .NodeEdgePoint> nepList = new ArrayList<>();
-                for (TpId tp : nbl.getTpList()) {
-                    org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group
-                        .NodeEdgePoint nep = new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology
-                        .rev181210.node.rule.group.NodeEdgePointBuilder()
-                        .setTopologyUuid(tapiTopoUuid)
-                        .setNodeUuid(this.uuidMap.get(this.ietfNodeId + "+DSR"))
-                        .setNodeEdgePointUuid(this.uuidMap.get("DSR+" + tp.getValue()))
-                        .build();
-                    nepList.add(nep);
-                }
-                NodeRuleGroup nodeRuleGroup = new NodeRuleGroupBuilder()
-                    .setUuid(new Uuid(UUID.randomUUID().toString()))
-                    .setRule(ruleList)
-                    .setNodeEdgePoint(nepList)
-                    .build();
-                nodeRuleGroupList.add(nodeRuleGroup);
-            }
+            nodeUuid = getNodeUuid4Dsr(onepl, nodeRuleGroupList, ruleList);
         } else if (layerProtocols.contains(LayerProtocolName.PHOTONICMEDIA)) {
-            nodeUuid = this.uuidMap.get(this.ietfNodeId + "+OTSi");
-            // iNep creation on otsi node
-            for (int i = 0; i < oorNetworkPortList.size(); i++) {
-                Uuid nepUuid1 = new Uuid(UUID.randomUUID().toString());
-                this.uuidMap.put("iOTSi+" + oorNetworkPortList.get(i).getTpId().getValue(), nepUuid1);
-                List<Name> onedNames = Arrays.asList(new NameBuilder().setValueName(new StringBuilder("iNodeEdgePoint_")
-                    .append(i + 1).toString()).setValue(oorNetworkPortList.get(i).getTpId().getValue()).build());
-                OwnedNodeEdgePoint onep = createNep(oorNetworkPortList.get(i), onedNames,
-                    LayerProtocolName.PHOTONICMEDIA, LayerProtocolName.PHOTONICMEDIA, true, "iOTSi+");
-                onepl.add(onep);
-            }
-            // eNep creation on otsi node
-            for (int i = 0; i < oorNetworkPortList.size(); i++) {
-                Uuid nepUuid2 = new Uuid(UUID.randomUUID().toString());
-                this.uuidMap.put("eOTSi+" + oorNetworkPortList.get(i).getTpId().getValue(), nepUuid2);
-                List<Name> onedNames = Arrays.asList(new NameBuilder().setValueName(new StringBuilder("eNodeEdgePoint_")
-                    .append(i + 1).toString()).setValue(oorNetworkPortList.get(i).getTpId().getValue()).build());
-                OwnedNodeEdgePoint onep = createNep(oorNetworkPortList.get(i), onedNames,
-                    LayerProtocolName.PHOTONICMEDIA, LayerProtocolName.PHOTONICMEDIA, true, "eOTSi+");
-                onepl.add(onep);
-            }
-            // create NodeRuleGroup
-            for (TerminationPoint tp : this.oorNetworkPortList) {
-                List<org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group
-                    .NodeEdgePoint> nepList = new ArrayList<>();
-                org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group
-                    .NodeEdgePoint inep = new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210
-                    .node.rule.group.NodeEdgePointBuilder()
-                    .setTopologyUuid(tapiTopoUuid)
-                    .setNodeUuid(this.uuidMap.get(this.ietfNodeId + "+OTSi"))
-                    .setNodeEdgePointUuid(this.uuidMap.get("iOTSi+" + tp.getTpId().getValue()))
-                    .build();
+            nodeUuid = getNodeUuid4Phonic(onepl, nodeRuleGroupList, ruleList);
+        } else {
+            LOG.error("Undefined LayerProtocolName for {} node {}", nodeNames.get(0).getValueName(),
+                    nodeNames.get(0).getValue());
+        }
+
+        // create tapi node
+
+        return new NodeBuilder()
+                .setUuid(nodeUuid)
+                .setName(nodeNames)
+                .setLayerProtocolName(layerProtocols)
+                .setAdministrativeState(AdministrativeState.UNLOCKED)
+                .setOperationalState(OperationalState.ENABLED)
+                .setLifecycleState(LifecycleState.INSTALLED)
+                .setOwnedNodeEdgePoint(onepl)
+                .setNodeRuleGroup(nodeRuleGroupList)
+                .build();
+    }
+
+    private Uuid getNodeUuid4Phonic(List<OwnedNodeEdgePoint> onepl, List<NodeRuleGroup> nodeRuleGroupList,
+            List<Rule> ruleList) {
+        Uuid nodeUuid;
+        nodeUuid = this.uuidMap.get(this.ietfNodeId + OT_SI);
+        // iNep creation on otsi node
+        for (int i = 0; i < oorNetworkPortList.size(); i++) {
+            Uuid nepUuid1 = new Uuid(UUID.randomUUID().toString());
+            this.uuidMap.put(I_OT_SI + oorNetworkPortList.get(i).getTpId().getValue(), nepUuid1);
+            List<Name> onedNames = Arrays.asList(
+                    new NameBuilder()
+                    .setValueName(new StringBuilder("iNodeEdgePoint_").append(i + 1).toString())
+                    .setValue(oorNetworkPortList.get(i).getTpId().getValue())
+                    .build());
+
+            OwnedNodeEdgePoint onep = createNep(oorNetworkPortList.get(i), onedNames,
+                LayerProtocolName.PHOTONICMEDIA, LayerProtocolName.PHOTONICMEDIA, true, I_OT_SI);
+            onepl.add(onep);
+        }
+        // eNep creation on otsi node
+        for (int i = 0; i < oorNetworkPortList.size(); i++) {
+            Uuid nepUuid2 = new Uuid(UUID.randomUUID().toString());
+            this.uuidMap.put(E_OT_SI + oorNetworkPortList.get(i).getTpId().getValue(), nepUuid2);
+            List<Name> onedNames = Arrays.asList(
+                    new NameBuilder()
+                    .setValueName(new StringBuilder("eNodeEdgePoint_").append(i + 1).toString())
+                    .setValue(oorNetworkPortList.get(i).getTpId().getValue())
+                    .build());
+
+            OwnedNodeEdgePoint onep = createNep(oorNetworkPortList.get(i), onedNames,
+                LayerProtocolName.PHOTONICMEDIA, LayerProtocolName.PHOTONICMEDIA, true, E_OT_SI);
+            onepl.add(onep);
+        }
+        // create NodeRuleGroup
+        for (TerminationPoint tp : this.oorNetworkPortList) {
+            List<org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group
+                .NodeEdgePoint> nepList = new ArrayList<>();
+            org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group
+                .NodeEdgePoint inep = new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210
+                .node.rule.group.NodeEdgePointBuilder()
+                .setTopologyUuid(tapiTopoUuid)
+                .setNodeUuid(this.uuidMap.get(this.ietfNodeId + OT_SI))
+                .setNodeEdgePointUuid(this.uuidMap.get(I_OT_SI + tp.getTpId().getValue()))
+                .build();
+            org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group
+                .NodeEdgePoint enep = new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210
+                .node.rule.group.NodeEdgePointBuilder()
+                .setTopologyUuid(tapiTopoUuid)
+                .setNodeUuid(this.uuidMap.get(this.ietfNodeId + OT_SI))
+                .setNodeEdgePointUuid(this.uuidMap.get(E_OT_SI + tp.getTpId().getValue()))
+                .build();
+            nepList.add(inep);
+            nepList.add(enep);
+            NodeRuleGroup nodeRuleGroup = new NodeRuleGroupBuilder()
+                .setUuid(new Uuid(UUID.randomUUID().toString()))
+                .setRule(ruleList)
+                .setNodeEdgePoint(nepList)
+                .build();
+            nodeRuleGroupList.add(nodeRuleGroup);
+        }
+        return nodeUuid;
+    }
+
+    private Uuid getNodeUuid4Dsr(List<OwnedNodeEdgePoint> onepl, List<NodeRuleGroup> nodeRuleGroupList,
+            List<Rule> ruleList) {
+        Uuid nodeUuid;
+        nodeUuid = this.uuidMap.get(this.ietfNodeId + PLUS_DSR);
+        // client nep creation on DSR/ODU node
+        for (int i = 0; i < oorClientPortList.size(); i++) {
+            Uuid nepUuid = new Uuid(UUID.randomUUID().toString());
+            this.uuidMap.put(DSR_PLUS + oorClientPortList.get(i).getTpId().getValue(), nepUuid);
+            List<Name> onedNames = Arrays.asList(
+                    new NameBuilder()
+                    .setValueName(new StringBuilder("NodeEdgePoint_C").append(i + 1).toString())
+                    .setValue(oorClientPortList.get(i).getTpId().getValue())
+                    .build());
+
+            OwnedNodeEdgePoint onep = createNep(oorClientPortList.get(i), onedNames, LayerProtocolName.ETH,
+                LayerProtocolName.DSR, true, DSR_PLUS);
+            onepl.add(onep);
+        }
+        // network nep creation on DSR/ODU node
+        for (int i = 0; i < oorNetworkPortList.size(); i++) {
+            Uuid nepUuid = new Uuid(UUID.randomUUID().toString());
+            this.uuidMap.put(DSR_PLUS + oorNetworkPortList.get(i).getTpId().getValue(), nepUuid);
+            List<Name> onedNames = Arrays.asList(
+                    new NameBuilder()
+                    .setValueName(new StringBuilder("NodeEdgePoint_N").append(i + 1).toString())
+                    .setValue(oorNetworkPortList.get(i).getTpId().getValue())
+                    .build());
+
+            OwnedNodeEdgePoint onep = createNep(oorNetworkPortList.get(i), onedNames, LayerProtocolName.ODU,
+                LayerProtocolName.DSR, true, DSR_PLUS);
+            onepl.add(onep);
+        }
+        // create NodeRuleGroup
+        for (NonBlockingList nbl : this.oorOduSwitchingPool.getNonBlockingList()) {
+            List<org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group
+                .NodeEdgePoint> nepList = new ArrayList<>();
+            for (TpId tp : nbl.getTpList()) {
                 org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.node.rule.group
-                    .NodeEdgePoint enep = new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210
+                    .NodeEdgePoint nep = new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210
                     .node.rule.group.NodeEdgePointBuilder()
                     .setTopologyUuid(tapiTopoUuid)
-                    .setNodeUuid(this.uuidMap.get(this.ietfNodeId + "+OTSi"))
-                    .setNodeEdgePointUuid(this.uuidMap.get("eOTSi+" + tp.getTpId().getValue()))
+                    .setNodeUuid(this.uuidMap.get(this.ietfNodeId + PLUS_DSR))
+                    .setNodeEdgePointUuid(this.uuidMap.get(DSR_PLUS + tp.getValue()))
                     .build();
-                nepList.add(inep);
-                nepList.add(enep);
-                NodeRuleGroup nodeRuleGroup = new NodeRuleGroupBuilder()
-                    .setUuid(new Uuid(UUID.randomUUID().toString()))
-                    .setRule(ruleList)
-                    .setNodeEdgePoint(nepList)
-                    .build();
-                nodeRuleGroupList.add(nodeRuleGroup);
+                nepList.add(nep);
             }
-        } else {
-            LOG.error("Undefined LayerProtocolName for {} node {}", nodeNames.get(0).getValueName(), nodeNames.get(0)
-                .getValue());
+            NodeRuleGroup nodeRuleGroup = new NodeRuleGroupBuilder()
+                .setUuid(new Uuid(UUID.randomUUID().toString()))
+                .setRule(ruleList)
+                .setNodeEdgePoint(nepList)
+                .build();
+            nodeRuleGroupList.add(nodeRuleGroup);
         }
-
-        // create tapi node
-        org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.Node tapiNode =
-            new NodeBuilder()
-            .setUuid(nodeUuid)
-            .setName(nodeNames)
-            .setLayerProtocolName(layerProtocols)
-            .setAdministrativeState(AdministrativeState.UNLOCKED)
-            .setOperationalState(OperationalState.ENABLED)
-            .setLifecycleState(LifecycleState.INSTALLED)
-            .setOwnedNodeEdgePoint(onepl)
-            .setNodeRuleGroup(nodeRuleGroupList)
-            .build();
-        return tapiNode;
+        return nodeUuid;
     }
 
     private OwnedNodeEdgePoint createNep(TerminationPoint oorTp, List<Name> nepNames, LayerProtocolName nepProtocol,
@@ -287,7 +327,7 @@ public class ConvertORTopoObjectToTapiTopoObject {
             .getSupportedInterfaceCapability();
         for (SupportedInterfaceCapability sic : sicList) {
             switch (lpn.getName()) {
-                case "DSR" :
+                case "DSR":
                     if (sic.getIfCapType().getSimpleName().equals("If10GEODU2e")) {
                         sclpqList.add(DIGITALSIGNALTYPE10GigELAN.class);
                         sclpqList.add(ODUTYPEODU2E.class);
@@ -298,7 +338,7 @@ public class ConvertORTopoObjectToTapiTopoObject {
                         sclpqList.add(ODUTYPEODU4.class);
                     }
                     break;
-                case "PHOTONIC_MEDIA" :
+                case "PHOTONIC_MEDIA":
                     if (sic.getIfCapType().getSimpleName().equals("IfOCHOTU4ODU4")) {
                         sclpqList.add(PHOTONICLAYERQUALIFIEROTSi.class);
                         sclpqList.add(PHOTONICLAYERQUALIFIEROMS.class);
@@ -315,19 +355,19 @@ public class ConvertORTopoObjectToTapiTopoObject {
     private void createTapiTransitionalLinks() {
         for (TerminationPoint tp : this.oorNetworkPortList) {
             List<NodeEdgePoint> nepList = new ArrayList<>();
-            String sourceKey = "DSR+" + tp.getTpId().getValue();
+            String sourceKey = DSR_PLUS + tp.getTpId().getValue();
             Uuid sourceUuidTp = this.uuidMap.get(sourceKey);
-            String destKey = "iOTSi+" + tp.getTpId().getValue();
+            String destKey = I_OT_SI + tp.getTpId().getValue();
             Uuid destUuidTp = this.uuidMap.get(destKey);
             NodeEdgePoint sourceNep = new NodeEdgePointBuilder()
                 .setTopologyUuid(this.tapiTopoUuid)
-                .setNodeUuid(this.uuidMap.get(this.ietfNodeId + "+DSR"))
+                .setNodeUuid(this.uuidMap.get(this.ietfNodeId + PLUS_DSR))
                 .setNodeEdgePointUuid(sourceUuidTp)
                 .build();
             nepList.add(sourceNep);
             NodeEdgePoint destNep = new NodeEdgePointBuilder()
                 .setTopologyUuid(this.tapiTopoUuid)
-                .setNodeUuid(this.uuidMap.get(this.ietfNodeId + "+OTSi"))
+                .setNodeUuid(this.uuidMap.get(this.ietfNodeId + OT_SI))
                 .setNodeEdgePointUuid(destUuidTp)
                 .build();
             nepList.add(destNep);
@@ -338,7 +378,7 @@ public class ConvertORTopoObjectToTapiTopoObject {
                 .setNodeEdgePoint(nepList)
                 .setDirection(ForwardingDirection.BIDIRECTIONAL)
                 .setAvailableCapacity(new AvailableCapacityBuilder().setTotalSize(
-                    new TotalSizeBuilder().setUnit(CapacityUnit.GBPS).setValue(new BigInteger("100")).build()).build());
+                    new TotalSizeBuilder().setUnit(CapacityUnit.GBPS).setValue(Uint64.valueOf(100)).build()).build());
             this.tapiLinks.add(transiLinkBldr.build());
         }
     }