/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cz.kiwi.cometd.websocket.protocol;

import cz.kiwi.cometd.listener.ContentChannelListener;
import java.io.IOException;
import org.eclipse.jetty.util.log.Log;
import org.eclipse.jetty.util.log.Logger;
import org.eclipse.jetty.websocket.WebSocket;

/**
 *
 * @author esner
 */
public class WebSocketKiwiContentProtocol implements WebSocket.OnTextMessage {
    private static final Logger logger = Log.getLogger(WebSocketKiwiContentProtocol.class);
    
    WebSocket.Connection _connection;
 
    public void onOpen(WebSocket.Connection connection) {
      logger.info("CONTENT: opening connection: " + connection.toString());
      
      _connection=connection;
      
      if (ContentChannelListener.contentMessage != null && _connection != null) {    
          try {
              _connection.sendMessage(ContentChannelListener.contentMessage);
                    
          } catch (IOException ex) {
              logger.warn(ex.getMessage()); 
          }
      }
    }
 
    public void onClose(int closeCode, String message)
    {
         logger.info("CONTENT: closing connection: " + closeCode);
         _connection = null;
    }
 
    public void onMessage(String data)
    {
       logger.info("CONTENT: message: " + data); 
    }
    
    public void sendMessage(String message) {
      if (this._connection != null) {
            try {
               _connection.sendMessage(message);
            } catch (IOException ex) {
               logger.warn(ex.getMessage());
            } 
      }
    }
}