diff options
Diffstat (limited to 'src/com/isode/stroke/serializer/payloadserializers/RosterSerializer.java')
-rw-r--r-- | src/com/isode/stroke/serializer/payloadserializers/RosterSerializer.java | 9 |
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); } |