- 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());
+ FluentFuture<Optional<Network>> openroadmTopoOpt = dataBroker.newReadOnlyTransaction()
+ .read(LogicalDatastoreType.CONFIGURATION, InstanceIdentifiers.OVERLAY_NETWORK_II);
+ if (!openroadmTopoOpt.isDone()) {
+ LOG.warn("Cannot get openroadm topology, returning null");
+ return null;
+ }
+ Optional<Network> optionalOpenroadmTop = null;
+ try {
+ optionalOpenroadmTop = openroadmTopoOpt.get();
+ } catch (InterruptedException e) {
+ //sonar : "InterruptedException" should not be ignored (java:S2142)
+ //https://www.ibm.com/developerworks/java/library/j-jtp05236/index.html?ca=drs-#2.1
+ Thread.currentThread().interrupt();
+ return null;
+ } catch (ExecutionException | NoSuchElementException e) {
+ LOG.error("Impossible to retrieve openroadm-topology from mdsal", e);
+ return null;
+ }
+ Network openroadmTopo = null;
+ if (optionalOpenroadmTop.isPresent()) {
+ openroadmTopo = optionalOpenroadmTop.get();
+ } else {
+ LOG.warn("Openroadm topology is not present, returning null");
+ return null;
+ }