From: Marian Dubai Date: Wed, 22 Apr 2015 07:53:21 +0000 (+0200) Subject: Bug 2932: NPE on bundle activation X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=b4b56117ebbbd69d92bac5a898441e67f45d8ce6 Bug 2932: NPE on bundle activation Error might occured when value containing YangStoreContext is overwritten to null by refresh method, executed within another thread. After fix, in case context is null, context is calculated again. Change-Id: Icefe2a5970ec2ce0b67d5b3b386a35f781fc4156 Signed-off-by: Marian Dubai --- diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/osgi/YangStoreService.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/osgi/YangStoreService.java index 2961662092..ac3873e6b8 100644 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/osgi/YangStoreService.java +++ b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/osgi/YangStoreService.java @@ -137,15 +137,15 @@ public class YangStoreService implements YangStoreContext { } public AutoCloseable registerCapabilityListener(final CapabilityListener listener) { - final SoftReference yangStoreSnapshotSoftReference = ref.get(); - YangStoreContext ret = yangStoreSnapshotSoftReference != null ? yangStoreSnapshotSoftReference.get() : null; - if(ret == null) { - ret = getYangStoreSnapshot(); + YangStoreContext context = ref.get().get(); + + if(context == null) { + context = getYangStoreSnapshot(); } this.listeners.add(listener); - listener.onCapabilitiesAdded(NetconfOperationServiceFactoryImpl.setupCapabilities(ret)); + listener.onCapabilitiesAdded(NetconfOperationServiceFactoryImpl.setupCapabilities(context)); return new AutoCloseable() { @Override