Subscriptions.java :  » Web-Mail » claros-intouch2-2.2-beta » org » claros » chat » ajax » Java Open Source

Java Open Source » Web Mail » claros intouch2 2.2 beta 
claros intouch2 2.2 beta » org » claros » chat » ajax » Subscriptions.java
package org.claros.chat.ajax;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.claros.chat.controllers.TrafficController;
import org.claros.chat.threads.ChatListener;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.packet.Presence;

public class Subscriptions extends HttpServlet {

  /**
   * 
   */
  private static final long serialVersionUID = 7617721914260091646L;

  /**
   * Constructor of the object.
   */
  public Subscriptions() {
    super();
  }

  /**
   * The doGet method of the servlet. <br>
   *
   * This method is called when a form has its tag value method equals to get.
   * 
   * @param request the request send by the client to the server
   * @param response the response send by the server to the client
   * @throws ServletException if an error occurred
   * @throws IOException if an error occurred
   */
  public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

    // get the printwriter and prepare the html
    response.setContentType("text/html");
    response.setHeader("Expires","-1");
    response.setHeader("Pragma","no-cache");
    response.setHeader("Cache-control","no-cache");
    response.setHeader("Content-Type", "text/html; charset=utf-8");

    PrintWriter out = response.getWriter();

    XMPPConnection conn = (XMPPConnection)request.getSession().getAttribute("conn");
    if (conn != null) {
      String xmppUser = conn.getUser();
      if (xmppUser != null) {
        ChatListener listener = TrafficController.getListener(xmppUser);

        if (listener != null) {
          List msgs = listener.getNewSubscriptions();

          if (msgs != null && msgs.size() > 0) {
            Presence prs = null;
            String from = null;

            for (int i=0;i<msgs.size(); i++) {
              prs = (Presence)msgs.get(i);
              from = prs.getFrom();
              out.println("alert('" + from + "');");
              
              // TODO: subscribe onaylama olay
              prs.setType(Presence.Type.subscribed);
              prs.setFrom(listener.getUser());
              prs.setTo(from);
              conn.sendPacket(prs);
            }
          }
        }
      }
    }
    out.flush();
    out.close();
  }

  /**
   * The doPost method of the servlet. <br>
   *
   * This method is called when a form has its tag value method equals to post.
   * 
   * @param request the request send by the client to the server
   * @param response the response send by the server to the client
   * @throws ServletException if an error occurred
   * @throws IOException if an error occurred
   */
  public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

    doGet(request, response);
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.