diff options
Diffstat (limited to 'src/com/isode/stroke/serializer')
4 files changed, 48 insertions, 34 deletions
diff --git a/src/com/isode/stroke/serializer/payloadserializers/FullPayloadSerializerCollection.java b/src/com/isode/stroke/serializer/payloadserializers/FullPayloadSerializerCollection.java index ee8ad05..5da22b8 100644 --- a/src/com/isode/stroke/serializer/payloadserializers/FullPayloadSerializerCollection.java +++ b/src/com/isode/stroke/serializer/payloadserializers/FullPayloadSerializerCollection.java @@ -66,7 +66,6 @@ public class FullPayloadSerializerCollection extends PayloadSerializerCollection addSerializer(new ForwardedSerializer(this)); addSerializer(new MAMResultSerializer(this)); addSerializer(new MAMQuerySerializer()); - addSerializer(new MAMArchivedSerializer()); } } diff --git a/src/com/isode/stroke/serializer/payloadserializers/MAMArchivedSerializer.java b/src/com/isode/stroke/serializer/payloadserializers/MAMArchivedSerializer.java deleted file mode 100644 index 0a5f1f4..0000000 --- a/src/com/isode/stroke/serializer/payloadserializers/MAMArchivedSerializer.java +++ /dev/null @@ -1,33 +0,0 @@ -/* -* Copyright (c) 2014 Kevin Smith and Remko Tronçon -* All rights reserved. -*/ - -/* -* Copyright (c) 2014, Isode Limited, London, England. -* All rights reserved. -*/ - -package com.isode.stroke.serializer.payloadserializers; - -import com.isode.stroke.elements.MAMArchived; -import com.isode.stroke.serializer.GenericPayloadSerializer; -import com.isode.stroke.serializer.xml.XMLElement; - -public class MAMArchivedSerializer extends GenericPayloadSerializer<MAMArchived> { - public MAMArchivedSerializer() { - super(MAMArchived.class); - } - - protected String serializePayload(MAMArchived payload) { - if (payload == null) { - return ""; - } - - XMLElement element = new XMLElement("archived", "urn:xmpp:mam:0"); - element.setAttribute("by", payload.getBy().toString()); - element.setAttribute("id", payload.getID()); - - return element.serialize(); - } -} diff --git a/src/com/isode/stroke/serializer/payloadserializers/MAMFinSerializer.java b/src/com/isode/stroke/serializer/payloadserializers/MAMFinSerializer.java new file mode 100644 index 0000000..3fcbc1d --- /dev/null +++ b/src/com/isode/stroke/serializer/payloadserializers/MAMFinSerializer.java @@ -0,0 +1,44 @@ +package com.isode.stroke.serializer.payloadserializers; + +import com.isode.stroke.elements.MAMFin; +import com.isode.stroke.elements.ResultSet; +import com.isode.stroke.serializer.GenericPayloadSerializer; +import com.isode.stroke.serializer.xml.XMLElement; +import com.isode.stroke.serializer.xml.XMLRawTextNode; + +public class MAMFinSerializer extends GenericPayloadSerializer<MAMFin> { + + public MAMFinSerializer() { + super(MAMFin.class); + } + + @Override + protected String serializePayload(MAMFin payload) { + if (payload == null) { + return ""; + } + + XMLElement element = new XMLElement("fin","urn:xmpp:mam:0"); + + if (payload.isComplete()) { + element.setAttribute("complete", "true"); + } + if (!payload.isStable()) { + element.setAttribute("stable", "false"); + } + String queryIDValue = payload.getQueryID(); + if (queryIDValue != null) { + element.setAttribute("queryid", queryIDValue); + } + ResultSet resultSet = payload.getResultSet(); + if (resultSet != null) { + ResultSetSerializer resultSetSerialized = new ResultSetSerializer(); + String serializedResultSet = resultSetSerialized.serialize(resultSet); + XMLRawTextNode rawTextNode = new XMLRawTextNode(serializedResultSet); + element.addNode(rawTextNode); + } + + return element.serialize(); + } + +} diff --git a/src/com/isode/stroke/serializer/payloadserializers/MAMQuerySerializer.java b/src/com/isode/stroke/serializer/payloadserializers/MAMQuerySerializer.java index 46cc42c..b027f7c 100644 --- a/src/com/isode/stroke/serializer/payloadserializers/MAMQuerySerializer.java +++ b/src/com/isode/stroke/serializer/payloadserializers/MAMQuerySerializer.java @@ -21,6 +21,10 @@ public class MAMQuerySerializer extends GenericPayloadSerializer<MAMQuery> { if (payload.getQueryID() != null) { element.setAttribute("queryid", payload.getQueryID()); } + + if (payload.getNode() != null) { + element.setAttribute("node", payload.getNode()); + } if (payload.getForm() != null) { element.addNode(new XMLRawTextNode((new FormSerializer()).serialize(payload.getForm()))); |