2 * Copyright © 2018 Orange Systems, 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
9 package org.opendaylight.transportpce.olm.util;
11 import java.math.BigDecimal;
12 import java.util.ArrayList;
13 import java.util.Collections;
14 import java.util.HashMap;
15 import java.util.List;
17 import java.util.Optional;
18 import org.opendaylight.mdsal.binding.api.DataBroker;
19 import org.opendaylight.mdsal.binding.api.ReadWriteTransaction;
20 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
21 import org.opendaylight.transportpce.common.NetworkUtils;
22 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.Network;
23 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.Nodes;
24 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.NodesBuilder;
25 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.NodesKey;
26 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.CpToDegree;
27 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.CpToDegreeBuilder;
28 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.CpToDegreeKey;
29 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.Mapping;
30 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.MappingBuilder;
31 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.MappingKey;
32 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.NodeInfo.OpenroadmVersion;
33 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev200827.network.nodes.NodeInfoBuilder;
34 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev181130.FiberPmd;
35 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.link.types.rev181130.RatioDB;
36 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev181130.State;
37 import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev181130.AdminStates;
38 import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLink;
39 import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLinkKey;
40 import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.amplified.link.SectionElementBuilder;
41 import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenation;
42 import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenationBuilder;
43 import org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.span.attributes.LinkConcatenationKey;
44 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.Link1Builder;
45 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.link.OMSAttributesBuilder;
46 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.link.oms.attributes.AmplifiedLinkBuilder;
47 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev181130.networks.network.link.oms.attributes.SpanBuilder;
48 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.types.rev181130.OpenroadmLinkType;
49 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NetworkId;
50 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NodeId;
51 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.Node;
52 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NodeBuilder;
53 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NodeKey;
54 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.node.SupportingNode;
55 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.node.SupportingNodeBuilder;
56 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.LinkId;
57 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Network1;
58 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Network1Builder;
59 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.Link;
60 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.LinkBuilder;
61 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.LinkKey;
62 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.link.DestinationBuilder;
63 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.link.SourceBuilder;
64 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.link.SupportingLink;
65 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.link.SupportingLinkBuilder;
66 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.link.SupportingLinkKey;
67 import org.opendaylight.yangtools.yang.binding.Augmentation;
68 import org.opendaylight.yangtools.yang.binding.DataObject;
69 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
70 import org.opendaylight.yangtools.yang.common.Uint16;
71 import org.opendaylight.yangtools.yang.common.Uint32;
73 public final class TransactionUtils {
75 private TransactionUtils() {
79 @SuppressWarnings("unchecked")
80 public static boolean writeTransaction(DataBroker dataBroker, InstanceIdentifier instanceIdentifier,
82 ReadWriteTransaction transaction = dataBroker.newReadWriteTransaction();
83 transaction.put(LogicalDatastoreType.CONFIGURATION, instanceIdentifier, object);
84 transaction.commit();// submit(Timeouts.DATASTORE_WRITE, Timeouts.DEVICE_WRITE_TIMEOUT_UNIT).get();
89 // public static boolean writeTransaction(DataBroker dataBroker, LogicalDatastoreType logicalDatastoreType,
90 // InstanceIdentifier instanceIdentifier,
93 // public static DataObject readTransaction(DeviceTransactionManager deviceTransactionManager,
95 // LogicalDatastoreType logicalDatastoreType,
96 // InstanceIdentifier<? extends DataObject> instanceIdentifier)
97 // throws ExecutionException, InterruptedException {
98 // Future<Optional<DeviceTransaction>> deviceTxFuture =
99 // deviceTransactionManager.getDeviceTransaction(nodeId);
100 // if (!deviceTxFuture.get().isPresent()) {
103 // DeviceTransaction deviceTx = deviceTxFuture.get().get();
104 // com.google.common.base.Optional<? extends DataObject> readOpt
105 // = deviceTx.read(logicalDatastoreType, instanceIdentifier).get();
106 // if (!readOpt.isPresent()) {
109 // return readOpt.get();
112 public static Network1 getNullNetwork() {
113 Map<LinkKey, Link> nullMap = null;
114 Network1 network = new Network1Builder().setLink(nullMap).build();
115 Optional.of(network);
119 public static Network1 getEmptyNetwork() {
120 Network1 network = new Network1Builder().setLink(Map.of()).build();
121 Optional.of(network);
125 public static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network
126 .rev180226.networks.Network getOverLayNetwork() {
127 SupportingNode supportingNode = new SupportingNodeBuilder()
128 .setNodeRef(new NodeId("node 1"))
129 .setNetworkRef(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID))
131 NodeBuilder node1Builder = new NodeBuilder()
132 .setNodeId(new NodeId("node 1"))
133 .withKey(new NodeKey(new NodeId("node 1")))
134 .setSupportingNode(Map.of(supportingNode.key(),supportingNode));
135 Map<NodeKey,Node> nodes = new HashMap<>();
136 Node node1 = node1Builder.build();
137 nodes.put(node1.key(),node1);
138 SupportingNode supportingNode2 = new SupportingNodeBuilder()
139 .setNodeRef(new NodeId("node 2"))
140 .setNetworkRef(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID))
142 NodeBuilder node2Builder = new NodeBuilder()
143 .setNodeId(new NodeId("node 2"))
144 .withKey(new NodeKey(new NodeId("node 2")))
145 .setSupportingNode(Map.of(supportingNode2.key(),supportingNode2));
146 Node node2 = node2Builder.build();
147 nodes.put(node2.key(),node2);
148 SupportingNode supportingNode3 = new SupportingNodeBuilder()
149 .setNodeRef(new NodeId("node 3"))
150 .setNetworkRef(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID))
152 NodeBuilder node3Builder = new NodeBuilder()
153 .setNodeId(new NodeId("node 3"))
154 .withKey(new NodeKey(new NodeId("node 3")))
155 .setSupportingNode(Map.of(supportingNode3.key(),supportingNode3));
156 Node node3 = node3Builder.build();
157 nodes.put(node3.key(),node3);
158 SupportingNode supportingNode4 = new SupportingNodeBuilder()
159 .setNodeRef(new NodeId("node 4"))
160 .setNetworkRef(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID))
162 NodeBuilder node4Builder = new NodeBuilder()
163 .setNodeId(new NodeId("node 4"))
164 .withKey(new NodeKey(new NodeId("node 4")))
165 .setSupportingNode(Map.of(supportingNode4.key(),supportingNode4));
166 Node node4 = node4Builder.build();
167 nodes.put(node4.key(),node4);
168 org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.NetworkBuilder
170 new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks
173 .setNetworkId(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID));
174 org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.Network network =
175 networkBuilder.build();
176 Optional.of(network);
180 public static Network1 getNetwork() {
181 Map<SupportingLinkKey,SupportingLink> supportingLinks = new HashMap<>();
182 SupportingLink supportingLink1 = new SupportingLinkBuilder()
184 .setNetworkRef(new NetworkId("net1"))
186 SupportingLink supportingLink2 = new SupportingLinkBuilder()
188 .setNetworkRef(new NetworkId("net2"))
190 supportingLinks.put(supportingLink1.key(),supportingLink1);
191 supportingLinks.put(supportingLink2.key(),supportingLink2);
192 Map<LinkKey,Link> links = new HashMap<>();
193 Link link1 = new LinkBuilder()
194 .setLinkId(new LinkId("link 1"))
196 new DestinationBuilder()
197 .setDestNode(new NodeId("node 1"))
198 .setDestTp("dest tp").build())
201 .setSourceNode(new NodeId("node 2"))
202 .setSourceTp("src tp")
204 .setSupportingLink(supportingLinks)
207 Link link2 = new LinkBuilder()
208 .setLinkId(new LinkId("link 2"))
210 new DestinationBuilder()
211 .setDestNode(new NodeId("node 3"))
212 .setDestTp("dest tp")
216 .setSourceNode(new NodeId("node 4"))
217 .setSourceTp("src tp")
219 .setSupportingLink(supportingLinks)
221 links.put(link1.key(),link1);
222 links.put(link2.key(),link2);
223 Network1 network = new Network1Builder().setLink(links).build();
224 Optional.of(network);
228 public static Network1 getNetwork2() {
229 Map<LinkConcatenationKey,LinkConcatenation> linkConcentationValues = new HashMap<>();
230 LinkConcatenation linkConcatenation = new LinkConcatenationBuilder()
231 .setFiberType(LinkConcatenation.FiberType.Truewave)
232 .setPmd(new FiberPmd(BigDecimal.ONE))
233 .setSRLGId(Uint32.valueOf(1))
234 .setSRLGLength(Uint32.valueOf(1))
236 LinkConcatenation linkConcatenation2 = new LinkConcatenationBuilder()
237 .setFiberType(LinkConcatenation.FiberType.Truewave)
238 .setPmd(new FiberPmd(BigDecimal.ONE))
239 .setSRLGId(Uint32.valueOf(1))
240 .setSRLGLength(Uint32.valueOf(1))
242 linkConcentationValues.put(linkConcatenation.key(),linkConcatenation);
243 linkConcentationValues.put(linkConcatenation2.key(),linkConcatenation2);
244 Map<AmplifiedLinkKey,AmplifiedLink>
245 amplifiedLinkValues = new HashMap<>();
246 org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLink al =
247 new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes
248 .AmplifiedLinkBuilder().setSectionElement(new SectionElementBuilder()
249 .setSectionElement(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link
250 .attributes.amplified.link.section.element.section.element.SpanBuilder()
251 .setSpan(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link
252 .attributes.amplified.link.section.element.section.element.span.SpanBuilder()
253 .setAdministrativeState(AdminStates.InService)
254 .setAutoSpanloss(true)
256 .setEngineeredSpanloss(new RatioDB(BigDecimal.ONE))
257 .setLinkConcatenation(linkConcentationValues)
258 .setSpanlossBase(new RatioDB(BigDecimal.ONE))
259 .setSpanlossCurrent(new RatioDB(BigDecimal.ONE))
263 .setSectionEltNumber(Uint16.valueOf(1)).build();
264 org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes.AmplifiedLink al2 = new
265 org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link.attributes
266 .AmplifiedLinkBuilder().setSectionElement(new SectionElementBuilder()
267 .setSectionElement(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link
268 .attributes.amplified.link.section.element.section.element.SpanBuilder()
269 .setSpan(new org.opendaylight.yang.gen.v1.http.org.openroadm.link.rev181130.amplified.link
270 .attributes.amplified.link.section.element.section.element.span.SpanBuilder()
271 .setAdministrativeState(AdminStates.InService)
272 .setAutoSpanloss(true)
274 .setEngineeredSpanloss(new RatioDB(BigDecimal.ONE))
275 .setLinkConcatenation(linkConcentationValues)
276 .setSpanlossBase(new RatioDB(BigDecimal.ONE))
277 .setSpanlossCurrent(new RatioDB(BigDecimal.ONE))
281 .setSectionEltNumber(Uint16.valueOf(1)).build();
282 amplifiedLinkValues.put(al.key(),al);
283 amplifiedLinkValues.put(al2.key(),al2);
284 Map<Class<? extends Augmentation<Link>>, Augmentation<Link>> map = Collections.emptyMap();
285 Augmentation<Link> aug1 = new Link1Builder().setAdministrativeGroup(Uint32.valueOf(123))
286 .setAdministrativeState(State.InService)
288 .setLinkLatency(Uint32.valueOf(123))
289 .setLinkLength(BigDecimal.valueOf(123))
290 .setLinkType(OpenroadmLinkType.ROADMTOROADM)
291 .setOMSAttributes(new OMSAttributesBuilder()
292 .setAmplifiedLink(new AmplifiedLinkBuilder().setAmplifiedLink(amplifiedLinkValues).build())
293 .setOppositeLink(new LinkId("link 1"))
294 .setSpan(new SpanBuilder().build())
295 .setTEMetric(Uint32.valueOf(123)).build())
296 .setOperationalState(State.InService).build();
297 Augmentation<Link> aug2 = new Link1Builder().setAdministrativeGroup(Uint32.valueOf(123))
298 .setAdministrativeState(State.InService)
300 .setLinkLatency(Uint32.valueOf(123))
301 .setLinkLength(BigDecimal.valueOf(123))
302 .setLinkType(OpenroadmLinkType.ROADMTOROADM)
303 .setOMSAttributes(new OMSAttributesBuilder()
304 .setAmplifiedLink(new AmplifiedLinkBuilder().setAmplifiedLink(amplifiedLinkValues).build())
305 .setOppositeLink(new LinkId("link 1"))
306 .setSpan(new SpanBuilder().build())
307 .setTEMetric(Uint32.valueOf(123)).build())
308 .setOperationalState(State.InService).build();
310 Map<SupportingLinkKey,SupportingLink> supportingLinks = new HashMap<>();
311 SupportingLink supportingLink = new SupportingLinkBuilder().setLinkRef("ref1")
312 .setNetworkRef(new NetworkId("net1")).build();
313 SupportingLink supportingLink2 = new SupportingLinkBuilder().setLinkRef("ref2")
314 .setNetworkRef(new NetworkId("net1")).build();
315 supportingLinks.put(supportingLink.key(),supportingLink);
316 supportingLinks.put(supportingLink2.key(),supportingLink2);
317 Map<LinkKey,Link> links = new HashMap<>();
318 Link link1 = new LinkBuilder().setLinkId(new LinkId("link 1"))
319 .setDestination(new DestinationBuilder().setDestNode(new NodeId("node 1"))
320 .setDestTp("dest tp").build())
321 .setSource(new SourceBuilder().setSourceNode(new NodeId("node 2"))
322 .setSourceTp("src tp").build())
323 .setSupportingLink(supportingLinks)
324 .addAugmentation(aug1)
325 .addAugmentation(aug2).build();
327 Link link2 = new LinkBuilder().setLinkId(new LinkId("link 2"))
328 .setDestination(new DestinationBuilder().setDestNode(new NodeId("node 3"))
329 .setDestTp("dest tp").build())
330 .setSource(new SourceBuilder().setSourceNode(new NodeId("node 4"))
331 .setSourceTp("src tp").build())
332 .setSupportingLink(supportingLinks).build();
333 links.put(link1.key(),link1);
334 links.put(link2.key(),link2);
335 Network1 network = new Network1Builder().setLink(links).build();
336 Optional.of(network);
340 public static List<NodeId> getNodeIds() {
341 List<NodeId> nodes = new ArrayList<>();
342 NodeId node = new NodeId("node 1");
343 NodeId node2 = new NodeId("node 1");
344 NodeId node3 = new NodeId("node 1");
345 NodeId node4 = new NodeId("node 1");
353 public static Nodes getNodes(String nodeId, String mappingKey) {
354 Map<CpToDegreeKey,CpToDegree> cpList = new HashMap<>();
355 CpToDegree cp1 = new CpToDegreeBuilder()
356 .setCircuitPackName("circuit name1")
357 .setDegreeNumber(Uint32.valueOf(123))
359 CpToDegree cp2 = new CpToDegreeBuilder()
360 .setCircuitPackName("circuit name2")
361 .setDegreeNumber(Uint32.valueOf(123))
363 cpList.put(cp1.key(),cp1);
364 cpList.put(cp2.key(),cp2);
365 Mapping map1 = new MappingBuilder()
366 .setLogicalConnectionPoint("point")
367 .setSupportingCircuitPackName("circuit name")
368 .setSupportingOms("oms")
369 .setSupportingOts("ots")
370 .setSupportingPort("port")
371 .withKey(new MappingKey((mappingKey != null) ? mappingKey : "null"))
373 Nodes nodes = new NodesBuilder()
375 .setNodeInfo(new NodeInfoBuilder()
376 .setNodeType(org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.NodeTypes.Xpdr)
377 .setOpenroadmVersion(OpenroadmVersion._121)
379 .setCpToDegree(cpList)
380 .setMapping(Map.of(map1.key(),map1))
385 public static Nodes getNodes2(String nodeId, String mappingKey) {
386 Map<CpToDegreeKey,CpToDegree> cpList = new HashMap<>();
387 CpToDegree cp1 = new CpToDegreeBuilder()
388 .setCircuitPackName("circuit name1")
389 .setDegreeNumber(Uint32.valueOf(123))
391 CpToDegree cp2 = new CpToDegreeBuilder()
392 .setCircuitPackName("circuit name2")
393 .setDegreeNumber(Uint32.valueOf(123))
395 cpList.put(cp1.key(),cp1);
396 cpList.put(cp2.key(),cp2);
397 Mapping map1 = new MappingBuilder()
398 .setLogicalConnectionPoint("point")
399 .setSupportingCircuitPackName("circuit name")
400 .setSupportingOms("oms")
401 .setSupportingOts("ots")
402 .setSupportingPort("port")
403 .withKey(new MappingKey((mappingKey != null) ? mappingKey : "null"))
405 Nodes nodes = new NodesBuilder()
407 .setNodeInfo(new NodeInfoBuilder()
409 .setOpenroadmVersion(OpenroadmVersion._121)
411 .setCpToDegree(cpList)
412 .setMapping(Map.of(map1.key(),map1))
417 public static Nodes getNodes3(String nodeId, String mappingKey) {
418 Map<CpToDegreeKey,CpToDegree> cpList = new HashMap<>();
419 CpToDegree cp1 = new CpToDegreeBuilder()
420 .setCircuitPackName("circuit name1")
421 .setDegreeNumber(Uint32.valueOf(123))
423 CpToDegree cp2 = new CpToDegreeBuilder()
424 .setCircuitPackName("circuit name2")
425 .setDegreeNumber(Uint32.valueOf(123))
427 cpList.put(cp1.key(),cp1);
428 cpList.put(cp2.key(),cp2);
429 Mapping map1 = new MappingBuilder()
430 .setLogicalConnectionPoint("point")
431 .setSupportingCircuitPackName("circuit name")
432 .setSupportingOms("oms")
433 .setSupportingOts("ots")
434 .setSupportingPort("port")
435 .withKey(new MappingKey((mappingKey != null) ? mappingKey : "null"))
437 Nodes nodes = new NodesBuilder()
439 .setNodeInfo(new NodeInfoBuilder()
440 .setNodeType(org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev181019.NodeTypes.Rdm)
441 .setOpenroadmVersion(OpenroadmVersion._121)
443 .setCpToDegree(cpList)
444 .setMapping(Map.of(map1.key(),map1))
449 public static void writeNodeTransaction(String nodeId, DataBroker dataBroker, String mappingKey) {
450 InstanceIdentifier<Nodes> nodesIID = InstanceIdentifier.create(Network.class)
451 .child(Nodes.class, new NodesKey(nodeId));
452 Nodes nodes = getNodes(nodeId, mappingKey);
453 writeTransaction(dataBroker, nodesIID, nodes);
456 public static void writeNodeTransaction2(String nodeId, DataBroker dataBroker, String mappingKey) {
457 InstanceIdentifier<Nodes> nodesIID = InstanceIdentifier.create(Network.class)
458 .child(Nodes.class, new NodesKey(nodeId));
459 Nodes nodes = getNodes2(nodeId, mappingKey);
460 writeTransaction(dataBroker, nodesIID, nodes);
463 public static void writeNodeTransaction3(String nodeId, DataBroker dataBroker, String mappingKey) {
464 InstanceIdentifier<Nodes> nodesIID = InstanceIdentifier.create(Network.class)
465 .child(Nodes.class, new NodesKey(nodeId));
466 Nodes nodes = getNodes3(nodeId, mappingKey);
467 writeTransaction(dataBroker, nodesIID, nodes);