+ return null;
+ }
+ }
+
+ private Topology createAbstractedOtnTopology() {
+ // read otn-topology
+ @NonNull
+ FluentFuture<Optional<Network>> otnTopoOpt = dataBroker.newReadOnlyTransaction().read(
+ LogicalDatastoreType.CONFIGURATION, InstanceIdentifiers.OTN_NETWORK_II);
+ if (otnTopoOpt.isDone()) {
+ Network otnTopo = null;
+ try {
+ otnTopo = otnTopoOpt.get().get();
+ } catch (InterruptedException | ExecutionException | NoSuchElementException e) {
+ LOG.error("Impossible to retreive otn-topology from mdsal");
+ return null;
+ }
+ List<Node> nodeList = otnTopo.getNode();
+ List<Node> otnNodeList = nodeList.stream().filter(nt -> nt.augmentation(
+ org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1.class)
+ .getNodeType().equals(OpenroadmNodeType.SWITCH) || nt.augmentation(
+ org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev181130.Node1.class)
+ .getNodeType().equals(OpenroadmNodeType.MUXPDR)).collect(Collectors.toList());
+ List<org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.Node> tapiNodeList =
+ new ArrayList<>();
+ List<org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.Link> tapiLinkList =
+ new ArrayList<>();
+ Uuid topoUuid = new Uuid(UUID.randomUUID().toString());
+ for (Node node : otnNodeList) {
+ ConvertORTopoObjectToTapiTopoObject tapiFactory =
+ new ConvertORTopoObjectToTapiTopoObject(node, null, topoUuid);
+ tapiFactory.convertNode();
+ tapiNodeList.addAll(tapiFactory.getTapiNodes());
+ tapiLinkList.addAll(tapiFactory.getTapiLinks());
+ }
+ Topology topology = new TopologyBuilder()
+ .setName(Arrays.asList(new NameBuilder().setValue("T0 - Multi-layer topology")
+ .setValueName("TAPI Topology Name").build()))
+ .setUuid(topoUuid)
+ .setNode(tapiNodeList)
+ .setLink(tapiLinkList).build();
+ return topology;
+ } else {
+ return null;