X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=netconf%2Fnetconf-topology%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fnetconf%2Ftopology%2Fspi%2FAbstractNetconfTopology.java;h=53293c67db6931e5e3075bffd66099b145273e4a;hb=ad8c88351b1349f53eae21f75af4cfc14c818f9c;hp=d7bf00e8f6f88d64ecdbf07c498137cd9bfabf33;hpb=2e719163dd762200de1b276f3c18d5b75d9eabe3;p=netconf.git diff --git a/netconf/netconf-topology/src/main/java/org/opendaylight/netconf/topology/spi/AbstractNetconfTopology.java b/netconf/netconf-topology/src/main/java/org/opendaylight/netconf/topology/spi/AbstractNetconfTopology.java index d7bf00e8f6..53293c67db 100644 --- a/netconf/netconf-topology/src/main/java/org/opendaylight/netconf/topology/spi/AbstractNetconfTopology.java +++ b/netconf/netconf-topology/src/main/java/org/opendaylight/netconf/topology/spi/AbstractNetconfTopology.java @@ -10,7 +10,6 @@ package org.opendaylight.netconf.topology.spi; import static java.util.Objects.requireNonNull; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Preconditions; import com.google.common.collect.Lists; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.Futures; @@ -24,7 +23,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.ExecutionException; -import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.aaa.encrypt.AAAEncryptionService; import org.opendaylight.controller.config.threadpool.ScheduledThreadPool; import org.opendaylight.controller.config.threadpool.ThreadPool; @@ -50,8 +48,6 @@ import org.opendaylight.netconf.sal.connect.netconf.NetconfDeviceBuilder; import org.opendaylight.netconf.sal.connect.netconf.SchemalessNetconfDevice; import org.opendaylight.netconf.sal.connect.netconf.auth.DatastoreBackedPublicKeyAuth; import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfDeviceCommunicator; -import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfSessionPreferences; -import org.opendaylight.netconf.sal.connect.netconf.listener.UserPreferences; import org.opendaylight.netconf.sal.connect.netconf.sal.KeepaliveSalFacade; import org.opendaylight.netconf.sal.connect.netconf.sal.NetconfDeviceSalFacade; import org.opendaylight.netconf.sal.connect.netconf.sal.NetconfKeystoreAdapter; @@ -65,7 +61,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.optional.rev19 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode; import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.connection.parameters.Protocol; import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.connection.parameters.Protocol.Name; -import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.connection.status.available.capabilities.AvailableCapability.CapabilityOrigin; import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.credentials.Credentials; import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.credentials.credentials.KeyAuth; import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.credentials.credentials.LoginPw; @@ -269,7 +264,7 @@ public abstract class AbstractNetconfTopology implements NetconfTopology { } final var netconfDeviceCommunicator = new NetconfDeviceCommunicator(deviceId, device, rpcMessageLimit, - extractUserCapabilities(node)); + NetconfNodeUtils.extractUserCapabilities(node)); if (keepAliveFacade != null) { keepAliveFacade.setListener(netconfDeviceCommunicator); @@ -386,40 +381,4 @@ public abstract class AbstractNetconfTopology implements NetconfTopology { } throw new IllegalStateException("Unsupported credential type: " + credentials.getClass()); } - - private static @Nullable UserPreferences extractUserCapabilities(final NetconfNode node) { - final var moduleCaps = node.getYangModuleCapabilities(); - final var nonModuleCaps = node.getNonModuleCapabilities(); - - if (moduleCaps == null && nonModuleCaps == null) { - // if none of yang-module-capabilities or non-module-capabilities is specified - return null; - } - - final var capabilities = new ArrayList(); - final boolean overrideYangModuleCaps; - if (moduleCaps != null) { - capabilities.addAll(moduleCaps.getCapability()); - overrideYangModuleCaps = moduleCaps.getOverride(); - } else { - overrideYangModuleCaps = false; - } - - //non-module capabilities should not exist in yang module capabilities - final var netconfSessionPreferences = NetconfSessionPreferences.fromStrings(capabilities); - Preconditions.checkState(netconfSessionPreferences.getNonModuleCaps().isEmpty(), - "List yang-module-capabilities/capability should contain only module based capabilities. " - + "Non-module capabilities used: " + netconfSessionPreferences.getNonModuleCaps()); - - final boolean overrideNonModuleCaps; - if (nonModuleCaps != null) { - capabilities.addAll(nonModuleCaps.getCapability()); - overrideNonModuleCaps = nonModuleCaps.getOverride(); - } else { - overrideNonModuleCaps = false; - } - - return new UserPreferences(NetconfSessionPreferences.fromStrings(capabilities, CapabilityOrigin.UserDefined), - overrideYangModuleCaps, overrideNonModuleCaps); - } }