aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/dom/NetconfDomAccessorImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/dom/NetconfDomAccessorImpl.java')
-rw-r--r--sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/dom/NetconfDomAccessorImpl.java31
1 files changed, 19 insertions, 12 deletions
diff --git a/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/dom/NetconfDomAccessorImpl.java b/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/dom/NetconfDomAccessorImpl.java
index b6843fb59..97d48d130 100644
--- a/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/dom/NetconfDomAccessorImpl.java
+++ b/sdnr/wt/netconfnode-state-service/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/impl/access/dom/NetconfDomAccessorImpl.java
@@ -127,16 +127,21 @@ public class NetconfDomAccessorImpl extends NetconfAccessorImpl implements Netco
YangInstanceIdentifier path) {
LOG.debug("Read to node datastore:{} path:{}", dataStoreType, path);
- try (DOMDataTreeReadTransaction readOnlyTransaction = dataBroker.newReadOnlyTransaction()) {
+ // Don't use try with resource because the implicit close of this construct is not handled
+ // correctly by underlying opendaylight NETCONF service
+ DOMDataTreeReadTransaction readOnlyTransaction = dataBroker.newReadOnlyTransaction();
+ try {
FluentFuture<Optional<NormalizedNode<?, ?>>> foData = readOnlyTransaction.read(dataStoreType, path);
- // RAVI - Add a few debug here, like what ? Speak to Micha....
Optional<NormalizedNode<?, ?>> data = foData.get(120, TimeUnit.SECONDS);
- LOG.info("read is done - {} ", foData.isDone());
+ LOG.trace("read is done - {} ", foData.isDone());
return data;
-
- } catch (InterruptedException | ExecutionException | TimeoutException e) {
- LOG.info("Incomplete read to node transaction {} {}", dataStoreType, path, e);
+ } catch (InterruptedException e) {
+ LOG.debug("Incomplete read to node transaction {} {}", dataStoreType, path, e);
+ Thread.currentThread().interrupt();
+ return Optional.empty();
+ } catch (ExecutionException | TimeoutException e) {
+ LOG.debug("Incomplete read to node transaction {} {}", dataStoreType, path, e);
return Optional.empty();
}
}
@@ -217,9 +222,7 @@ public class NetconfDomAccessorImpl extends NetconfAccessorImpl implements Netco
replayIsSupported = Boolean.TRUE.equals(stream.isReplaySupport());
}
- if (filter.isPresent()) {
- inputBuilder.setFilter(filter.get());
- }
+ filter.ifPresent(inputBuilder::setFilter);
if (startTime.isPresent()) {
if (replayIsSupported) {
inputBuilder.setStartTime(getDateAndTime(startTime.get()));
@@ -253,8 +256,12 @@ public class NetconfDomAccessorImpl extends NetconfAccessorImpl implements Netco
if (!res.get().getErrors().isEmpty()) {
return res;
}
- } catch (InterruptedException | ExecutionException e) {
- LOG.warn("Exception during rpc call", e);
+ } catch (InterruptedException e) {
+ LOG.warn("InterruptedException during rpc call", e);
+ Thread.currentThread().interrupt();
+ return res;
+ } catch (ExecutionException e) {
+ LOG.warn("ExecutionException during rpc call", e);
return res;
}
}
@@ -265,7 +272,7 @@ public class NetconfDomAccessorImpl extends NetconfAccessorImpl implements Netco
@Override
public @NonNull Map<StreamKey, Stream> getNotificationStreamsAsMap() {
Optional<Streams> oStreams = readData(LogicalDatastoreType.OPERATIONAL, STREAMS_PATH, Streams.class);
- return oStreams.isPresent() ? oStreams.get().nonnullStream() : Collections.emptyMap();
+ return oStreams.map(Streams::nonnullStream).orElse(Collections.emptyMap());
}
@Override