summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/isode/stroke/serializer/payloadserializers/RosterSerializer.java')
-rw-r--r--src/com/isode/stroke/serializer/payloadserializers/RosterSerializer.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/com/isode/stroke/serializer/payloadserializers/RosterSerializer.java b/src/com/isode/stroke/serializer/payloadserializers/RosterSerializer.java
index b75d217..6ec1e58 100644
--- a/src/com/isode/stroke/serializer/payloadserializers/RosterSerializer.java
+++ b/src/com/isode/stroke/serializer/payloadserializers/RosterSerializer.java
@@ -13,6 +13,7 @@ import com.isode.stroke.elements.RosterPayload;
import com.isode.stroke.serializer.GenericPayloadSerializer;
import com.isode.stroke.serializer.xml.XMLElement;
import com.isode.stroke.serializer.xml.XMLTextNode;
+import com.isode.stroke.serializer.xml.XMLRawTextNode;
/**
* Roster to string.
@@ -26,6 +27,9 @@ public class RosterSerializer extends GenericPayloadSerializer<RosterPayload> {
@Override
protected String serializePayload(RosterPayload roster) {
XMLElement queryElement = new XMLElement("query", "jabber:iq:roster");
+ if (roster.getVersion() != null) {
+ queryElement.setAttribute("ver", roster.getVersion());
+ }
for (RosterItemPayload item : roster.getItems()) {
XMLElement itemElement = new XMLElement("item");
itemElement.setAttribute("jid", item.getJID().toString());
@@ -53,6 +57,11 @@ public class RosterSerializer extends GenericPayloadSerializer<RosterPayload> {
itemElement.addNode(groupElement);
}
+
+ if (item.getUnknownContent().length() != 0) {
+ itemElement.addNode(new XMLRawTextNode(item.getUnknownContent()));
+ }
+
queryElement.addNode(itemElement);
}