2 * Copyright © 2020 Orange Labs, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.transportpce.networkmodel.util.test;
11 import java.util.ArrayList;
12 import java.util.List;
13 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.network.Nodes;
14 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.network.NodesBuilder;
15 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.network.nodes.Mapping;
16 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.network.nodes.MappingBuilder;
17 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200429.network.nodes.NodeInfoBuilder;
18 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.NodeTypes;
19 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.PortQual;
20 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.XpdrNodeTypes;
21 import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev181019.If100GE;
22 import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev181019.IfOCH;
23 import org.opendaylight.yang.gen.v1.http.org.openroadm.port.types.rev181019.SupportedIfCapability;
24 import org.slf4j.Logger;
25 import org.slf4j.LoggerFactory;
27 public final class NetworkmodelTestUtil {
29 private static final Logger LOG = LoggerFactory.getLogger(NetworkmodelTestUtil.class);
31 public static Nodes createMappingForRdm(String nodeId, String clli, int degNb, int srgNb) {
32 List<Mapping> mappingList = new ArrayList<>();
33 createDegreeMappings(mappingList, 1, degNb);
34 createSrgMappings(mappingList, 1, srgNb);
35 Nodes mappingNode = new NodesBuilder()
37 .setNodeInfo(new NodeInfoBuilder().setNodeType(NodeTypes.Rdm).setNodeClli(clli).build())
38 .setMapping(mappingList)
43 public static Nodes createMappingForXpdr(String nodeId, String clli, int networkPortNb, int clientPortNb,
44 XpdrNodeTypes xpdrNodeType) {
45 List<Mapping> mappingList = new ArrayList<>();
46 createXpdrMappings(mappingList, networkPortNb, clientPortNb, xpdrNodeType);
47 Nodes mappingNode = new NodesBuilder()
49 .setNodeInfo(new NodeInfoBuilder().setNodeType(NodeTypes.Xpdr).setNodeClli(clli).build())
50 .setMapping(mappingList)
52 LOG.info("mapping = {}", mappingNode.toString());
56 private static List<Mapping> createDegreeMappings(List<Mapping> mappingList, int degNbStart, int degNbStop) {
57 for (int i = degNbStart; i <= degNbStop; i++) {
58 Mapping mapping = new MappingBuilder()
59 .setLogicalConnectionPoint("DEG" + i + "-TTP-TXRX")
60 .setPortDirection("bidirectional")
61 .setSupportingPort("L1")
62 .setSupportingCircuitPackName(i + "/0")
63 .setSupportingOts("OTS-DEG" + i + "-TTP-TXRX")
64 .setSupportingOms("OMS-DEG" + i + "-TTP-TXRX")
66 mappingList.add(mapping);
71 private static List<Mapping> createSrgMappings(List<Mapping> mappingList, int srgNbStart, int srgNbStop) {
72 for (int i = srgNbStart; i <= srgNbStop; i++) {
73 for (int j = 1; j <= 4; j++) {
74 Mapping mapping = new MappingBuilder()
75 .setLogicalConnectionPoint("SRG" + i + "-PP" + j + "-TXRX")
76 .setPortDirection("bidirectional")
77 .setSupportingPort("C" + j)
78 .setSupportingCircuitPackName(3 + i + "/0")
80 mappingList.add(mapping);
86 private static List<Mapping> createXpdrMappings(List<Mapping> mappingList, int networkPortNb, int clientPortNb,
87 XpdrNodeTypes xpdrNodeType) {
88 for (int i = 1; i <= networkPortNb; i++) {
89 List<Class<? extends SupportedIfCapability>> supportedIntf = new ArrayList<>();
90 supportedIntf.add(IfOCH.class);
91 MappingBuilder mappingBldr = new MappingBuilder()
92 .setLogicalConnectionPoint("XPDR1-NETWORK" + i)
93 .setPortDirection("bidirectional")
94 .setSupportingPort("1")
95 .setSupportedInterfaceCapability(supportedIntf)
96 .setConnectionMapLcp("XPDR1-CLIENT" + i)
97 .setPortQual(PortQual.XpdrNetwork.getName())
98 .setSupportingCircuitPackName("1/0/" + i + "-PLUG-NET");
99 if (xpdrNodeType != null) {
100 mappingBldr.setXponderType(xpdrNodeType);
102 mappingList.add(mappingBldr.build());
104 for (int i = 1; i <= clientPortNb; i++) {
105 List<Class<? extends SupportedIfCapability>> supportedIntf = new ArrayList<>();
106 supportedIntf.add(If100GE.class);
107 Mapping mapping = new MappingBuilder()
108 .setLogicalConnectionPoint("XPDR1-CLIENT" + i)
109 .setPortDirection("bidirectional")
110 .setSupportingPort("C1")
111 .setSupportedInterfaceCapability(supportedIntf)
112 .setConnectionMapLcp("XPDR1-NETWORK" + i)
113 .setPortQual(PortQual.XpdrClient.getName())
114 .setSupportingCircuitPackName("1/0/" + i + "-PLUG-CLIENT")
116 mappingList.add(mapping);
121 private NetworkmodelTestUtil() {