正在查看: 95爱播免登录版 v3.1.9 应用的 AgentStatus.java JAVA 源代码文件
本页面展示 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();
}
}