-
-
-
-
- private List<Link> createExpressLinks(String nodeId, int numOfDegrees, int portDirectionEnum) {
- LOG.info("creating express links {} {} {}", nodeId, numOfDegrees, portDirectionEnum);
- List<Link> links = new ArrayList<>();
-
- String srcNode;
- String destNode;
-
- String srcTp;
- String destTp;
-
- // ports are uni-directional
- if (portDirectionEnum == 1 || portDirectionEnum == 2) {
- LOG.info("creating uni-directional express links");
- for (int i = 1; i <= numOfDegrees; i++) {
- for (int j = i + 1; j <= numOfDegrees; j++) {
-
- srcNode = nodeId + "-DEG" + i;
- destNode = nodeId + "-DEG" + j;
-
- // AtoZ direction
- srcTp = "DEG" + i + "-CTP-TX";
- destTp = "DEG" + j + "-CTP-RX";
-
- LinkBuilder expLinkBldr = TopologyUtils.createLink(srcNode, destNode, srcTp, destTp);
-
- Link1Builder lnk1Bldr = new Link1Builder();
- lnk1Bldr.setLinkType(OpenroadmLinkType.EXPRESSLINK);
- expLinkBldr.addAugmentation(Link1.class, lnk1Bldr.build());
- links.add(expLinkBldr.build());
-
- // ZtoA direction
- srcTp = "DEG" + i + "-CTP-RX";
- destTp = "DEG" + j + "-CTP-TX";
-
- expLinkBldr = TopologyUtils.createLink(destNode, srcNode, destTp, srcTp);
- expLinkBldr.addAugmentation(Link1.class, lnk1Bldr.build());
- links.add(expLinkBldr.build());
-
- }
- }
- }
-
- // ports are bi-directional
- if (portDirectionEnum == 3) {
- LOG.info("creating bi-directional express links");
- for (int i = 1; i <= numOfDegrees; i++) {
- for (int j = i + 1; j <= numOfDegrees; j++) {
-
- srcNode = nodeId + "-DEG" + i;
- destNode = nodeId + "-DEG" + j;
-
- // AtoZ direction
- srcTp = "DEG" + i + "-CTP-TXRX";
- destTp = "DEG" + j + "-CTP-TXRX";
-
- Link1Builder lnk1Bldr = new Link1Builder();
- lnk1Bldr.setLinkType(OpenroadmLinkType.EXPRESSLINK);
- LinkBuilder expLinkBldr = TopologyUtils.createLink(srcNode, destNode, srcTp, destTp);
- expLinkBldr.addAugmentation(Link1.class, lnk1Bldr.build());
- links.add(expLinkBldr.build());
-
- // ZtoA direction
- expLinkBldr = TopologyUtils.createLink(destNode, srcNode, destTp, srcTp);
- expLinkBldr.addAugmentation(Link1.class, lnk1Bldr.build());
- links.add(expLinkBldr.build());
- }
- }
- }
- return links;
+ private LinkBuilder createLink(String srcNode, String destNode, String srcTp, String destTp) {
+ LinkBuilder ietfLinkBldr = new LinkBuilder();
+ //create source link
+ SourceBuilder ietfSrcLinkBldr = new SourceBuilder().setSourceNode(new NodeId(srcNode)).setSourceTp(srcTp);
+ //create destination link
+ DestinationBuilder ietfDestLinkBldr = new DestinationBuilder().setDestNode(new NodeId(destNode))
+ .setDestTp(destTp);
+ ietfLinkBldr.setSource(ietfSrcLinkBldr.build())
+ .setDestination(ietfDestLinkBldr.build())
+ .setLinkId(LinkIdUtil.buildLinkId(srcNode, srcTp, destNode, destTp))
+ .withKey(new LinkKey(ietfLinkBldr.getLinkId()));
+ return ietfLinkBldr;