aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2017-05-23 14:06:51 +0300
committerGravatar Vitaly Takmazov2017-05-23 15:50:31 +0300
commit4c6f3ba0d539f63a83c18e20ed4219bdef849b81 (patch)
tree184ad8afcaa21ec4eeb7b06bb4f751548e710028 /src
parent237739950a305b13c9f29e3ca25c2e835d563a3f (diff)
drop ugnich json
Diffstat (limited to 'src')
-rw-r--r--src/test/java/com/juick/json/JSONSerializer.java73
-rw-r--r--src/test/java/com/juick/json/MessageSerializer.java142
-rw-r--r--src/test/java/com/juick/json/PlaceSerializer.java73
-rw-r--r--src/test/java/com/juick/json/UserSerializer.java66
-rw-r--r--src/test/java/com/juick/tests/MessageTests.java39
-rw-r--r--src/test/java/com/juick/tests/SerializationTests.java97
-rw-r--r--src/test/java/com/juick/xmpp/extensions/JuickMessage.java173
-rw-r--r--src/test/java/com/juick/xmpp/extensions/JuickUser.java78
8 files changed, 25 insertions, 716 deletions
diff --git a/src/test/java/com/juick/json/JSONSerializer.java b/src/test/java/com/juick/json/JSONSerializer.java
deleted file mode 100644
index 3dc9e04e..00000000
--- a/src/test/java/com/juick/json/JSONSerializer.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
-package com.juick.json;
-
-import java.text.ParseException;
-import java.util.Iterator;
-import java.util.List;
-import org.json.JSONObject;
-
-/**
- *
- * @author vt
- * @param <T>
- */
-public abstract class JSONSerializer<T> {
-
- public enum URIScheme {
- Plain,
- Secure
- }
-
- private URIScheme uriScheme;
-
- public URIScheme getUriScheme() {
- return uriScheme;
- }
-
- public void setUriScheme(URIScheme uriScheme) {
- this.uriScheme = uriScheme;
- }
-
- public JSONSerializer() {
- this.uriScheme = URIScheme.Plain;
- }
-
- /**
- *
- * @param json
- * @return
- */
- public abstract T deserialize(JSONObject json) throws ParseException;
-
- /**
- *
- * @param obj
- * @return
- */
- public abstract JSONObject serialize(T obj);
-
- /**
- *
- * @param objs
- * @return
- */
- public String serializeList(List<T> objs) {
- String json = "[";
-
- Iterator<T> i = objs.iterator();
- while (i.hasNext()) {
- T m = i.next();
- if (json.length() > 1) {
- json += ",";
- }
- json += serialize(m).toString();
- }
-
- json += "]";
- return json;
- }
-}
diff --git a/src/test/java/com/juick/json/MessageSerializer.java b/src/test/java/com/juick/json/MessageSerializer.java
deleted file mode 100644
index 6f0d462f..00000000
--- a/src/test/java/com/juick/json/MessageSerializer.java
+++ /dev/null
@@ -1,142 +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.json;
-
-import com.juick.Message;
-import com.juick.Photo;
-import com.juick.Tag;
-import com.juick.util.DateFormattersHolder;
-import org.apache.commons.lang3.StringUtils;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.text.ParseException;
-import java.util.stream.Collectors;
-
-/**
- * @author Ugnich Anton
- */
-public class MessageSerializer extends JSONSerializer<Message> {
- private final static Logger LOGGER = LoggerFactory.getLogger(MessageSerializer.class);
-
- UserSerializer userSerializer = new UserSerializer();
- PlaceSerializer placeSerializer = new PlaceSerializer();
-
- public MessageSerializer() {
- }
-
- @Override
- public Message deserialize(JSONObject json) throws JSONException, ParseException {
- com.juick.Message jmsg = new com.juick.Message();
- jmsg.setMid(json.getInt("mid"));
- if (json.has("rid")) {
- jmsg.setRid(json.getInt("rid"));
- }
- if (json.has("replyto")) {
- jmsg.setReplyto(json.getInt("replyto"));
- }
-
- jmsg.FriendsOnly = json.has("friendsonly");
- jmsg.ReadOnly = json.has("readonly");
-
- jmsg.setText(json.getString("body").replace("&quot;", "\""));
- jmsg.setUser(userSerializer.deserialize(json.getJSONObject("user")));
-
- jmsg.setDate(DateFormattersHolder.getMessageFormatterInstance().parse(json.getString("timestamp")));
-
- if (json.has("tags")) {
- JSONArray tags = json.getJSONArray("tags");
- for (int n = 0; n < tags.length(); n++) {
- jmsg.getTags().add(new Tag(tags.getString(n).replace("&quot;", "\"")));
- }
- }
-
- if (json.has("replies")) {
- jmsg.setReplies(json.getInt("replies"));
- }
-
- if (json.has("photo")) {
- JSONObject obj = json.getJSONObject("photo");
- Photo photo = new Photo();
- photo.setSmall(obj.getString("small"));
- photo.setMedium(obj.getString("medium"));
- photo.setThumbnail(obj.getString("thumbnail"));
- jmsg.setPhoto(photo);
- }
-
- return jmsg;
- }
-
- @Override
- public JSONObject serialize(Message msg) {
- JSONObject json = new JSONObject();
-
- try {
- if (msg.getMid() > 0) {
- json.put("mid", msg.getMid());
- }
- if (msg.getRid() > 0) {
- json.put("rid", msg.getRid());
- }
- if (msg.getReplyto() > 0) {
- json.put("replyto", msg.getReplyto());
- }
- if (msg.FriendsOnly) {
- json.put("friendsonly", 1);
- }
- if (msg.ReadOnly) {
- json.put("readonly", 1);
- }
- if (msg.getText() != null) {
- json.put("body", msg.getText());
- }
- if (msg.getDate() != null) {
- json.put("timestamp", DateFormattersHolder.getMessageFormatterInstance().format(msg.getDate()));
- }
- if (msg.getUser() != null) {
- json.put("user", userSerializer.serialize(msg.getUser()));
- }
- if (msg.getTags() != null && msg.getTags().size() > 0) {
- json.put("tags", new JSONArray(msg.getTags().stream().map(Tag::getName).collect(Collectors.toList())));
- }
- if (msg.getReplies() > 0) {
- json.put("replies", msg.getReplies());
- }
- if (msg.Place != null) {
- json.put("place", placeSerializer.serialize(msg.Place));
- }
- if (msg.getAttachmentType() != null) {
- json.put("attach", msg.getAttachmentType());
- String fname = msg.getMid() + (msg.getRid() > 0 ? "-" + msg.getRid() : StringUtils.EMPTY) + "." + msg.getAttachmentType();
- JSONObject photo = new JSONObject();
- String protocol = getUriScheme() == URIScheme.Plain ? "http:" : "https:";
- photo.put("thumbnail", protocol + "//i.juick.com/ps/" + fname);
- photo.put("small", protocol + "//i.juick.com/photos-512/" + fname);
- photo.put("medium", protocol + "//i.juick.com/photos-1024/" + fname);
- json.put("photo", photo);
- }
- } catch (JSONException e) {
- LOGGER.error("JSON Exception", e);
- }
-
- return json;
- }
-}
diff --git a/src/test/java/com/juick/json/PlaceSerializer.java b/src/test/java/com/juick/json/PlaceSerializer.java
deleted file mode 100644
index f433f7f0..00000000
--- a/src/test/java/com/juick/json/PlaceSerializer.java
+++ /dev/null
@@ -1,73 +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.json;
-
-import com.juick.Place;
-import org.json.JSONException;
-import org.json.JSONObject;
-
-/**
- *
- * @author Ugnich Anton
- */
-public class PlaceSerializer extends JSONSerializer<Place> {
-
- @Override
- public Place deserialize(JSONObject json) throws JSONException {
- Place jplace = new Place();
-
- jplace.pid = json.getInt("pid");
- jplace.lat = json.getDouble("lat");
- jplace.lon = json.getDouble("lon");
- jplace.name = json.getString("name").replace("&quot;", "\"");
- if (json.has("users")) {
- jplace.users = json.getInt("users");
- }
- if (json.has("messages")) {
- jplace.messages = json.getInt("messages");
- }
- if (json.has("distance")) {
- jplace.distance = json.getInt("distance");
- }
-
- return jplace;
- }
-
- @Override
- public JSONObject serialize(Place place) {
- JSONObject json = new JSONObject();
-
- try {
- if (place.pid > 0) {
- json.put("pid", place.pid);
- }
- if (place.lat >= -90 && place.lat <= 90) {
- json.put("lat", place.lat);
- }
- if (place.lon >= -180 && place.lon <= 180) {
- json.put("lon", place.lon);
- }
- if (place.name != null) {
- json.put("name", place.name);
- }
- } catch (JSONException e) {
- }
-
- return json;
- }
-}
diff --git a/src/test/java/com/juick/json/UserSerializer.java b/src/test/java/com/juick/json/UserSerializer.java
deleted file mode 100644
index 120645a6..00000000
--- a/src/test/java/com/juick/json/UserSerializer.java
+++ /dev/null
@@ -1,66 +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.json;
-
-import com.juick.User;
-import org.json.JSONException;
-import org.json.JSONObject;
-
-/**
- *
- * @author Ugnich Anton
- */
-public class UserSerializer extends JSONSerializer<User> {
-
- @Override
- public User deserialize(JSONObject json) throws JSONException {
- User juser = new User();
- juser.setUid(json.getInt("uid"));
- juser.setName(json.getString("uname"));
- if (json.has("fullname")) {
- juser.setFullName(json.getString("fullname"));
- }
- return juser;
- }
-
- @Override
- public JSONObject serialize(User user) {
- JSONObject json = new JSONObject();
-
- try {
- if (user.getUid() > 0) {
- json.put("uid", user.getUid());
- }
- if (user.getName() != null) {
- json.put("uname", user.getName());
- }
- if (user.getFullName() != null) {
- json.put("fullname", user.getFullName());
- }
- if (user.getJid() != null) {
- json.put("jid", user.getJid());
- }
- if (user.getUnreadCount() > 0) {
- json.put("unreadCount", user.getUnreadCount());
- }
- } catch (JSONException e) {
- }
-
- return json;
- }
-}
diff --git a/src/test/java/com/juick/tests/MessageTests.java b/src/test/java/com/juick/tests/MessageTests.java
index 6bc291e2..89dd440e 100644
--- a/src/test/java/com/juick/tests/MessageTests.java
+++ b/src/test/java/com/juick/tests/MessageTests.java
@@ -1,31 +1,34 @@
package com.juick.tests;
-import static org.junit.Assert.assertEquals;
-
-import com.juick.json.MessageSerializer;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.juick.Message;
import com.juick.util.DateFormattersHolder;
-import com.juick.xmpp.extensions.JuickMessage;
import org.apache.commons.lang3.CharEncoding;
import org.json.JSONObject;
import org.junit.Test;
-
-import com.juick.Message;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.xml.sax.SAXException;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
-import java.io.*;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.StringWriter;
import java.text.ParseException;
import java.util.Date;
+import static org.junit.Assert.assertEquals;
+
public class MessageTests {
@Test
public void messageParserSerializer() throws ParseException, ParserConfigurationException,
- IOException, SAXException {
+ IOException, SAXException, JAXBException {
Message msg = new Message();
msg.parseTags("test test" + (char) 0xA0 + "2 test3");
assertEquals("First tag must be", "test", msg.getTags().get(0).getName());
@@ -33,15 +36,23 @@ public class MessageTests {
assertEquals("Count of tags must be", 3, msg.getTags().size());
Date currentDate = new Date();
msg.setDate(currentDate);
- MessageSerializer serializer = new MessageSerializer();
- JSONObject jsonMessage = serializer.serialize(msg);
+ ObjectMapper serializer = new ObjectMapper();
+ String jsonMessage = serializer.writeValueAsString(msg);
+ JSONObject jsonObject = new JSONObject(jsonMessage);
assertEquals("date should be in timestamp field", DateFormattersHolder.getMessageFormatterInstance().format(currentDate),
- jsonMessage.getString("timestamp"));
- JuickMessage xmppMessage = new JuickMessage(msg);
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+ jsonObject.getString("timestamp"));
+
+ JAXBContext context = JAXBContext
+ .newInstance(Message.class);
+ Marshaller m = context.createMarshaller();
+
+ StringWriter sw = new StringWriter();
+ m.marshal(msg, sw);
+
+ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
- Document doc = db.parse(new ByteArrayInputStream(xmppMessage.toString().getBytes(CharEncoding.UTF_8)));
+ Document doc = db.parse(new ByteArrayInputStream(sw.toString().getBytes(CharEncoding.UTF_8)));
Node juickNode = doc.getElementsByTagName("juick").item(0);
NamedNodeMap attrs = juickNode.getAttributes();
assertEquals("date should be in ts field", DateFormattersHolder.getMessageFormatterInstance().format(currentDate),
diff --git a/src/test/java/com/juick/tests/SerializationTests.java b/src/test/java/com/juick/tests/SerializationTests.java
deleted file mode 100644
index 022a1bc7..00000000
--- a/src/test/java/com/juick/tests/SerializationTests.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package com.juick.tests;
-
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.juick.Message;
-import com.juick.Tag;
-import com.juick.User;
-import com.juick.json.MessageSerializer;
-import com.juick.xmpp.extensions.JuickMessage;
-import org.json.JSONObject;
-import org.junit.Test;
-import org.w3c.dom.Document;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import java.io.IOException;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.TimeZone;
-
-import static org.junit.Assert.assertEquals;
-
-public class SerializationTests {
- @Test
- public void DateTest() {
- Message msg = new Message();
- SimpleDateFormat df= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- df.setTimeZone(TimeZone.getTimeZone("UTC"));
- try {
- msg.setDate(df.parse("2015-01-01 05:02:10"));
- MessageSerializer serializer = new MessageSerializer();
- String json = serializer.serialize(msg).toString();
- assertEquals("{\"timestamp\":\"2015-01-01 05:02:10\"}", json);
- } catch (ParseException e) {
- e.printStackTrace();
- }
- }
- @Test
- public void serializersTest() throws IOException, JAXBException, ParserConfigurationException, SAXException {
- User user = new User();
- user.setName("ugnich");
- user.setUid(1);
- user.setFullName("Anton Ugnich");
- ObjectMapper mapper = new ObjectMapper();
- mapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY);
- mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
- mapper.setSerializationInclusion(JsonInclude.Include.NON_DEFAULT);
- Message msg = new Message();
- msg.setMid(1);
- msg.setUser(user);
- msg.setText("yo");
- msg.setDate(new Date());
- msg.getTags().add(new Tag("test"));
- msg.getTags().add(new Tag("json"));
- msg.setAttachmentType("png");
- MessageSerializer messageSerializer = new MessageSerializer();
- JSONObject handmadeJsonMessage = messageSerializer.serialize(msg);
- Message jacksonMessage = mapper.readValue(handmadeJsonMessage.toString(), Message.class);
- assertEquals("jackson should deserialize ugnich json", msg, jacksonMessage);
- String jacksonStringMessage = mapper.writeValueAsString(jacksonMessage);
- assertEquals("jackson message should have an attachment url",
- "http://i.juick.com/photos-1024/1.png", jacksonMessage.getAttachmentURL());
- assertEquals("jackson message should have image previews",
- "http://i.juick.com/photos-1024/1.png", jacksonMessage.getPhoto().getMedium());
- JSONObject jacksonJsonMessage = new JSONObject(jacksonStringMessage);
- assertEquals("jackson should serialize as ugnich", handmadeJsonMessage.length(), jacksonJsonMessage.length());
-
- JuickMessage jmsg = new JuickMessage(msg);
- String handmadeXml = jmsg.toString();
-
- JAXBContext messageContext = JAXBContext.newInstance(Message.class);
- Unmarshaller unmarshaller = messageContext.createUnmarshaller();
- Message jaxbMessage = (Message) unmarshaller.unmarshal(new StringReader(handmadeXml));
- assertEquals("jaxb should unmarshal ugnich xml", msg, jaxbMessage);
- StringWriter sw = new StringWriter();
- Marshaller messageMarshaller = messageContext.createMarshaller();
- messageMarshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE);
- messageMarshaller.marshal(msg, sw);
- String xmlString = sw.toString();
- DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
- Document doc = dBuilder.parse(new InputSource(new StringReader(xmlString)));
- assertEquals("jaxb should marshal as ugnich", 4, doc.getDocumentElement().getChildNodes().getLength());
- assertEquals("jaxb should marshal as ugnich", 8, doc.getDocumentElement().getAttributes().getLength());
- assertEquals("xmpp message should have an attach attribute", "png", doc.getDocumentElement().getAttribute("attach"));
- }
-} \ No newline at end of file
diff --git a/src/test/java/com/juick/xmpp/extensions/JuickMessage.java b/src/test/java/com/juick/xmpp/extensions/JuickMessage.java
deleted file mode 100644
index ae7fc89c..00000000
--- a/src/test/java/com/juick/xmpp/extensions/JuickMessage.java
+++ /dev/null
@@ -1,173 +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.Tag;
-import com.juick.util.DateFormattersHolder;
-import com.juick.xmpp.StanzaChild;
-import com.juick.xmpp.utils.XmlUtils;
-import org.xmlpull.v1.XmlPullParser;
-import org.xmlpull.v1.XmlPullParserException;
-
-import java.io.IOException;
-import java.text.ParseException;
-
-/**
- * @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";
-
- public JuickMessage() {
- }
-
- public JuickMessage(com.juick.Message msg) {
- super(msg);
- }
-
- @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.setReplyto(Integer.parseInt(sReplyTo));
- }
- final String sPrivacy = parser.getAttributeValue(null, "privacy");
- if (sPrivacy != null) {
- jmsg.setPrivacy(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 ts = parser.getAttributeValue(null, "ts");
- if (ts != null) {
- jmsg.setDate(DateFormattersHolder.getMessageFormatterInstance().parse(ts));
- }
- jmsg.setAttachmentType(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.getTags().add(new Tag(XmlUtils.getTagText(parser)));
- } else {
- XmlUtils.skip(parser);
- }
- }
- return jmsg;
- }
-
- @Override
- public String toString() {
- StringBuilder builder = new StringBuilder();
-
- builder.append("<").append(TagName).append(" xmlns=\"").append(XMLNS).append("\"");
-
- if (getMid() > 0)
- builder.append(" mid=\"").append(getMid()).append("\"");
-
- if (getRid() > 0)
- builder.append(" rid=\"").append(getRid()).append("\"");
-
- if (getReplyto() > 0)
- builder.append(" replyto=\"").append(getReplyto()).append("\"");
-
- builder.append(" privacy=\"").append(getPrivacy()).append("\"");
-
- if (FriendsOnly)
- builder.append(" friendsonly=\"1\"");
-
- if (ReadOnly)
- builder.append(" readonly=\"1\"");
-
- if (getDate() != null)
- builder.append(" ts=\"")
- .append(DateFormattersHolder.getMessageFormatterInstance().format(getDate()))
- .append("\"");
-
- if (getAttachmentType() != null)
- builder.append(" attach=\"").append(getAttachmentType()).append("\"");
-
- builder.append(">");
-
- if (getUser() != null)
- builder.append(JuickUser.toString(getUser()));
-
- if (getText() != null)
- builder.append("<body>").append(XmlUtils.escape(getText())).append("</body>");
-
- for (com.juick.Tag tag : getTags())
- builder.append("<tag>").append(XmlUtils.escape(tag.getName())).append("</tag>");
-
- builder.append("</").append(TagName).append(">");
-
- return builder.toString();
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj == this)
- return true;
-
- 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 == this)
- return 0;
-
- if (!(obj instanceof JuickMessage))
- throw new ClassCastException();
-
- JuickMessage jmsg = (JuickMessage) obj;
- int cmp = Integer.compare(jmsg.getMid(), getMid());
- if (cmp == 0)
- cmp = Integer.compare(getRid(), jmsg.getRid());
-
- return cmp;
- }
-}
diff --git a/src/test/java/com/juick/xmpp/extensions/JuickUser.java b/src/test/java/com/juick/xmpp/extensions/JuickUser.java
deleted file mode 100644
index 08e38c41..00000000
--- a/src/test/java/com/juick/xmpp/extensions/JuickUser.java
+++ /dev/null
@@ -1,78 +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.StanzaChild;
-import com.juick.xmpp.utils.XmlUtils;
-import org.xmlpull.v1.XmlPullParser;
-import org.xmlpull.v1.XmlPullParserException;
-
-import java.io.IOException;
-
-/**
- * @author Ugnich Anton
- */
-public class JuickUser extends com.juick.User implements StanzaChild {
- public final static String XMLNS = "http://juick.com/user";
- public final static String TagName = "user";
-
- public JuickUser() {
- }
-
- public JuickUser(com.juick.User user) {
- super(user);
- }
-
- @Override
- public String getXMLNS() {
- return XMLNS;
- }
-
- @Override
- public JuickUser parse(final XmlPullParser parser) throws XmlPullParserException, IOException {
- JuickUser juser = new JuickUser();
- String strUID = parser.getAttributeValue(null, "uid");
- if (strUID != null) {
- juser.setUid(Integer.parseInt(strUID));
- }
- juser.setName(parser.getAttributeValue(null, "uname"));
- XmlUtils.skip(parser);
- return juser;
- }
-
- public static String toString(com.juick.User user) {
- StringBuilder builder = new StringBuilder();
-
- builder.append("<").append(TagName).append(" xmlns='").append(XMLNS).append("'");
-
- if (user.getUid() > 0)
- builder.append(" uid='").append(user.getUid()).append("'");
-
- if (user.getName() != null && user.getName().length() > 0)
- builder.append(" uname='").append(XmlUtils.escape(user.getName())).append("'");
-
- builder.append("/>");
-
- return builder.toString();
- }
-
- @Override
- public String toString() {
- return toString(this);
- }
-}