diff options
Diffstat (limited to 'src/main/java/com/juick/xmpp/extensions/JuickMessage.java')
-rw-r--r-- | src/main/java/com/juick/xmpp/extensions/JuickMessage.java | 186 |
1 files changed, 0 insertions, 186 deletions
diff --git a/src/main/java/com/juick/xmpp/extensions/JuickMessage.java b/src/main/java/com/juick/xmpp/extensions/JuickMessage.java deleted file mode 100644 index ac45f3d2..00000000 --- a/src/main/java/com/juick/xmpp/extensions/JuickMessage.java +++ /dev/null @@ -1,186 +0,0 @@ -/* - * Juick - * Copyright (C) 2008-2011, Ugnich Anton - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package com.juick.xmpp.extensions; - -import com.juick.xmpp.utils.XmlUtils; -import com.juick.xmpp.*; -import java.io.IOException; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.TimeZone; - -import org.xmlpull.v1.XmlPullParser; -import org.xmlpull.v1.XmlPullParserException; - -/** - * - * @author Ugnich Anton - */ -public class JuickMessage extends com.juick.Message implements StanzaChild { - - public final static String XMLNS = "http://juick.com/message"; - public final static String TagName = "juick"; - - private SimpleDateFormat df; - - public JuickMessage() { - df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - df.setTimeZone(TimeZone.getTimeZone("UTC")); - } - - public JuickMessage(com.juick.Message msg) { - super(msg); - df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - df.setTimeZone(TimeZone.getTimeZone("UTC")); - } - - @Override - public String getXMLNS() { - return XMLNS; - } - - @Override - public JuickMessage parse(XmlPullParser parser) throws XmlPullParserException, IOException, ParseException { - JuickMessage jmsg = new JuickMessage(); - - final String sMID = parser.getAttributeValue(null, "mid"); - if (sMID != null) { - jmsg.setMID(Integer.parseInt(sMID)); - } - final String sRID = parser.getAttributeValue(null, "rid"); - if (sRID != null) { - jmsg.setRID(Integer.parseInt(sRID)); - } - final String sReplyTo = parser.getAttributeValue(null, "replyto"); - if (sReplyTo != null) { - jmsg.ReplyTo = Integer.parseInt(sReplyTo); - } - final String sPrivacy = parser.getAttributeValue(null, "privacy"); - if (sPrivacy != null) { - jmsg.Privacy = Integer.parseInt(sPrivacy); - } - final String sFriendsOnly = parser.getAttributeValue(null, "friendsonly"); - if (sFriendsOnly != null) { - jmsg.FriendsOnly = true; - } - final String sReadOnly = parser.getAttributeValue(null, "readonly"); - if (sReadOnly != null) { - jmsg.ReadOnly = true; - } - - String timestampString = parser.getAttributeValue(null, "ts"); - if (timestampString != null) { - jmsg.setDate(df.parse(timestampString)); - } - jmsg.AttachmentType = parser.getAttributeValue(null, "attach"); - - while (parser.next() == XmlPullParser.START_TAG) { - final String tag = parser.getName(); - final String xmlns = parser.getNamespace(); - if (tag.equals("body")) { - jmsg.setText(XmlUtils.getTagText(parser)); - } else if (tag.equals(JuickUser.TagName) && xmlns != null && xmlns.equals(JuickUser.XMLNS)) { - jmsg.setUser(new JuickUser().parse(parser)); - } else if (tag.equals("tag")) { - jmsg.Tags.add(XmlUtils.getTagText(parser)); - } else { - XmlUtils.skip(parser); - } - } - return jmsg; - } - - @Override - public String toString() { - String ret = ""; - - ret = "<" + TagName + " xmlns=\"" + XMLNS + "\""; - if (getMID() > 0) { - ret += " mid=\"" + getMID() + "\""; - } - if (getRID() > 0) { - ret += " rid=\"" + getRID() + "\""; - } - if (ReplyTo > 0) { - ret += " replyto=\"" + ReplyTo + "\""; - } - ret += " privacy=\"" + Privacy + "\""; - if (FriendsOnly) { - ret += " friendsonly=\"1\""; - } - if (ReadOnly) { - ret += " readonly=\"1\""; - } - if (getDate() != null) { - ret += " ts=\"" + df.format(getDate()) + "\""; - } - if (AttachmentType != null) { - ret += " attach=\"" + AttachmentType + "\""; - } - ret += ">"; - if (getUser() != null) { - ret += JuickUser.toString(getUser()); - } - if (getText() != null) { - ret += "<body>" + XmlUtils.escape(getText()) + "</body>"; - } - if (!Tags.isEmpty()) { - for (String Tag : Tags) { - ret += "<tag>" + XmlUtils.escape(Tag) + "</tag>"; - } - } - ret += "</" + TagName + ">"; - - return ret; - } - - @Override - public boolean equals(Object obj) { - if (!(obj instanceof JuickMessage)) { - return false; - } - JuickMessage jmsg = (JuickMessage) obj; - return (this.getMID() == jmsg.getMID() && this.getRID() == jmsg.getRID()); - } - - @Override - public int compareTo(Object obj) throws ClassCastException { - if (!(obj instanceof JuickMessage)) { - throw new ClassCastException(); - } - JuickMessage jmsg = (JuickMessage) obj; - - if (this.getMID() != jmsg.getMID()) { - if (this.getMID() > jmsg.getMID()) { - return -1; - } else { - return 1; - } - } - - if (this.getRID() != jmsg.getRID()) { - if (this.getRID() < jmsg.getRID()) { - return -1; - } else { - return 1; - } - } - - return 0; - } -} |