Search in sources :

Example 1 with NetconfServerSessionNegotiatorFactory

use of org.opendaylight.netconf.impl.NetconfServerSessionNegotiatorFactory in project netconf by opendaylight.

the class NetconfDeviceSimulator method createDispatcher.

private NetconfServerDispatcherImpl createDispatcher(final Set<Capability> capabilities, final SchemaSourceProvider<YangTextSchemaSource> sourceProvider) {
    final Set<Capability> transformedCapabilities = new HashSet<>(Collections2.transform(capabilities, input -> {
        if (sendFakeSchema) {
            sendFakeSchema = false;
            return new FakeCapability((YangModuleCapability) input);
        } else {
            return input;
        }
    }));
    transformedCapabilities.add(new BasicCapability("urn:ietf:params:netconf:capability:candidate:1.0"));
    final NetconfMonitoringService monitoringService1 = new DummyMonitoringService(transformedCapabilities);
    final SessionIdProvider idProvider = new SessionIdProvider();
    final NetconfOperationServiceFactory aggregatedNetconfOperationServiceFactory = createOperationServiceFactory(sourceProvider, transformedCapabilities, monitoringService1, idProvider);
    final Set<String> serverCapabilities = configuration.getCapabilities();
    final NetconfServerSessionNegotiatorFactory serverNegotiatorFactory = new TesttoolNegotiationFactory(hashedWheelTimer, aggregatedNetconfOperationServiceFactory, idProvider, configuration.getGenerateConfigsTimeout(), monitoringService1, serverCapabilities);
    final ServerChannelInitializer serverChannelInitializer = new ServerChannelInitializer(serverNegotiatorFactory);
    return new NetconfServerDispatcherImpl(serverChannelInitializer, nettyThreadgroup, nettyThreadgroup);
}
Also used : Configuration(org.opendaylight.netconf.test.tool.config.Configuration) SettableOperationProvider(org.opendaylight.netconf.test.tool.customrpc.SettableOperationProvider) KeyPairProvider(org.opendaylight.netconf.shaded.sshd.common.keyprovider.KeyPairProvider) NetconfMonitoringOperationService(org.opendaylight.netconf.test.tool.monitoring.NetconfMonitoringOperationService) LoggerFactory(org.slf4j.LoggerFactory) Collections2(com.google.common.collect.Collections2) ThreadUtils(org.opendaylight.netconf.shaded.sshd.common.util.threads.ThreadUtils) SshProxyServerConfiguration(org.opendaylight.netconf.ssh.SshProxyServerConfiguration) LocalAddress(io.netty.channel.local.LocalAddress) ServerChannelInitializer(org.opendaylight.netconf.impl.ServerChannelInitializer) NetconfMonitoringService(org.opendaylight.netconf.api.monitoring.NetconfMonitoringService) SchemaSourceCache(org.opendaylight.netconf.test.tool.schemacache.SchemaSourceCache) Capability(org.opendaylight.netconf.api.capability.Capability) Module(org.opendaylight.yangtools.yang.model.api.Module) Set(java.util.Set) NetconfServerDispatcherImpl(org.opendaylight.netconf.impl.NetconfServerDispatcherImpl) DefaultOperationsCreator(org.opendaylight.netconf.test.tool.operations.DefaultOperationsCreator) YangModuleCapability(org.opendaylight.netconf.api.capability.YangModuleCapability) InetSocketAddress(java.net.InetSocketAddress) ModuleLike(org.opendaylight.yangtools.yang.model.api.ModuleLike) NioEventLoopGroup(io.netty.channel.nio.NioEventLoopGroup) Executors(java.util.concurrent.Executors) SchemaSourceRepresentation(org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceRepresentation) List(java.util.List) SshProxyServerConfigurationBuilder(org.opendaylight.netconf.ssh.SshProxyServerConfigurationBuilder) Revision(org.opendaylight.yangtools.yang.common.Revision) PotentialSchemaSource(org.opendaylight.yangtools.yang.model.repo.spi.PotentialSchemaSource) HashedWheelTimer(io.netty.util.HashedWheelTimer) AsynchronousChannelGroup(java.nio.channels.AsynchronousChannelGroup) Optional(java.util.Optional) NetconfMonitoringOperationServiceFactory(org.opendaylight.netconf.test.tool.monitoring.NetconfMonitoringOperationServiceFactory) SshProxyServer(org.opendaylight.netconf.ssh.SshProxyServer) SuppressFBWarnings(edu.umd.cs.findbugs.annotations.SuppressFBWarnings) ThreadFactoryBuilder(com.google.common.util.concurrent.ThreadFactoryBuilder) YangTextSchemaSource(org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource) OperationsProvider(org.opendaylight.netconf.test.tool.operations.OperationsProvider) SettableOperationRpcProvider(org.opendaylight.netconf.test.tool.rpchandler.SettableOperationRpcProvider) Submodule(org.opendaylight.yangtools.yang.model.api.Submodule) SharedSchemaRepository(org.opendaylight.yangtools.yang.parser.repo.SharedSchemaRepository) BindException(java.net.BindException) NetconfServerSessionNegotiatorFactory(org.opendaylight.netconf.impl.NetconfServerSessionNegotiatorFactory) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) SessionIdProvider(org.opendaylight.netconf.impl.SessionIdProvider) ScheduledExecutorService(java.util.concurrent.ScheduledExecutorService) ExecutorService(java.util.concurrent.ExecutorService) SchemaSourceProvider(org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceProvider) AggregatedNetconfOperationServiceFactory(org.opendaylight.netconf.impl.osgi.AggregatedNetconfOperationServiceFactory) Logger(org.slf4j.Logger) SourceIdentifier(org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier) TextToIRTransformer(org.opendaylight.yangtools.yang.parser.rfc7950.repo.TextToIRTransformer) IOException(java.io.IOException) EffectiveModelContext(org.opendaylight.yangtools.yang.model.api.EffectiveModelContext) BasicCapability(org.opendaylight.netconf.api.capability.BasicCapability) Inet4Address(java.net.Inet4Address) UnknownHostException(java.net.UnknownHostException) ChannelFuture(io.netty.channel.ChannelFuture) Channel(io.netty.channel.Channel) ExecutionException(java.util.concurrent.ExecutionException) Futures(com.google.common.util.concurrent.Futures) RevisionSourceIdentifier(org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier) Closeable(java.io.Closeable) NetconfOperationServiceFactory(org.opendaylight.netconf.mapping.api.NetconfOperationServiceFactory) FilesystemSchemaSourceCache(org.opendaylight.yangtools.yang.model.repo.fs.FilesystemSchemaSourceCache) SchemaSourceListener(org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceListener) Capability(org.opendaylight.netconf.api.capability.Capability) YangModuleCapability(org.opendaylight.netconf.api.capability.YangModuleCapability) BasicCapability(org.opendaylight.netconf.api.capability.BasicCapability) SessionIdProvider(org.opendaylight.netconf.impl.SessionIdProvider) BasicCapability(org.opendaylight.netconf.api.capability.BasicCapability) YangModuleCapability(org.opendaylight.netconf.api.capability.YangModuleCapability) NetconfServerDispatcherImpl(org.opendaylight.netconf.impl.NetconfServerDispatcherImpl) AggregatedNetconfOperationServiceFactory(org.opendaylight.netconf.impl.osgi.AggregatedNetconfOperationServiceFactory) NetconfOperationServiceFactory(org.opendaylight.netconf.mapping.api.NetconfOperationServiceFactory) NetconfMonitoringService(org.opendaylight.netconf.api.monitoring.NetconfMonitoringService) NetconfServerSessionNegotiatorFactory(org.opendaylight.netconf.impl.NetconfServerSessionNegotiatorFactory) ServerChannelInitializer(org.opendaylight.netconf.impl.ServerChannelInitializer) HashSet(java.util.HashSet)

Aggregations

Collections2 (com.google.common.collect.Collections2)1 Futures (com.google.common.util.concurrent.Futures)1 ThreadFactoryBuilder (com.google.common.util.concurrent.ThreadFactoryBuilder)1 SuppressFBWarnings (edu.umd.cs.findbugs.annotations.SuppressFBWarnings)1 Channel (io.netty.channel.Channel)1 ChannelFuture (io.netty.channel.ChannelFuture)1 LocalAddress (io.netty.channel.local.LocalAddress)1 NioEventLoopGroup (io.netty.channel.nio.NioEventLoopGroup)1 HashedWheelTimer (io.netty.util.HashedWheelTimer)1 Closeable (java.io.Closeable)1 IOException (java.io.IOException)1 BindException (java.net.BindException)1 Inet4Address (java.net.Inet4Address)1 InetSocketAddress (java.net.InetSocketAddress)1 UnknownHostException (java.net.UnknownHostException)1 AsynchronousChannelGroup (java.nio.channels.AsynchronousChannelGroup)1 ArrayList (java.util.ArrayList)1 HashSet (java.util.HashSet)1 List (java.util.List)1 Optional (java.util.Optional)1