Kill websocket-client
[yangtools.git] / websocket / websocket-client / src / main / java / org / opendaylight / yangtools / websocket / client / WebSocketIClient.java
diff --git a/websocket/websocket-client/src/main/java/org/opendaylight/yangtools/websocket/client/WebSocketIClient.java b/websocket/websocket-client/src/main/java/org/opendaylight/yangtools/websocket/client/WebSocketIClient.java
deleted file mode 100644 (file)
index e113fb6..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.yangtools.websocket.client;
-
-import com.google.common.base.Preconditions;
-import io.netty.bootstrap.Bootstrap;
-import io.netty.buffer.Unpooled;
-import io.netty.channel.Channel;
-import io.netty.channel.ChannelInitializer;
-import io.netty.channel.ChannelPipeline;
-import io.netty.channel.EventLoop;
-import io.netty.channel.EventLoopGroup;
-import io.netty.channel.nio.NioEventLoopGroup;
-import io.netty.channel.socket.SocketChannel;
-import io.netty.channel.socket.nio.NioSocketChannel;
-import io.netty.handler.codec.http.HttpClientCodec;
-import io.netty.handler.codec.http.HttpObjectAggregator;
-import io.netty.handler.codec.http.websocketx.CloseWebSocketFrame;
-import io.netty.handler.codec.http.websocketx.PingWebSocketFrame;
-import io.netty.handler.codec.http.websocketx.TextWebSocketFrame;
-import io.netty.handler.codec.http.websocketx.WebSocketClientHandshakerFactory;
-import io.netty.handler.codec.http.websocketx.WebSocketVersion;
-import java.net.URI;
-import org.opendaylight.yangtools.websocket.client.callback.ClientMessageCallback;
-
-/**
- * Implementation of web socket client that supports WS and HTTP protocols.
- *
- * @deprecated This code is deprecated without replacement.
- */
-@Deprecated
-public class WebSocketIClient {
-    private final EventLoopGroup group = new NioEventLoopGroup();
-    private final Bootstrap bootstrap = new Bootstrap();
-    private final WebSocketClientHandler clientHandler;
-    private final URI uri;
-    private Channel clientChannel;
-
-    /**
-     * Creates new web socket client
-     *
-     * @param uri
-     *            URI
-     * @param clientMessageCallback
-     *            ClientMessageCallback
-     */
-    public WebSocketIClient(final URI uri, final ClientMessageCallback clientMessageCallback) {
-        this.uri = Preconditions.checkNotNull(uri);
-        clientHandler = new WebSocketClientHandler(
-                WebSocketClientHandshakerFactory.newHandshaker(uri, WebSocketVersion.V13, null, false, null),
-                clientMessageCallback); // last null could be replaced with DefaultHttpHeaders
-        initialize();
-    }
-
-    /**
-     * Initializes {@link Channel} one when it was registered to its
-     * {@link EventLoop}.
-     */
-    private void initialize() {
-
-        String protocol = uri.getScheme();
-        if (!"ws".equals(protocol) && !"http".equals(protocol)) {
-            throw new IllegalArgumentException("Unsupported protocol: "
-                    + protocol);
-        }
-
-        bootstrap.group(group).channel(NioSocketChannel.class)
-                .handler(new ChannelInitializer<SocketChannel>() {
-                    @Override
-                    public void initChannel(final SocketChannel ch) {
-                        ChannelPipeline pipeline = ch.pipeline();
-                        pipeline.addLast("http-codec", new HttpClientCodec());
-                        pipeline.addLast("aggregator",
-                                new HttpObjectAggregator(8192));
-                        pipeline.addLast("ws-handler", clientHandler);
-                    }
-                });
-    }
-
-    /**
-     * Makes the connection attempt and notifies when the handshake process
-     * succeeds or fail.
-     */
-    public void connect() throws InterruptedException {
-        clientChannel = bootstrap.connect(uri.getHost(), uri.getPort()).sync()
-                .channel();
-        clientHandler.handshakeFuture().sync();
-    }
-
-    /**
-     * Writes a String message through the
-     * {@link ChannelPipeline} and request to actual {@link Channel#flush()} to flush
-     * all pending data to the actual transport.
-     *
-     * @param message
-     *            a message to write
-     */
-    public void writeAndFlush(final String message) {
-        clientChannel.writeAndFlush(new TextWebSocketFrame(message));
-    }
-
-    /**
-     * Writes a Object message through the
-     * {@link ChannelPipeline} and request to actual {@link Channel#flush()} to flush
-     * all pending data to the actual transport.
-     *
-     * @param message
-     *            a message to write
-     */
-    public void writeAndFlush(final Object message) {
-        clientChannel.writeAndFlush(message);
-    }
-
-    /**
-     * Writes {@link PingWebSocketFrame}
-     * through the {@link ChannelPipeline} and request to actual
-     * {@link Channel#flush()} to flush all pending data to the actual transport.
-     */
-    public void ping() {
-        clientChannel.writeAndFlush(new PingWebSocketFrame(Unpooled
-                .copiedBuffer(new byte[] { 1, 2, 3, 4, 5, 6 })));
-    }
-
-    /**
-     * Closes the connection when the server responds to the
-     * {@link CloseWebSocketFrame}.
-     */
-    public void close() throws InterruptedException {
-        clientChannel.writeAndFlush(new CloseWebSocketFrame());
-        clientChannel.closeFuture().sync();
-        group.shutdownGracefully();
-    }
-
-}