X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fnetconf-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fimpl%2Fosgi%2FNetconfImplActivator.java;h=1d18f063bcc062ed64fb077d7cc34d07369a8d2e;hp=1a4888ba93b69081ab0d584a1730c7b74d84ed37;hb=b7b0bfb90e09d2838fa6717a3cfbc85b93e67e14;hpb=965cf17258ded9f890e84023195bdcc5d499ac8b diff --git a/opendaylight/netconf/netconf-impl/src/main/java/org/opendaylight/controller/netconf/impl/osgi/NetconfImplActivator.java b/opendaylight/netconf/netconf-impl/src/main/java/org/opendaylight/controller/netconf/impl/osgi/NetconfImplActivator.java index 1a4888ba93..1d18f063bc 100644 --- a/opendaylight/netconf/netconf-impl/src/main/java/org/opendaylight/controller/netconf/impl/osgi/NetconfImplActivator.java +++ b/opendaylight/netconf/netconf-impl/src/main/java/org/opendaylight/controller/netconf/impl/osgi/NetconfImplActivator.java @@ -7,51 +7,43 @@ */ package org.opendaylight.controller.netconf.impl.osgi; -import com.google.common.base.Optional; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.util.HashedWheelTimer; +import java.lang.management.ManagementFactory; +import java.net.InetSocketAddress; import org.opendaylight.controller.netconf.impl.DefaultCommitNotificationProducer; import org.opendaylight.controller.netconf.impl.NetconfServerDispatcher; import org.opendaylight.controller.netconf.impl.NetconfServerSessionListenerFactory; import org.opendaylight.controller.netconf.impl.NetconfServerSessionNegotiatorFactory; import org.opendaylight.controller.netconf.impl.SessionIdProvider; import org.opendaylight.controller.netconf.util.osgi.NetconfConfigUtil; -import org.opendaylight.controller.netconf.util.osgi.NetconfConfigUtil.TLSConfiguration; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.net.ssl.SSLContext; -import java.lang.management.ManagementFactory; -import java.net.InetSocketAddress; - public class NetconfImplActivator implements BundleActivator { private static final Logger logger = LoggerFactory.getLogger(NetconfImplActivator.class); - private Optional maybeTCPAddress; - private Optional maybeTLSConfiguration; - private NetconfOperationServiceFactoryTracker factoriesTracker; private DefaultCommitNotificationProducer commitNot; private NetconfServerDispatcher dispatch; private NioEventLoopGroup eventLoopGroup; + private HashedWheelTimer timer; @Override public void start(final BundleContext context) throws Exception { - maybeTCPAddress = NetconfConfigUtil.extractTCPNetconfAddress(context); - maybeTLSConfiguration = NetconfConfigUtil.extractTLSConfiguration(context); - if (maybeTCPAddress.isPresent() == false && maybeTLSConfiguration.isPresent() == false) { - throw new IllegalStateException("TCP nor TLS is configured, netconf not available."); - } + InetSocketAddress address = NetconfConfigUtil.extractTCPNetconfAddress(context, "TCP is not configured, netconf not available."); + NetconfOperationServiceFactoryListenerImpl factoriesListener = new NetconfOperationServiceFactoryListenerImpl(); factoriesTracker = new NetconfOperationServiceFactoryTracker(context, factoriesListener); factoriesTracker.open(); SessionIdProvider idProvider = new SessionIdProvider(); + timer = new HashedWheelTimer(); NetconfServerSessionNegotiatorFactory serverNegotiatorFactory = new NetconfServerSessionNegotiatorFactory( - new HashedWheelTimer(), factoriesListener, idProvider); + timer, factoriesListener, idProvider); commitNot = new DefaultCommitNotificationProducer(ManagementFactory.getPlatformMBeanServer()); @@ -60,26 +52,13 @@ public class NetconfImplActivator implements BundleActivator { eventLoopGroup = new NioEventLoopGroup(); - if (maybeTCPAddress.isPresent()) { - Optional maybeSSLContext = Optional.absent(); - InetSocketAddress address = maybeTCPAddress.get(); - NetconfServerDispatcher.ServerSslChannelInitializer serverChannelInitializer = new NetconfServerDispatcher.ServerSslChannelInitializer( - maybeSSLContext, serverNegotiatorFactory, listenerFactory); - dispatch = new NetconfServerDispatcher(serverChannelInitializer, eventLoopGroup, eventLoopGroup); + NetconfServerDispatcher.ServerChannelInitializer serverChannelInitializer = new NetconfServerDispatcher.ServerChannelInitializer( + serverNegotiatorFactory, listenerFactory); + dispatch = new NetconfServerDispatcher(serverChannelInitializer, eventLoopGroup, eventLoopGroup); - logger.info("Starting TCP netconf server at {}", address); - dispatch.createServer(address); - } - if (maybeTLSConfiguration.isPresent()) { - Optional maybeSSLContext = Optional.of(maybeTLSConfiguration.get().getSslContext()); - InetSocketAddress address = maybeTLSConfiguration.get().getAddress(); - NetconfServerDispatcher.ServerSslChannelInitializer serverChannelInitializer = new NetconfServerDispatcher.ServerSslChannelInitializer( - maybeSSLContext, serverNegotiatorFactory, listenerFactory); - dispatch = new NetconfServerDispatcher(serverChannelInitializer, eventLoopGroup, eventLoopGroup); + logger.info("Starting TCP netconf server at {}", address); + dispatch.createServer(address); - logger.info("Starting TLS netconf server at {}", address); - dispatch.createServer(address); - } } @Override @@ -88,5 +67,6 @@ public class NetconfImplActivator implements BundleActivator { commitNot.close(); eventLoopGroup.shutdownGracefully(); + timer.stop(); } }