X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-netconf-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fconnect%2Fnetconf%2Flistener%2FNetconfSessionPreferences.java;h=9493f977e08c75b96a4678755d3f1b23eae1ed17;hp=572885bcef4f2fda9fdaddafc62f852c2fcd280c;hb=06e889c9c78457590b6a0b62d89a6b9f44242a9f;hpb=726ee824671781b5031c0108794c22bd0d96eaad diff --git a/opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/listener/NetconfSessionPreferences.java b/opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/listener/NetconfSessionPreferences.java index 572885bcef..9493f977e0 100644 --- a/opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/listener/NetconfSessionPreferences.java +++ b/opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/sal/connect/netconf/listener/NetconfSessionPreferences.java @@ -105,19 +105,21 @@ public final class NetconfSessionPreferences { return containsNonModuleCapability(NetconfMessageTransformUtil.NETCONF_RUNNING_WRITABLE_URI.toString()); } + public boolean isNotificationsSupported() { + return containsNonModuleCapability(NetconfMessageTransformUtil.NETCONF_NOTIFICATONS_URI.toString()) + || containsModuleCapability(NetconfMessageTransformUtil.IETF_NETCONF_NOTIFICATIONS); + } + public boolean isMonitoringSupported() { return containsModuleCapability(NetconfMessageTransformUtil.IETF_NETCONF_MONITORING) || containsNonModuleCapability(NetconfMessageTransformUtil.IETF_NETCONF_MONITORING.getNamespace().toString()); } - public NetconfSessionPreferences replaceModuleCaps(final NetconfSessionPreferences netconfSessionModuleCapabilities) { - final Set moduleBasedCaps = Sets.newHashSet(netconfSessionModuleCapabilities.getModuleBasedCaps()); - - // Preserve monitoring module, since it indicates support for ietf-netconf-monitoring - if(containsModuleCapability(NetconfMessageTransformUtil.IETF_NETCONF_MONITORING)) { - moduleBasedCaps.add(NetconfMessageTransformUtil.IETF_NETCONF_MONITORING); - } - return new NetconfSessionPreferences(getNonModuleCaps(), moduleBasedCaps); + public NetconfSessionPreferences addModuleCaps(final NetconfSessionPreferences netconfSessionModuleCapabilities) { + final HashSet mergedCaps = Sets.newHashSetWithExpectedSize(moduleBasedCaps.size() + netconfSessionModuleCapabilities.getModuleBasedCaps().size()); + mergedCaps.addAll(moduleBasedCaps); + mergedCaps.addAll(netconfSessionModuleCapabilities.getModuleBasedCaps()); + return new NetconfSessionPreferences(getNonModuleCaps(), mergedCaps); } public static NetconfSessionPreferences fromNetconfSession(final NetconfClientSession session) {