KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > claros > chat > ajax > Roaster


1 package org.claros.chat.ajax;
2
3 import java.io.IOException JavaDoc;
4 import java.io.PrintWriter JavaDoc;
5 import java.util.Iterator JavaDoc;
6
7 import javax.servlet.ServletException JavaDoc;
8 import javax.servlet.http.HttpServlet JavaDoc;
9 import javax.servlet.http.HttpServletRequest JavaDoc;
10 import javax.servlet.http.HttpServletResponse JavaDoc;
11
12 import org.jivesoftware.smack.RosterEntry;
13 import org.jivesoftware.smack.XMPPConnection;
14 import org.jivesoftware.smack.XMPPException;
15 import org.jivesoftware.smack.packet.Presence;
16
17 public class Roaster extends HttpServlet JavaDoc {
18
19     /**
20      *
21      */

22     private static final long serialVersionUID = -7926350754674872925L;
23
24     /**
25      * Constructor of the object.
26      */

27     public Roaster() {
28         super();
29     }
30
31     /**
32      * The doGet method of the servlet. <br>
33      *
34      * This method is called when a form has its tag value method equals to get.
35      *
36      * @param request the request send by the client to the server
37      * @param response the response send by the server to the client
38      * @throws ServletException if an error occurred
39      * @throws IOException if an error occurred
40      */

41     public void doGet(HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response)
42             throws ServletException JavaDoc, IOException JavaDoc {
43         doPost(request, response);
44     }
45
46     /**
47      * The doPost method of the servlet. <br>
48      *
49      * This method is called when a form has its tag value method equals to post.
50      *
51      * @param request the request send by the client to the server
52      * @param response the response send by the server to the client
53      * @throws ServletException if an error occurred
54      * @throws IOException if an error occurred
55      */

56     public void doPost(HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response)
57             throws ServletException JavaDoc, IOException JavaDoc {
58         response.setHeader("Expires","-1");
59         response.setHeader("Pragma","no-cache");
60         response.setHeader("Cache-control","no-cache");
61
62         response.setContentType("text/html");
63         PrintWriter JavaDoc out = response.getWriter();
64
65         XMPPConnection conn = (XMPPConnection)request.getSession().getAttribute("conn");
66
67         String JavaDoc act = request.getParameter("act");
68         if (act.equals("save")) {
69             String JavaDoc buddy = request.getParameter("newBuddy");
70             Presence pr = new Presence(Presence.Type.SUBSCRIBE);
71             pr.setTo(buddy);
72             conn.sendPacket(pr);
73         } else if (act.equals("remove")) {
74             String JavaDoc buddy = request.getParameter("removeBuddy");
75             RosterEntry en = null;
76             for (Iterator JavaDoc i=conn.getRoster().getEntries(); i.hasNext(); ) {
77                 en = (RosterEntry)i.next();
78                 if (en.getUser().equals(buddy)) {
79                     try {
80                         conn.getRoster().removeEntry(en);
81                     } catch (XMPPException e) {
82                         e.printStackTrace();
83                     }
84                     break;
85                 }
86             }
87         }
88         out.println("ok");
89         out.flush();
90         out.close();
91     }
92 }
93
Popular Tags