/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cz.kiwi.cometd.websocket;

import cz.kiwi.cometd.listener.ContentChannelListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.webbitserver.WebSocketConnection;
import org.webbitserver.WebSocketHandler;

/**
 *
 * @author esner
 */
public class WebSocketKiwiHandler implements WebSocketHandler {
    
    final static Logger logger = LoggerFactory.getLogger(WebSocketKiwiHandler.class);

  private WebSocketConnection connection = null;

  public void onOpen(WebSocketConnection connection) {
    this.connection = connection;
    
    if (ContentChannelListener.contentMessage != null) {    //refaktorovat
        this.sendMessage(ContentChannelListener.contentMessage);
    }
    logger.info("Websocket client connected: " + connection.toString()); 
  }

  public void onClose(WebSocketConnection connection) {
      this.connection = null;
      logger.info("Websocket client disconnected: " + connection.toString() + ", version" + connection.version());
  }

  public void onMessage(WebSocketConnection connection, String message) {
    logger.info("Received from client: " + message);  
    //TODO: log to cometd..
  }

  public void onMessage(WebSocketConnection connection, byte[] message) {
      
  }

  public void onPong(WebSocketConnection connection, String message) {

  }
 
  public void sendMessage(String message) {
      if (this.connection != null)
         connection.send(message); 
  }
}
    
