Change-Id: I06fbeaeb63cca9ad8b2e7b9aa8c75b3a1ce40334
Signed-off-by: Giles Heron <giheron@cisco.com>
*/
private static NetconfStateSchemas create(final NetconfDeviceRpc deviceRpc, final NetconfSessionPreferences remoteSessionCapabilities, final RemoteDeviceId id) {
if(remoteSessionCapabilities.isMonitoringSupported() == false) {
*/
private static NetconfStateSchemas create(final NetconfDeviceRpc deviceRpc, final NetconfSessionPreferences remoteSessionCapabilities, final RemoteDeviceId id) {
if(remoteSessionCapabilities.isMonitoringSupported() == false) {
+ // TODO - need to search for get-schema support, not just ietf-netconf-monitoring support
+ // issue might be a deviation to ietf-netconf-monitoring where get-schema is unsupported...
LOG.warn("{}: Netconf monitoring not supported on device, cannot detect provided schemas", id);
return EMPTY;
}
LOG.warn("{}: Netconf monitoring not supported on device, cannot detect provided schemas", id);
return EMPTY;
}
import java.net.URI;
import java.util.Collection;
import java.util.HashSet;
import java.net.URI;
import java.util.Collection;
import java.util.HashSet;
+import java.util.Iterator;
import java.util.Set;
import org.opendaylight.netconf.client.NetconfClientSession;
import org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil;
import java.util.Set;
import org.opendaylight.netconf.client.NetconfClientSession;
import org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil;
+ // allows partial matches - assuming parameters are in the same order
+ public boolean containsPartialNonModuleCapability(final String capability) {
+ final Iterator<String> iterator = nonModuleCaps.iterator();
+ while(iterator.hasNext()) {
+ if (iterator.next().startsWith(capability)) {
+ LOG.trace("capability {} partially matches {}", capability, nonModuleCaps);
+ return true;
+ }
+ }
+ return false;
+ }
+
public boolean containsNonModuleCapability(final String capability) {
return nonModuleCaps.contains(capability);
}
public boolean containsNonModuleCapability(final String capability) {
return nonModuleCaps.contains(capability);
}
}
public boolean isNotificationsSupported() {
}
public boolean isNotificationsSupported() {
- return containsNonModuleCapability(NetconfMessageTransformUtil.NETCONF_NOTIFICATONS_URI.toString())
+ return containsPartialNonModuleCapability(NetconfMessageTransformUtil.NETCONF_NOTIFICATONS_URI.toString())
|| containsModuleCapability(NetconfMessageTransformUtil.IETF_NETCONF_NOTIFICATIONS);
}
public boolean isMonitoringSupported() {
return containsModuleCapability(NetconfMessageTransformUtil.IETF_NETCONF_MONITORING)
|| containsModuleCapability(NetconfMessageTransformUtil.IETF_NETCONF_NOTIFICATIONS);
}
public boolean isMonitoringSupported() {
return containsModuleCapability(NetconfMessageTransformUtil.IETF_NETCONF_MONITORING)
- || containsNonModuleCapability(NetconfMessageTransformUtil.IETF_NETCONF_MONITORING.getNamespace().toString());
+ || containsPartialNonModuleCapability(NetconfMessageTransformUtil.IETF_NETCONF_MONITORING.getNamespace().toString());