- private Topology createAbstractedOpenroadmTopology() {
- // read openroadm-topology
- @NonNull
- FluentFuture<Optional<Network>> openroadmTopoOpt = dataBroker.newReadOnlyTransaction().read(
- LogicalDatastoreType.CONFIGURATION, InstanceIdentifiers.OVERLAY_NETWORK_II);
- if (openroadmTopoOpt.isDone()) {
- Network openroadmTopo = null;
- try {
- openroadmTopo = openroadmTopoOpt.get().get();
- } catch (InterruptedException | ExecutionException | NoSuchElementException e) {
- LOG.error("Impossible to retreive openroadm-topology from mdsal");
- return null;
- }
- List<Node> nodeList = openroadmTopo.getNode();
- @Nullable
- List<Link> linkList = openroadmTopo.augmentation(Network1.class).getLink();
- List<Link> xponderOutLinkList = linkList.stream().filter(lk -> lk.augmentation(Link1.class).getLinkType()
- .equals(OpenroadmLinkType.XPONDEROUTPUT)).collect(Collectors.toList());
- List<Link> xponderInLinkList = linkList.stream().filter(lk -> lk.augmentation(Link1.class).getLinkType()
- .equals(OpenroadmLinkType.XPONDERINPUT)).collect(Collectors.toList());
-
- List<Node> xpdrNodeList = nodeList.stream().filter(nt -> nt.augmentation(
- org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1.class).getNodeType()
- .equals(OpenroadmNodeType.XPONDER)).collect(Collectors.toList());
- Map<String, List<String>> clientPortMap = new HashMap<>();
- for (Node node : xpdrNodeList) {
- String nodeId = node.getSupportingNode().get(0).getNodeRef().getValue();
- List<String> clientPortList = new ArrayList<>();
- for (TerminationPoint tp : node.augmentation(Node1.class).getTerminationPoint()) {
- if (tp.augmentation(TerminationPoint1.class).getTpType().equals(OpenroadmTpType.XPONDERCLIENT)) {
- if (checkTp(node.getNodeId().getValue(), nodeId, tp, xponderOutLinkList, xponderInLinkList)) {
- clientPortList.add(tp.getTpId().getValue());
- }
- }
- }
- if (!clientPortList.isEmpty()) {
- clientPortMap.put(nodeId, clientPortList);
- }
- }
-
- List<String> goodTpList = new ArrayList<>();
- for (Map.Entry<String, List<String>> entry : clientPortMap.entrySet()) {
- String key = entry.getKey();
- List<String> value = entry.getValue();
- for (String tpid : value) {
- goodTpList.add(key + "--" + tpid);
- }
- }
+ private Topology createAbstracted100GTpdrTopology(Topology topology) {
+ List<org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.Node> dsrNodes
+ = topology.nonnullNode().values().stream()
+ .filter(node -> node.getLayerProtocolName().contains(LayerProtocolName.DSR))
+ .collect(Collectors.toList());
+ List<OwnedNodeEdgePoint> nep100GTpdrList = new ArrayList<>();
+ for (org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.Node node2 : dsrNodes) {
+ List<OwnedNodeEdgePoint> nepList = node2.getOwnedNodeEdgePoint().values().stream()
+ .filter(nep -> nep.getName().containsKey(new NameKey("100G-tpdr"))).collect(Collectors.toList());
+ nep100GTpdrList.addAll(nepList);
+ }
+ Name topoName = new NameBuilder().setValue(TopologyUtils.TPDR_100G).setValueName("TAPI Topology Name").build();
+ Uuid topoUuid = new Uuid(UUID.nameUUIDFromBytes(TopologyUtils.TPDR_100G.getBytes(Charset.forName("UTF-8")))
+ .toString());
+ org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.Node node
+ = createTapiNode(nep100GTpdrList, topoUuid);
+ return new TopologyBuilder()
+ .setName(Map.of(topoName.key(), topoName))
+ .setUuid(topoUuid)
+ .setNode(Map.of(node.key(), node))
+ .build();
+ }