Merge changes I8295bb63,I628ef618,Ic7ebdea9,I21faea97
[transportpce.git] / common / src / main / java / org / opendaylight / transportpce / common / mapping / PortMappingVersion121.java
index f883080a5599797ceaecc77e50df3f8e4bad80ba..20d46a281ca384d214e6ac4715e2b9a51982d31b 100644 (file)
@@ -230,7 +230,7 @@ public class PortMappingVersion121 {
                 switch (port.getPortQual()) {
 
                     case XpdrClient:
-                        String lcp0 = "XPDR1-" + StringConstants.CLIENT_TOKEN + client;
+                        String lcp0 = createXpdrLogicalConnectionPort(1, client, StringConstants.CLIENT_TOKEN);
                         lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp0);
                         mappingMap.put(lcp0,
                             createXpdrMappingObject(nodeId, port, circuitPackName, lcp0, null, null, null));
@@ -240,15 +240,13 @@ public class PortMappingVersion121 {
 
                     case XpdrNetwork:
                         if (port.getPortDirection().getIntValue() == Direction.Bidirectional.getIntValue()) {
-                            String lcp = "XPDR1-" + StringConstants.NETWORK_TOKEN + line;
+                            String lcp = createXpdrLogicalConnectionPort(1, line, StringConstants.NETWORK_TOKEN);
                             lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp);
                             mappingMap.put(lcp,
                                 createXpdrMappingObject(nodeId, port, circuitPackName, lcp, null, null, null));
                             line++;
                             continue;
                         }
-                        // TODO PortDirection treatment here is similar to the one in createPpPortMapping.
-                        //      Some code alignment must be considered.
 
                         if (!checkPartnerPortNotNull(port)) {
                             LOG.warn("Error in the configuration of port {} of {} for {}",
@@ -284,22 +282,9 @@ public class PortMappingVersion121 {
                                 circuitPackName);
                             continue;
                         }
-                        String lcp1 = "XPDR1-" + StringConstants.NETWORK_TOKEN + line;
-                        String lcp2 = new StringBuilder("XPDR1-")
-                            .append(StringConstants.NETWORK_TOKEN)
-                            .append(line + 1)
-                            .toString();
-                        if (lcpMap.containsKey(lcp1) || lcpMap.containsKey(lcp2)) {
-                            LOG.warn("mapping already exists for {} or {}", lcp1, lcp2);
-                            line += 2;
-                            continue;
-                        }
-                        lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp1);
-                        lcpMap.put(cpOpt.get().getCircuitPackName() + '+' + port2.getPortName(), lcp2);
-                        mappingMap.put(lcp1, createXpdrMappingObject(nodeId, port, circuitPackName, lcp1,
-                            lcp2, null, null));
-                        mappingMap.put(lcp2, createXpdrMappingObject(nodeId, port2,
-                            cpOpt.get().getCircuitPackName(), lcp2, lcp1, null, null));
+                        putXpdrLcpsInMaps(line, nodeId, 1,
+                                circuitPackName, cpOpt.get().getCircuitPackName(), port, port2,
+                                lcpMap, mappingMap);
                         line += 2;
                         break;
 
@@ -513,6 +498,13 @@ public class PortMappingVersion121 {
         return null;
     }
 
+    private String createXpdrLogicalConnectionPort(int xponderNb, int lcpNb, String token) {
+        return new StringBuilder("XPDR").append(xponderNb)
+                .append("-")
+                .append(token).append(lcpNb)
+                .toString();
+    }
+
     private Map<Integer, Degree> getDegreesMap(String deviceId, Info ordmInfo) {
         Map<Integer, Degree> degrees = new HashMap<>();
 
@@ -715,6 +707,26 @@ public class PortMappingVersion121 {
         return mpBldr.build();
     }
 
+    private void putXpdrLcpsInMaps(int line, String nodeId,
+            Integer xponderNb,
+            String circuitPackName, String circuitPackName2, Ports port, Ports port2,
+            Map<String, String> lcpMap, Map<String, Mapping> mappingMap) {
+        String lcp1 = createXpdrLogicalConnectionPort(xponderNb, line, StringConstants.NETWORK_TOKEN);
+        String lcp2 = createXpdrLogicalConnectionPort(xponderNb, line + 1, StringConstants.NETWORK_TOKEN);
+        if (lcpMap.containsKey(lcp1) || lcpMap.containsKey(lcp2)) {
+            LOG.warn("mapping already exists for {} or {}", lcp1, lcp2);
+            return;
+        }
+        lcpMap.put(circuitPackName + '+' + port.getPortName(), lcp1);
+        lcpMap.put(circuitPackName2 + '+' + port2.getPortName(), lcp2);
+        mappingMap.put(lcp1,
+                createXpdrMappingObject(nodeId, port, circuitPackName, lcp1, lcp2, null, null));
+        mappingMap.put(lcp2,
+                createXpdrMappingObject(nodeId, port2, circuitPackName2, lcp2, lcp1, null, null));
+        return;
+    }
+
+
     private boolean createTtpPortMapping(String nodeId, Info deviceInfo, List<Mapping> portMapList) {
         // Creating mapping data for degree TTP's
         Map<Integer, Degree> degrees = getDegreesMap(nodeId, deviceInfo);