Make sal-netconf-connector fail, if connecting to 96/26096/1
authorJMorvay <jmorvay@cisco.com>
Wed, 29 Jul 2015 09:06:12 +0000 (11:06 +0200)
committerJMorvay <jmorvay@cisco.com>
Thu, 27 Aug 2015 14:56:53 +0000 (16:56 +0200)
device, that does not advertise :candidate or
:writtable-running capability

Change-Id: Ieabbc8f2833df914db9b10b65b7b9f8ca04e1e95
Signed-off-by: JMorvay <jmorvay@cisco.com>
opendaylight/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceDataBroker.java

index d3459fa873912a414de0d629d8a4b1d56cd3c41a..0782739b99b0c0c414f56c69b04a90eee29c427c 100644 (file)
@@ -8,6 +8,7 @@
 
 package org.opendaylight.netconf.sal.connect.netconf.sal;
 
+import com.google.common.base.Preconditions;
 import java.util.Collections;
 import java.util.Map;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
@@ -50,6 +51,8 @@ final class NetconfDeviceDataBroker implements DOMDataBroker {
         candidateSupported = netconfSessionPreferences.isCandidateSupported();
         runningWritable = netconfSessionPreferences.isRunningWritable();
         rollbackSupport = netconfSessionPreferences.isRollbackSupported();
+        Preconditions.checkArgument(candidateSupported || runningWritable,
+            "Device %s has advertised neither :writable-running nor :candidate capability. At least one of these should be advertised. Failed to establish a session.", id.getName());
     }
 
     @Override