⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 textpresenceprovider.java

📁 openfire 服务器源码下载
💻 JAVA
字号:
/** * $Revision$ * $Date$ * * Copyright (C) 1999-2005 Jive Software. All rights reserved. * This software is the proprietary information of Jive Software. Use is subject to license terms. */package org.jivesoftware.openfire.plugin.presence;import org.xmpp.packet.Presence;import org.xmpp.packet.JID;import org.xmpp.packet.PacketError;import org.jivesoftware.openfire.XMPPServer;import org.jivesoftware.openfire.user.User;import org.jivesoftware.openfire.user.UserNotFoundException;import org.jivesoftware.util.JiveGlobals;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.PrintWriter;/** * The TextPresenceProvider provides the user's presence status in plain-text format. * The returned text is the last known presence status of the user. If the user is offline * then the unavailable presence will be recreated with the last known presence status. * * @author Greg Unrein */class TextPresenceProvider extends PresenceInfoProvider {    public void sendInfo(HttpServletRequest request, HttpServletResponse response,            Presence presence) throws IOException {        response.setContentType("text/plain");        PrintWriter out = response.getWriter();        if (presence == null) {            // Recreate the unavailable presence with the last known status            JID targetJID = new JID(request.getParameter("jid"));            presence = new Presence(Presence.Type.unavailable);            XMPPServer server = XMPPServer.getInstance();            try {                User user = server.getUserManager().getUser(targetJID.getNode());                String status = server.getPresenceManager().getLastPresenceStatus(user);                if (status != null) {                    presence.setStatus(status);                }                else {                    presence.setStatus(JiveGlobals.getProperty("plugin.presence.unavailable.status",                                                               "Unavailable"));                }            }            catch (UserNotFoundException e) {}            presence.setFrom(targetJID);        }        out.println(presence.getStatus());        out.flush();    }    public void sendUserNotFound(HttpServletRequest request, HttpServletResponse response)            throws IOException {        response.setContentType("text/plain");        PrintWriter out = response.getWriter();        // Send a forbidden presence        Presence presence = new Presence();        presence.setError(PacketError.Condition.forbidden);        try {            presence.setFrom(new JID(request.getParameter("jid")));        }        catch (Exception e) {}        try {            presence.setTo(new JID(request.getParameter("req_jid")));        }        catch (Exception e) {}        out.println(presence.getStatus());        out.flush();    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -