导航菜单

页面标题

页面副标题

95爱播免登录版 v3.1.9 - AgentStatus.java 源代码

正在查看: 95爱播免登录版 v3.1.9 应用的 AgentStatus.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package org.jivesoftware.smackx.workgroup.packet;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.TimeZone;
import org.jivesoftware.smack.packet.PacketExtension;
import org.jivesoftware.smack.provider.PacketExtensionProvider;
import org.xmlpull.v1.XmlPullParser;

public class AgentStatus implements PacketExtension {
    public static final String ELEMENT_NAME = "agent-status";
    public static final String NAMESPACE = "http://jabber.org/protocol/workgroup";
    private static final SimpleDateFormat UTC_FORMAT;
    private List<ChatInfo> currentChats = new ArrayList();
    private int maxChats = -1;
    private String workgroupJID;

    public static class ChatInfo {
        private Date date;
        private String email;
        private String question;
        private String sessionID;
        private String userID;
        private String username;

        public ChatInfo(String str, String str2, Date date, String str3, String str4, String str5) {
            this.sessionID = str;
            this.userID = str2;
            this.date = date;
            this.email = str3;
            this.username = str4;
            this.question = str5;
        }

        public Date getDate() {
            return this.date;
        }

        public String getEmail() {
            return this.email;
        }

        public String getQuestion() {
            return this.question;
        }

        public String getSessionID() {
            return this.sessionID;
        }

        public String getUserID() {
            return this.userID;
        }

        public String getUsername() {
            return this.username;
        }

        public String toXML() {
            StringBuilder sb = new StringBuilder();
            sb.append("<chat ");
            if (this.sessionID != null) {
                sb.append(" sessionID=\"");
                sb.append(this.sessionID);
                sb.append("\"");
            }
            if (this.userID != null) {
                sb.append(" userID=\"");
                sb.append(this.userID);
                sb.append("\"");
            }
            if (this.date != null) {
                sb.append(" startTime=\"");
                sb.append(AgentStatus.UTC_FORMAT.format(this.date));
                sb.append("\"");
            }
            if (this.email != null) {
                sb.append(" email=\"");
                sb.append(this.email);
                sb.append("\"");
            }
            if (this.username != null) {
                sb.append(" username=\"");
                sb.append(this.username);
                sb.append("\"");
            }
            if (this.question != null) {
                sb.append(" question=\"");
                sb.append(this.question);
                sb.append("\"");
            }
            sb.append("/>");
            return sb.toString();
        }
    }

    public static class Provider implements PacketExtensionProvider {
        private ChatInfo parseChatInfo(XmlPullParser xmlPullParser) {
            Date date;
            String attributeValue = xmlPullParser.getAttributeValue("", "sessionID");
            String attributeValue2 = xmlPullParser.getAttributeValue("", "userID");
            try {
                date = AgentStatus.UTC_FORMAT.parse(xmlPullParser.getAttributeValue("", "startTime"));
            } catch (ParseException unused) {
                date = null;
            }
            return new ChatInfo(attributeValue, attributeValue2, date, xmlPullParser.getAttributeValue("", "email"), xmlPullParser.getAttributeValue("", "username"), xmlPullParser.getAttributeValue("", "question"));
        }

        public PacketExtension parseExtension(XmlPullParser xmlPullParser) throws Exception {
            AgentStatus agentStatus = new AgentStatus();
            agentStatus.workgroupJID = xmlPullParser.getAttributeValue("", "jid");
            boolean z = false;
            while (!z) {
                int next = xmlPullParser.next();
                if (next == 2) {
                    if ("chat".equals(xmlPullParser.getName())) {
                        agentStatus.currentChats.add(parseChatInfo(xmlPullParser));
                    } else if ("max-chats".equals(xmlPullParser.getName())) {
                        agentStatus.maxChats = Integer.parseInt(xmlPullParser.nextText());
                    }
                } else if (next == 3 && AgentStatus.ELEMENT_NAME.equals(xmlPullParser.getName())) {
                    z = true;
                }
            }
            return agentStatus;
        }
    }

    static {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd'T'HH:mm:ss");
        UTC_FORMAT = simpleDateFormat;
        simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT+0"));
    }

    AgentStatus() {
    }

    public List<ChatInfo> getCurrentChats() {
        return Collections.unmodifiableList(this.currentChats);
    }

    public String getElementName() {
        return ELEMENT_NAME;
    }

    public int getMaxChats() {
        return this.maxChats;
    }

    public String getNamespace() {
        return "http://jabber.org/protocol/workgroup";
    }

    public String getWorkgroupJID() {
        return this.workgroupJID;
    }

    public String toXML() {
        StringBuilder sb = new StringBuilder();
        sb.append("<");
        sb.append(ELEMENT_NAME);
        sb.append(" xmlns=\"");
        sb.append("http://jabber.org/protocol/workgroup");
        sb.append("\"");
        if (this.workgroupJID != null) {
            sb.append(" jid=\"");
            sb.append(this.workgroupJID);
            sb.append("\"");
        }
        sb.append(">");
        if (this.maxChats != -1) {
            sb.append("<max-chats>");
            sb.append(this.maxChats);
            sb.append("</max-chats>");
        }
        if (!this.currentChats.isEmpty()) {
            sb.append("<current-chats xmlns= \"http://jivesoftware.com/protocol/workgroup\">");
            Iterator<ChatInfo> it = this.currentChats.iterator();
            while (it.hasNext()) {
                sb.append(it.next().toXML());
            }
            sb.append("</current-chats>");
        }
        sb.append("</");
        sb.append(getElementName());
        sb.append("> ");
        return sb.toString();
    }
}