导航菜单

页面标题

页面副标题

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

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

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


package org.jivesoftware.smackx.workgroup.ext.history;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.provider.IQProvider;
import org.xmlpull.v1.XmlPullParser;

public class AgentChatHistory extends IQ {
    public static final String ELEMENT_NAME = "chat-sessions";
    public static final String NAMESPACE = "http://jivesoftware.com/protocol/workgroup";
    private List<AgentChatSession> agentChatSessions;
    private String agentJID;
    private int maxSessions;
    private long startDate;

    public static class InternalProvider implements IQProvider {
        private AgentChatSession parseChatSetting(XmlPullParser xmlPullParser) throws Exception {
            boolean z = false;
            Date date = null;
            String str = null;
            String str2 = null;
            String str3 = null;
            String str4 = null;
            long j = 0;
            while (!z) {
                int next = xmlPullParser.next();
                if (next == 2 && "date".equals(xmlPullParser.getName())) {
                    date = new Date(Long.valueOf(xmlPullParser.nextText()).longValue());
                } else if (next == 2 && "duration".equals(xmlPullParser.getName())) {
                    j = Long.valueOf(xmlPullParser.nextText()).longValue();
                } else if (next == 2 && "visitorsName".equals(xmlPullParser.getName())) {
                    str = xmlPullParser.nextText();
                } else if (next == 2 && "visitorsEmail".equals(xmlPullParser.getName())) {
                    str2 = xmlPullParser.nextText();
                } else if (next == 2 && "sessionID".equals(xmlPullParser.getName())) {
                    str3 = xmlPullParser.nextText();
                } else if (next == 2 && "question".equals(xmlPullParser.getName())) {
                    str4 = xmlPullParser.nextText();
                } else if (next == 3 && "chat-session".equals(xmlPullParser.getName())) {
                    z = true;
                }
            }
            return new AgentChatSession(date, j, str, str2, str3, str4);
        }

        public IQ parseIQ(XmlPullParser xmlPullParser) throws Exception {
            if (xmlPullParser.getEventType() != 2) {
                throw new IllegalStateException("Parser not in proper position, or bad XML.");
            }
            AgentChatHistory agentChatHistory = new AgentChatHistory();
            boolean z = false;
            while (!z) {
                int next = xmlPullParser.next();
                if (next == 2 && "chat-session".equals(xmlPullParser.getName())) {
                    agentChatHistory.addChatSession(parseChatSetting(xmlPullParser));
                } else if (next == 3 && AgentChatHistory.ELEMENT_NAME.equals(xmlPullParser.getName())) {
                    z = true;
                }
            }
            return agentChatHistory;
        }
    }

    public AgentChatHistory(String str, int i, Date date) {
        this.agentChatSessions = new ArrayList();
        this.agentJID = str;
        this.maxSessions = i;
        this.startDate = date.getTime();
    }

    public void addChatSession(AgentChatSession agentChatSession) {
        this.agentChatSessions.add(agentChatSession);
    }

    public Collection<AgentChatSession> getAgentChatSessions() {
        return this.agentChatSessions;
    }

    public String getChildElementXML() {
        StringBuilder sb = new StringBuilder();
        sb.append("<");
        sb.append(ELEMENT_NAME);
        sb.append(" xmlns=");
        sb.append('\"');
        sb.append("http://jivesoftware.com/protocol/workgroup");
        sb.append('\"');
        sb.append(" agentJID=\"" + this.agentJID + "\"");
        sb.append(" maxSessions=\"" + this.maxSessions + "\"");
        sb.append(" startDate=\"" + this.startDate + "\"");
        sb.append("></");
        sb.append(ELEMENT_NAME);
        sb.append("> ");
        return sb.toString();
    }

    public AgentChatHistory(String str, int i) {
        this.agentChatSessions = new ArrayList();
        this.agentJID = str;
        this.maxSessions = i;
        this.startDate = 0L;
    }

    public AgentChatHistory() {
        this.agentChatSessions = new ArrayList();
    }
}