X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fnetconf-util%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Futil%2Fhandler%2Fssh%2FSshHandler.java;h=49d5a05ae22a6939f992c4637f123f550fb3a4e7;hb=8f15fef884bc20239625850c4a2fcdaf36395526;hp=b911989c646b64b139dd4a678cbd0c8adc03596d;hpb=7d2f3fcb2fb4192434900449baf527d7590887fc;p=controller.git diff --git a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/handler/ssh/SshHandler.java b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/handler/ssh/SshHandler.java index b911989c64..49d5a05ae2 100644 --- a/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/handler/ssh/SshHandler.java +++ b/opendaylight/netconf/netconf-util/src/main/java/org/opendaylight/controller/netconf/util/handler/ssh/SshHandler.java @@ -8,13 +8,16 @@ package org.opendaylight.controller.netconf.util.handler.ssh; +import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelFutureListener; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelOutboundHandlerAdapter; import io.netty.channel.ChannelPromise; + import java.io.IOException; import java.net.SocketAddress; + import org.opendaylight.controller.netconf.util.handler.ssh.authentication.AuthenticationHandler; import org.opendaylight.controller.netconf.util.handler.ssh.client.Invoker; import org.opendaylight.controller.netconf.util.handler.ssh.client.SshClient; @@ -26,6 +29,8 @@ import org.opendaylight.controller.netconf.util.handler.ssh.virtualsocket.Virtua * stops at instance of this class. All downstream events are handed of to wrapped {@link org.opendaylight.controller.netconf.util.handler.ssh.client.SshClientAdapter}; */ public class SshHandler extends ChannelOutboundHandlerAdapter { + private static final String SOCKET = "socket"; + private final VirtualSocket virtualSocket = new VirtualSocket(); private final SshClientAdapter sshClientAdapter; @@ -36,39 +41,39 @@ public class SshHandler extends ChannelOutboundHandlerAdapter { @Override public void handlerAdded(ChannelHandlerContext ctx){ - if (ctx.channel().pipeline().get("socket") == null) { - ctx.channel().pipeline().addFirst("socket", virtualSocket); + if (ctx.channel().pipeline().get(SOCKET) == null) { + ctx.channel().pipeline().addFirst(SOCKET, virtualSocket); } } @Override - public void handlerRemoved(ChannelHandlerContext ctx) throws Exception { - if (ctx.channel().pipeline().get("socket") != null) { - ctx.channel().pipeline().remove("socket"); + public void handlerRemoved(ChannelHandlerContext ctx) { + if (ctx.channel().pipeline().get(SOCKET) != null) { + ctx.channel().pipeline().remove(SOCKET); } } @Override - public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) throws Exception { - this.sshClientAdapter.write((String) msg); + public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) throws IOException { + this.sshClientAdapter.write((ByteBuf) msg); } @Override public void connect(final ChannelHandlerContext ctx, SocketAddress remoteAddress, SocketAddress localAddress, - ChannelPromise promise) throws Exception { + ChannelPromise promise) { ctx.connect(remoteAddress, localAddress, promise); promise.addListener(new ChannelFutureListener() { - public void operationComplete(ChannelFuture channelFuture) throws Exception { + public void operationComplete(ChannelFuture channelFuture) { sshClientAdapter.start(ctx); }} ); } @Override - public void disconnect(ChannelHandlerContext ctx, ChannelPromise promise) throws Exception { + public void disconnect(ChannelHandlerContext ctx, ChannelPromise promise) { sshClientAdapter.stop(promise); } }