import org.opendaylight.netconf.sal.connect.api.DeviceActionFactory;
import org.opendaylight.netconf.sal.connect.api.RemoteDeviceHandler;
import org.opendaylight.netconf.sal.connect.api.SchemaResourceManager;
-import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfSessionPreferences;
import org.opendaylight.netconf.sal.connect.netconf.sal.NetconfDeviceSalFacade;
import org.opendaylight.netconf.sal.connect.netconf.schema.mapping.BaseNetconfSchemas;
import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId;
}
@Override
- protected RemoteDeviceHandler<NetconfSessionPreferences> createSalFacade(final RemoteDeviceId id) {
+ protected RemoteDeviceHandler createSalFacade(final RemoteDeviceId id) {
return new NetconfDeviceSalFacade(id, mountPointService, dataBroker, topologyId);
}
}
import org.opendaylight.netconf.sal.connect.api.DeviceActionFactory;
import org.opendaylight.netconf.sal.connect.api.RemoteDeviceHandler;
import org.opendaylight.netconf.sal.connect.api.SchemaResourceManager;
-import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfSessionPreferences;
import org.opendaylight.netconf.sal.connect.netconf.sal.NetconfDeviceSalFacade;
import org.opendaylight.netconf.sal.connect.netconf.schema.mapping.BaseNetconfSchemas;
import org.opendaylight.netconf.sal.connect.util.NetconfTopologyRPCProvider;
}
@Override
- protected RemoteDeviceHandler<NetconfSessionPreferences> createSalFacade(final RemoteDeviceId id) {
+ protected RemoteDeviceHandler createSalFacade(final RemoteDeviceId id) {
return new NetconfDeviceSalFacade(id, mountPointService, dataBroker, topologyId);
}
package org.opendaylight.netconf.topology.singleton.api;
import org.opendaylight.netconf.sal.connect.api.RemoteDeviceHandler;
-import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfSessionPreferences;
/**
* Provides API for connection ODL (master) with device.
*/
// FIXME: way more documentation is needed here
public interface RemoteDeviceConnector {
-
/**
* Create device communicator and open device connection.
*
* @throws NullPointerException if {@code deviceHandler} is null
*/
// FIXME: this should return a resource corresponding to the device connection
- void startRemoteDeviceConnection(RemoteDeviceHandler<NetconfSessionPreferences> deviceHandler);
+ void startRemoteDeviceConnection(RemoteDeviceHandler deviceHandler);
/**
* Stop device communicator.
import org.slf4j.LoggerFactory;
import scala.concurrent.Future;
-class MasterSalFacade implements AutoCloseable, RemoteDeviceHandler<NetconfSessionPreferences> {
-
+class MasterSalFacade implements RemoteDeviceHandler, AutoCloseable {
private static final Logger LOG = LoggerFactory.getLogger(MasterSalFacade.class);
private final RemoteDeviceId id;
}
@Override
- public void startRemoteDeviceConnection(final RemoteDeviceHandler<NetconfSessionPreferences> deviceHandler) {
+ public void startRemoteDeviceConnection(final RemoteDeviceHandler deviceHandler) {
final NetconfNode netconfNode = netconfTopologyDeviceSetup.getNode().augmentation(NetconfNode.class);
final NodeId nodeId = netconfTopologyDeviceSetup.getNode().getNodeId();
@VisibleForTesting
NetconfConnectorDTO createDeviceCommunicator(final NodeId nodeId, final NetconfNode node,
- final RemoteDeviceHandler<NetconfSessionPreferences> deviceHandler) {
+ final RemoteDeviceHandler deviceHandler) {
//setup default values since default value is not supported in mdsal
final long defaultRequestTimeoutMillis = node.getDefaultRequestTimeoutMillis() == null
? NetconfTopologyUtils.DEFAULT_REQUEST_TIMEOUT_MILLIS : node.getDefaultRequestTimeoutMillis().toJava();
final boolean reconnectOnChangedSchema = node.getReconnectOnChangedSchema() == null
? NetconfTopologyUtils.DEFAULT_RECONNECT_ON_CHANGED_SCHEMA : node.getReconnectOnChangedSchema();
- RemoteDeviceHandler<NetconfSessionPreferences> salFacade = requireNonNull(deviceHandler);
+ RemoteDeviceHandler salFacade = requireNonNull(deviceHandler);
if (keepaliveDelay > 0) {
LOG.info("{}: Adding keepalive facade.", remoteDeviceId);
salFacade = new KeepaliveSalFacade(remoteDeviceId, salFacade,
import org.opendaylight.netconf.sal.connect.api.RemoteDeviceHandler;
import org.opendaylight.netconf.sal.connect.impl.DefaultSchemaResourceManager;
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.sal.KeepaliveSalFacade;
import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId;
import org.opendaylight.netconf.topology.singleton.impl.utils.NetconfTopologySetup;
.setTopologyId(TOPOLOGY_ID);
}
- @SuppressWarnings("unchecked")
@Test
public void testStopRemoteDeviceConnection() {
builder.setNode(new NodeBuilder().setNodeId(NODE_ID)
.build());
final NetconfDeviceCommunicator communicator = mock(NetconfDeviceCommunicator.class);
- final RemoteDeviceHandler<NetconfSessionPreferences> salFacade = mock(RemoteDeviceHandler.class);
+ final RemoteDeviceHandler salFacade = mock(RemoteDeviceHandler.class);
final TestingRemoteDeviceConnectorImpl remoteDeviceConnection = new TestingRemoteDeviceConnectorImpl(
builder.build(), remoteDeviceId, communicator, deviceActionFactory);
verify(salFacade, times(1)).close();
}
- @SuppressWarnings("unchecked")
@Test
public void testKeapAliveFacade() {
final Credentials credentials = new LoginPasswordBuilder()
final RemoteDeviceConnectorImpl remoteDeviceConnection =
new RemoteDeviceConnectorImpl(builder.build(), remoteDeviceId, deviceActionFactory);
- final RemoteDeviceHandler<NetconfSessionPreferences> salFacade = mock(RemoteDeviceHandler.class);
+ final RemoteDeviceHandler salFacade = mock(RemoteDeviceHandler.class);
final NetconfConnectorDTO connectorDTO =
remoteDeviceConnection.createDeviceCommunicator(NODE_ID, netconfNode, salFacade);
import org.opendaylight.netconf.sal.connect.api.DeviceActionFactory;
import org.opendaylight.netconf.sal.connect.api.RemoteDeviceHandler;
import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfDeviceCommunicator;
-import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfSessionPreferences;
import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId;
import org.opendaylight.netconf.topology.singleton.impl.utils.NetconfTopologySetup;
import org.opendaylight.netconf.topology.spi.NetconfConnectorDTO;
@Override
public NetconfConnectorDTO createDeviceCommunicator(final NodeId nodeId, final NetconfNode node,
- final RemoteDeviceHandler<NetconfSessionPreferences> salFacade) {
+ final RemoteDeviceHandler salFacade) {
final NetconfConnectorDTO connectorDTO = new NetconfConnectorDTO(communicator, salFacade, List.of());
doReturn(FluentFutures.immediateNullFluentFuture()).when(communicator).initializeRemoteConnection(any(), any());
return connectorDTO;
final RemoteDeviceId remoteDeviceId = NetconfNodeUtils.toRemoteDeviceId(nodeId, node);
final long keepaliveDelay = node.requireKeepaliveDelay().toJava();
- RemoteDeviceHandler<NetconfSessionPreferences> salFacade = createSalFacade(remoteDeviceId);
+ RemoteDeviceHandler salFacade = createSalFacade(remoteDeviceId);
if (keepaliveDelay > 0) {
LOG.info("Adding keepalive facade, for device {}", nodeId);
salFacade = new KeepaliveSalFacade(remoteDeviceId, salFacade, keepaliveExecutor.getExecutor(),
throw new IllegalStateException("Unsupported credential type: " + credentials.getClass());
}
- protected abstract RemoteDeviceHandler<NetconfSessionPreferences> createSalFacade(RemoteDeviceId id);
+ protected abstract RemoteDeviceHandler createSalFacade(RemoteDeviceId id);
private static Optional<UserPreferences> getUserCapabilities(final NetconfNode node) {
// if none of yang-module-capabilities or non-module-capabilities is specified
import org.opendaylight.netconf.client.NetconfClientSessionListener;
import org.opendaylight.netconf.sal.connect.api.RemoteDeviceHandler;
import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfDeviceCommunicator;
-import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfSessionPreferences;
import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceRegistration;
public final class NetconfConnectorDTO implements AutoCloseable {
private final List<SchemaSourceRegistration<?>> yanglibRegistrations;
private final NetconfDeviceCommunicator communicator;
- private final RemoteDeviceHandler<NetconfSessionPreferences> facade;
+ private final RemoteDeviceHandler facade;
- public NetconfConnectorDTO(final NetconfDeviceCommunicator communicator,
- final RemoteDeviceHandler<NetconfSessionPreferences> facade,
+ public NetconfConnectorDTO(final NetconfDeviceCommunicator communicator, final RemoteDeviceHandler facade,
final List<SchemaSourceRegistration<?>> yanglibRegistrations) {
this.communicator = communicator;
this.facade = facade;
return communicator;
}
- public RemoteDeviceHandler<NetconfSessionPreferences> getFacade() {
+ public RemoteDeviceHandler getFacade() {
return facade;
}
import org.opendaylight.mdsal.dom.api.DOMActionService;
import org.opendaylight.mdsal.dom.api.DOMNotification;
import org.opendaylight.mdsal.dom.api.DOMRpcService;
+import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfSessionPreferences;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode;
import org.opendaylight.yangtools.rfc8528.data.api.MountPointContext;
-public interface RemoteDeviceHandler<PREF> extends AutoCloseable {
-
+public interface RemoteDeviceHandler extends AutoCloseable {
/**
* When device connected, init new mount point with specific schema context and DOM services.
*
* @param remoteSchemaContext - schema context of connected device
- * @param netconfSessionPreferences - session of device
+ * @param sessionPreferences - session of device
* @param deviceRpc - {@link DOMRpcService} of device
*/
- default void onDeviceConnected(final MountPointContext remoteSchemaContext, final PREF netconfSessionPreferences,
- final DOMRpcService deviceRpc) {
+ default void onDeviceConnected(final MountPointContext remoteSchemaContext,
+ final NetconfSessionPreferences sessionPreferences, final DOMRpcService deviceRpc) {
// DO NOTHING
}
* When device connected, init new mount point with specific schema context and DOM services.
*
* @param mountContext - MountPointContext of connected device
- * @param netconfSessionPreferences - session of device
+ * @param sessionPreferences - session of device
* @param deviceRpc - {@link DOMRpcService} of device
* @param deviceAction - {@link DOMActionService} of device
*/
- default void onDeviceConnected(final MountPointContext mountContext, final PREF netconfSessionPreferences,
+ default void onDeviceConnected(final MountPointContext mountContext,
+ final NetconfSessionPreferences sessionPreferences,
final DOMRpcService deviceRpc, final DOMActionService deviceAction) {
// DO NOTHING
}
- default void onDeviceReconnected(final PREF netconfSessionPreferences, final NetconfNode node) {
+ default void onDeviceReconnected(final NetconfSessionPreferences sessionPreferences, final NetconfNode node) {
// DO NOTHING
}
protected final List<SchemaSourceRegistration<?>> sourceRegistrations = new ArrayList<>();
- private final RemoteDeviceHandler<NetconfSessionPreferences> salFacade;
+ private final RemoteDeviceHandler salFacade;
private final ListeningExecutorService processingExecutor;
private final DeviceActionFactory deviceActionFactory;
private final NetconfDeviceSchemasResolver stateSchemasResolver;
private MessageTransformer messageTransformer;
public NetconfDevice(final SchemaResourcesDTO schemaResourcesDTO, final BaseNetconfSchemas baseSchemas,
- final RemoteDeviceId id, final RemoteDeviceHandler<NetconfSessionPreferences> salFacade,
+ final RemoteDeviceId id, final RemoteDeviceHandler salFacade,
final ListeningExecutorService globalProcessingExecutor, final boolean reconnectOnSchemasChange) {
this(schemaResourcesDTO, baseSchemas, id, salFacade, globalProcessingExecutor, reconnectOnSchemasChange, null,
null, null, null);
}
public NetconfDevice(final SchemaResourcesDTO schemaResourcesDTO, final BaseNetconfSchemas baseSchemas,
- final RemoteDeviceId id, final RemoteDeviceHandler<NetconfSessionPreferences> salFacade,
+ final RemoteDeviceId id, final RemoteDeviceHandler salFacade,
final ListeningExecutorService globalProcessingExecutor, final boolean reconnectOnSchemasChange,
final DeviceActionFactory deviceActionFactory, final NetconfNode node, final EventExecutor eventExecutor,
final NetconfNodeAugmentedOptional nodeOptional) {
import io.netty.util.concurrent.EventExecutor;
import org.opendaylight.netconf.sal.connect.api.DeviceActionFactory;
import org.opendaylight.netconf.sal.connect.api.RemoteDeviceHandler;
-import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfSessionPreferences;
import org.opendaylight.netconf.sal.connect.netconf.schema.mapping.BaseNetconfSchemas;
import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.optional.rev190614.NetconfNodeAugmentedOptional;
private boolean reconnectOnSchemasChange;
private NetconfDevice.SchemaResourcesDTO schemaResourcesDTO;
private RemoteDeviceId id;
- private RemoteDeviceHandler<NetconfSessionPreferences> salFacade;
+ private RemoteDeviceHandler salFacade;
private ListeningExecutorService globalProcessingExecutor;
private DeviceActionFactory deviceActionFactory;
private NetconfNode node;
return this;
}
- public NetconfDeviceBuilder setSalFacade(final RemoteDeviceHandler<NetconfSessionPreferences> salFacade) {
+ public NetconfDeviceBuilder setSalFacade(final RemoteDeviceHandler salFacade) {
this.salFacade = salFacade;
return this;
}
public NetconfDevice build() {
validation();
- return new NetconfDevice(this.schemaResourcesDTO, this.baseSchemas, this.id, this.salFacade,
- this.globalProcessingExecutor, this.reconnectOnSchemasChange, this.deviceActionFactory, this.node,
- this.eventExecutor, this.nodeOptional);
+ return new NetconfDevice(schemaResourcesDTO, baseSchemas, id, salFacade,
+ globalProcessingExecutor, reconnectOnSchemasChange, deviceActionFactory, node,
+ eventExecutor, nodeOptional);
}
private void validation() {
- requireNonNull(this.baseSchemas, "BaseSchemas is not initialized");
- requireNonNull(this.id, "RemoteDeviceId is not initialized");
- requireNonNull(this.salFacade, "RemoteDeviceHandler is not initialized");
- requireNonNull(this.globalProcessingExecutor, "ExecutorService is not initialized");
- requireNonNull(this.schemaResourcesDTO, "SchemaResourceDTO is not initialized");
+ requireNonNull(baseSchemas, "BaseSchemas is not initialized");
+ requireNonNull(id, "RemoteDeviceId is not initialized");
+ requireNonNull(salFacade, "RemoteDeviceHandler is not initialized");
+ requireNonNull(globalProcessingExecutor, "ExecutorService is not initialized");
+ requireNonNull(schemaResourcesDTO, "SchemaResourceDTO is not initialized");
}
}
final class NotificationHandler {
private static final Logger LOG = LoggerFactory.getLogger(NotificationHandler.class);
- private final RemoteDeviceHandler<?> salFacade;
+ private final RemoteDeviceHandler salFacade;
// FIXME: better implementation?
private final List<NetconfMessage> queue = new LinkedList<>();
private final RemoteDeviceId id;
private NotificationFilter filter;
private MessageTransformer messageTransformer;
- NotificationHandler(final RemoteDeviceHandler<?> salFacade, final RemoteDeviceId id) {
+ NotificationHandler(final RemoteDeviceHandler salFacade, final RemoteDeviceId id) {
this.salFacade = requireNonNull(salFacade);
this.id = requireNonNull(id);
}
public class SchemalessNetconfDevice implements RemoteDevice<NetconfDeviceCommunicator> {
private final BaseNetconfSchemas baseSchemas;
private final RemoteDeviceId id;
- private final RemoteDeviceHandler<NetconfSessionPreferences> salFacade;
+ private final RemoteDeviceHandler salFacade;
private final SchemalessMessageTransformer messageTransformer;
private final BaseRpcSchemalessTransformer rpcTransformer;
public SchemalessNetconfDevice(final BaseNetconfSchemas baseSchemas, final RemoteDeviceId id,
- final RemoteDeviceHandler<NetconfSessionPreferences> salFacade) {
+ final RemoteDeviceHandler salFacade) {
this.baseSchemas = requireNonNull(baseSchemas);
this.id = id;
this.salFacade = salFacade;
@VisibleForTesting
SchemalessNetconfDevice(final BaseNetconfSchemas baseSchemas, final RemoteDeviceId id,
- final RemoteDeviceHandler<NetconfSessionPreferences> salFacade,
- final SchemalessMessageTransformer messageTransformer) {
+ final RemoteDeviceHandler salFacade, final SchemalessMessageTransformer messageTransformer) {
this.baseSchemas = requireNonNull(baseSchemas);
this.id = id;
this.salFacade = salFacade;
@Override
public void onRemoteSessionUp(final NetconfSessionPreferences remoteSessionCapabilities,
- final NetconfDeviceCommunicator netconfDeviceCommunicator) {
+ final NetconfDeviceCommunicator netconfDeviceCommunicator) {
final SchemalessNetconfDeviceRpc schemalessNetconfDeviceRpc = new SchemalessNetconfDeviceRpc(id,
netconfDeviceCommunicator, rpcTransformer, messageTransformer);
salFacade.onDeviceConnected(baseSchemas.getBaseSchema().getMountPointContext(),
remoteSessionCapabilities, schemalessNetconfDeviceRpc);
-
}
@Override
* and to detect incorrect session drops (netconf session is inactive, but TCP/SSH connection is still present).
* The keepalive RPC is a get-config with empty filter.
*/
-public final class KeepaliveSalFacade implements RemoteDeviceHandler<NetconfSessionPreferences> {
+public final class KeepaliveSalFacade implements RemoteDeviceHandler {
private static final Logger LOG = LoggerFactory.getLogger(KeepaliveSalFacade.class);
// 2 minutes keepalive delay by default
private static final long DEFAULT_TRANSACTION_TIMEOUT_MILLI = TimeUnit.MILLISECONDS.toMillis(60000);
private final KeepaliveTask keepaliveTask = new KeepaliveTask();
- private final RemoteDeviceHandler<NetconfSessionPreferences> salFacade;
+ private final RemoteDeviceHandler salFacade;
private final ScheduledExecutorService executor;
private final long keepaliveDelaySeconds;
private volatile NetconfDeviceCommunicator listener;
private volatile DOMRpcService currentDeviceRpc;
- public KeepaliveSalFacade(final RemoteDeviceId id, final RemoteDeviceHandler<NetconfSessionPreferences> salFacade,
- final ScheduledExecutorService executor, final long keepaliveDelaySeconds,
- final long requestTimeoutMillis) {
+ public KeepaliveSalFacade(final RemoteDeviceId id, final RemoteDeviceHandler salFacade,
+ final ScheduledExecutorService executor, final long keepaliveDelaySeconds,
+ final long requestTimeoutMillis) {
this.id = id;
this.salFacade = salFacade;
this.executor = requireNonNull(executor);
timeoutNanos = TimeUnit.MILLISECONDS.toNanos(requestTimeoutMillis);
}
- public KeepaliveSalFacade(final RemoteDeviceId id, final RemoteDeviceHandler<NetconfSessionPreferences> salFacade,
- final ScheduledExecutorService executor) {
+ public KeepaliveSalFacade(final RemoteDeviceId id, final RemoteDeviceHandler salFacade,
+ final ScheduledExecutorService executor) {
this(id, salFacade, executor, DEFAULT_DELAY, DEFAULT_TRANSACTION_TIMEOUT_MILLI);
}
public void onDeviceConnected(final MountPointContext remoteSchemaContext,
final NetconfSessionPreferences netconfSessionPreferences, final DOMRpcService deviceRpc,
final DOMActionService deviceAction) {
- this.currentDeviceRpc = requireNonNull(deviceRpc);
+ currentDeviceRpc = requireNonNull(deviceRpc);
salFacade.onDeviceConnected(remoteSchemaContext, netconfSessionPreferences,
new KeepaliveDOMRpcService(deviceRpc), deviceAction);
private final @NonNull ListenableFuture<? extends DOMRpcResult> deviceFuture;
RequestTimeoutTask(final ListenableFuture<? extends DOMRpcResult> rpcResultFuture) {
- this.deviceFuture = requireNonNull(rpcResultFuture);
+ deviceFuture = requireNonNull(rpcResultFuture);
Futures.addCallback(deviceFuture, this, MoreExecutors.directExecutor());
}
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public final class NetconfDeviceSalFacade implements AutoCloseable, RemoteDeviceHandler<NetconfSessionPreferences> {
-
+public final class NetconfDeviceSalFacade implements RemoteDeviceHandler, AutoCloseable {
private static final Logger LOG = LoggerFactory.getLogger(NetconfDeviceSalFacade.class);
private final RemoteDeviceId id;
@Override
public synchronized void onDeviceReconnected(final NetconfSessionPreferences netconfSessionPreferences,
final NetconfNode node) {
- this.salProvider.getTopologyDatastoreAdapter().updateDeviceData(ConnectionStatus.Connecting,
+ salProvider.getTopologyDatastoreAdapter().updateDeviceData(ConnectionStatus.Connecting,
netconfSessionPreferences.getNetconfDeviceCapabilities(), LogicalDatastoreType.CONFIGURATION, node);
}
@Test
public void testNetconfDeviceFlawedModelFailedResolution() throws Exception {
- final RemoteDeviceHandler<NetconfSessionPreferences> facade = getFacade();
+ final RemoteDeviceHandler facade = getFacade();
final NetconfDeviceCommunicator listener = getListener();
final EffectiveModelContextFactory schemaFactory = getSchemaFactory();
public void testNetconfDeviceFailFirstSchemaFailSecondEmpty() throws Exception {
final ArrayList<String> capList = Lists.newArrayList(TEST_CAPABILITY);
- final RemoteDeviceHandler<NetconfSessionPreferences> facade = getFacade();
+ final RemoteDeviceHandler facade = getFacade();
final NetconfDeviceCommunicator listener = getListener();
final EffectiveModelContextFactory schemaFactory = getSchemaFactory();
@Test
public void testNetconfDeviceMissingSource() throws Exception {
- final RemoteDeviceHandler<NetconfSessionPreferences> facade = getFacade();
+ final RemoteDeviceHandler facade = getFacade();
final NetconfDeviceCommunicator listener = getListener();
final EffectiveModelContextFactory schemaFactory = getSchemaFactory();
@Test
public void testNotificationBeforeSchema() throws Exception {
- final RemoteDeviceHandler<NetconfSessionPreferences> facade = getFacade();
+ final RemoteDeviceHandler facade = getFacade();
final NetconfDeviceCommunicator listener = getListener();
final EffectiveModelContextFactory schemaContextProviderFactory = mock(EffectiveModelContextFactory.class);
final SettableFuture<SchemaContext> schemaFuture = SettableFuture.create();
@Test
public void testNetconfDeviceReconnect() throws Exception {
- final RemoteDeviceHandler<NetconfSessionPreferences> facade = getFacade();
+ final RemoteDeviceHandler facade = getFacade();
final NetconfDeviceCommunicator listener = getListener();
final EffectiveModelContextFactory schemaContextProviderFactory = getSchemaFactory();
@Test
public void testNetconfDeviceDisconnectListenerCallCancellation() throws Exception {
- final RemoteDeviceHandler<NetconfSessionPreferences> facade = getFacade();
+ final RemoteDeviceHandler facade = getFacade();
final NetconfDeviceCommunicator listener = getListener();
final EffectiveModelContextFactory schemaContextProviderFactory = mock(EffectiveModelContextFactory.class);
final SettableFuture<SchemaContext> schemaFuture = SettableFuture.create();
@Test
public void testNetconfDeviceAvailableCapabilitiesBuilding() throws Exception {
- final RemoteDeviceHandler<NetconfSessionPreferences> facade = getFacade();
+ final RemoteDeviceHandler facade = getFacade();
final NetconfDeviceCommunicator listener = getListener();
final EffectiveModelContextFactory schemaContextProviderFactory = getSchemaFactory();
@Test
public void testNetconfDeviceNotificationsModelNotPresentWithCapability() throws Exception {
- final RemoteDeviceHandler<NetconfSessionPreferences> facade = getFacade();
+ final RemoteDeviceHandler facade = getFacade();
final NetconfDeviceCommunicator listener = getListener();
final EffectiveModelContextFactory schemaContextProviderFactory = getSchemaFactory();
@Test
public void testNetconfDeviceNotificationsCapabilityIsNotPresent() throws Exception {
- final RemoteDeviceHandler<NetconfSessionPreferences> facade = getFacade();
+ final RemoteDeviceHandler facade = getFacade();
final NetconfDeviceCommunicator listener = getListener();
final EffectiveModelContextFactory schemaContextProviderFactory = getSchemaFactory();
@Test
public void testNetconfDeviceNotificationsModelIsPresent() throws Exception {
- final RemoteDeviceHandler<NetconfSessionPreferences> facade = getFacade();
+ final RemoteDeviceHandler facade = getFacade();
final NetconfDeviceCommunicator listener = getListener();
final EffectiveModelContextFactory schemaContextProviderFactory = getSchemaFactory();
return schemaFactory;
}
- private static RemoteDeviceHandler<NetconfSessionPreferences> getFacade() throws Exception {
- final RemoteDeviceHandler<NetconfSessionPreferences> remoteDeviceHandler =
- mockCloseableClass(RemoteDeviceHandler.class);
+ private static RemoteDeviceHandler getFacade() throws Exception {
+ final RemoteDeviceHandler remoteDeviceHandler = mockCloseableClass(RemoteDeviceHandler.class);
doNothing().when(remoteDeviceHandler).onDeviceConnected(
any(MountPointContext.class), any(NetconfSessionPreferences.class), any(NetconfDeviceRpc.class),
any(DOMActionService.class));
@Test
public void testSessionOnMethods() throws Exception {
- final RemoteDeviceHandler<NetconfSessionPreferences> facade = getFacade();
+ final RemoteDeviceHandler facade = getFacade();
final NetconfDeviceCommunicator listener = mockCloseableClass(NetconfDeviceCommunicator.class);
final SchemalessMessageTransformer messageTransformer = mock(SchemalessMessageTransformer.class);
final RemoteDeviceId remoteDeviceId = new RemoteDeviceId("test-D",
verify(facade).onDeviceFailed(throwable);
}
- @SuppressWarnings("unchecked")
- private static RemoteDeviceHandler<NetconfSessionPreferences> getFacade() throws Exception {
- final RemoteDeviceHandler<NetconfSessionPreferences> remoteDeviceHandler =
- mockCloseableClass(RemoteDeviceHandler.class);
+ private static RemoteDeviceHandler getFacade() throws Exception {
+ final RemoteDeviceHandler remoteDeviceHandler = mockCloseableClass(RemoteDeviceHandler.class);
doNothing().when(remoteDeviceHandler).onDeviceConnected(
any(MountPointContext.class), any(NetconfSessionPreferences.class), any(NetconfDeviceRpc.class));
doNothing().when(remoteDeviceHandler).onDeviceDisconnected();
capabilities.addAll(additionalCapabilities);
- return NetconfSessionPreferences.fromStrings(
- capabilities);
+ return NetconfSessionPreferences.fromStrings(capabilities);
}
}
verify(deviceRpc, after(2000).never()).invokeRpc(NETCONF_GET_CONFIG_QNAME, KEEPALIVE_PAYLOAD);
}
- private final class LocalNetconfSalFacade implements RemoteDeviceHandler<NetconfSessionPreferences> {
-
+ private static final class LocalNetconfSalFacade implements RemoteDeviceHandler {
private DOMRpcService localDeviceRpc;
@Override
import org.opendaylight.mdsal.dom.spi.DefaultDOMRpcResult;
import org.opendaylight.netconf.sal.connect.api.RemoteDeviceHandler;
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.util.NetconfMessageTransformUtil;
import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId;
import org.opendaylight.yangtools.util.concurrent.FluentFutures;
new RemoteDeviceId("test", new InetSocketAddress("localhost", 22));
@Mock
- private RemoteDeviceHandler<NetconfSessionPreferences> underlyingSalFacade;
+ private RemoteDeviceHandler underlyingSalFacade;
private ScheduledExecutorService executorServiceSpy;