Bug 8361 - NetconfConnector cannot be created due to NullPointerException 63/56463/2
authorMartin Mihálek <mamihale@cisco.com>
Wed, 3 May 2017 11:24:02 +0000 (13:24 +0200)
committerTomas Cere <tcere@cisco.com>
Thu, 4 May 2017 14:30:22 +0000 (16:30 +0200)
- Adds Nullpointer checks in RemoteDeviceConnecterImpl
- If Yang module capabilities are missing its override flag is set to false
- If Non module capabilities are missing its override flag is set to false

Change-Id: I25d172e94a1013d79c0c7db37c930c89ad2ed94f
Signed-off-by: Martin Mihálek <mamihale@cisco.com>
netconf/netconf-topology-singleton/src/main/java/org/opendaylight/netconf/topology/singleton/impl/RemoteDeviceConnectorImpl.java

index 02f9fe8aba3131a4a6ef86599a2f3511f9ba5a70..39e86a9452fcaa83bf334e5f9333d976f5b817c0 100644 (file)
@@ -23,6 +23,7 @@ import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Optional;
 import javax.annotation.Nullable;
 import org.opendaylight.controller.md.sal.dom.api.DOMMountPointService;
@@ -205,11 +206,12 @@ public class RemoteDeviceConnectorImpl implements RemoteDeviceConnector {
         }
 
         return new NetconfConnectorDTO(
-                userCapabilities.isPresent()
-                        ? new NetconfDeviceCommunicator(
-                        remoteDeviceId, device, new UserPreferences(userCapabilities.get(),
-                        node.getYangModuleCapabilities().isOverride(), node.getNonModuleCapabilities().isOverride()),
-                        rpcMessageLimit)
+                userCapabilities.isPresent() ? new NetconfDeviceCommunicator(remoteDeviceId, device,
+                        new UserPreferences(userCapabilities.get(),
+                                Objects.isNull(node.getYangModuleCapabilities())
+                                        ? false : node.getYangModuleCapabilities().isOverride(),
+                                Objects.isNull(node.getNonModuleCapabilities())
+                                        ? false : node.getNonModuleCapabilities().isOverride()), rpcMessageLimit)
                         : new NetconfDeviceCommunicator(remoteDeviceId, device, rpcMessageLimit), salFacade);
     }