diff options
author | Tarun Gupta <tarun1995gupta@gmail.com> | 2015-06-19 05:56:31 (GMT) |
---|---|---|
committer | Tarun Gupta <tarun1995gupta@gmail.com> | 2015-06-23 14:55:01 (GMT) |
commit | 27212e007077418d18014286a46723fa26693864 (patch) | |
tree | 7e70d70f760a2d35617ec8d17c7d6b322a8c3c16 /src/com/isode/stroke/serializer | |
parent | bc9dade982d8e8efe66c0fc814dafd8bf079e689 (diff) | |
download | stroke-27212e007077418d18014286a46723fa26693864.zip stroke-27212e007077418d18014286a46723fa26693864.tar.bz2 |
Adds Carbons Element.
Adds:
CarbonsDisable Element, its Parser and Serializer.
CarbonsEnable Element, its Parser and Serializer.
CarbonsPrivate Element, its Parser and Serializer.
CarbonsReceived Element, its Parser and Serializer.
CarbonsSent Element, its Parser and Serializer.
Thread Element, its Parser and Serializer.
License:
This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
Test-Information:
Tests added for CarbonsParser and CarbonsSerializers, which tests all the above functionalities and passes.
Change-Id: I101b1b34c24515d5ba19a995254755af77c4e6e1
Diffstat (limited to 'src/com/isode/stroke/serializer')
7 files changed, 204 insertions, 0 deletions
diff --git a/src/com/isode/stroke/serializer/payloadserializers/CarbonsDisableSerializer.java b/src/com/isode/stroke/serializer/payloadserializers/CarbonsDisableSerializer.java new file mode 100644 index 0000000..94cb014 --- /dev/null +++ b/src/com/isode/stroke/serializer/payloadserializers/CarbonsDisableSerializer.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2015 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. + */ +/* + * Copyright (c) 2015 Tarun Gupta. + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +package com.isode.stroke.serializer.payloadserializers; + +import com.isode.stroke.serializer.GenericPayloadSerializer; +import com.isode.stroke.serializer.xml.XMLTextNode; +import com.isode.stroke.serializer.xml.XMLElement; +import com.isode.stroke.elements.CarbonsDisable; +import com.isode.stroke.base.NotNull; + +public class CarbonsDisableSerializer extends GenericPayloadSerializer<CarbonsDisable> { + + public CarbonsDisableSerializer() { + super(CarbonsDisable.class); + } + + public String serializePayload(CarbonsDisable payload) { + XMLElement element = new XMLElement("disable", "urn:xmpp:carbons:2"); + return element.serialize(); + } +}
\ No newline at end of file diff --git a/src/com/isode/stroke/serializer/payloadserializers/CarbonsEnableSerializer.java b/src/com/isode/stroke/serializer/payloadserializers/CarbonsEnableSerializer.java new file mode 100644 index 0000000..f88e461 --- /dev/null +++ b/src/com/isode/stroke/serializer/payloadserializers/CarbonsEnableSerializer.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2015 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. + */ +/* + * Copyright (c) 2015 Tarun Gupta. + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +package com.isode.stroke.serializer.payloadserializers; + +import com.isode.stroke.serializer.GenericPayloadSerializer; +import com.isode.stroke.serializer.xml.XMLTextNode; +import com.isode.stroke.serializer.xml.XMLElement; +import com.isode.stroke.elements.CarbonsEnable; +import com.isode.stroke.base.NotNull; + +public class CarbonsEnableSerializer extends GenericPayloadSerializer<CarbonsEnable> { + + public CarbonsEnableSerializer() { + super(CarbonsEnable.class); + } + + public String serializePayload(CarbonsEnable payload) { + XMLElement element = new XMLElement("enable", "urn:xmpp:carbons:2"); + return element.serialize(); + } +}
\ No newline at end of file diff --git a/src/com/isode/stroke/serializer/payloadserializers/CarbonsPrivateSerializer.java b/src/com/isode/stroke/serializer/payloadserializers/CarbonsPrivateSerializer.java new file mode 100644 index 0000000..eeb2c3f --- /dev/null +++ b/src/com/isode/stroke/serializer/payloadserializers/CarbonsPrivateSerializer.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2015 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. + */ +/* + * Copyright (c) 2015 Tarun Gupta. + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +package com.isode.stroke.serializer.payloadserializers; + +import com.isode.stroke.serializer.GenericPayloadSerializer; +import com.isode.stroke.serializer.xml.XMLTextNode; +import com.isode.stroke.serializer.xml.XMLElement; +import com.isode.stroke.elements.CarbonsPrivate; +import com.isode.stroke.base.NotNull; + +public class CarbonsPrivateSerializer extends GenericPayloadSerializer<CarbonsPrivate> { + + public CarbonsPrivateSerializer() { + super(CarbonsPrivate.class); + } + + public String serializePayload(CarbonsPrivate payload) { + XMLElement element = new XMLElement("private", "urn:xmpp:carbons:2"); + return element.serialize(); + } +}
\ No newline at end of file diff --git a/src/com/isode/stroke/serializer/payloadserializers/CarbonsReceivedSerializer.java b/src/com/isode/stroke/serializer/payloadserializers/CarbonsReceivedSerializer.java new file mode 100644 index 0000000..aa15010 --- /dev/null +++ b/src/com/isode/stroke/serializer/payloadserializers/CarbonsReceivedSerializer.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2015 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. + */ +/* + * Copyright (c) 2015 Tarun Gupta. + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +package com.isode.stroke.serializer.payloadserializers; + +import com.isode.stroke.serializer.GenericPayloadSerializer; +import com.isode.stroke.serializer.PayloadSerializerCollection; +import com.isode.stroke.serializer.xml.XMLRawTextNode; +import com.isode.stroke.serializer.xml.XMLElement; +import com.isode.stroke.elements.CarbonsReceived; +import com.isode.stroke.base.NotNull; + +public class CarbonsReceivedSerializer extends GenericPayloadSerializer<CarbonsReceived> { + + private PayloadSerializerCollection serializers_; + + public CarbonsReceivedSerializer(PayloadSerializerCollection serializers) { + super(CarbonsReceived.class); + this.serializers_ = serializers; + } + + public String serializePayload(CarbonsReceived received) { + XMLElement element = new XMLElement("received", "urn:xmpp:carbons:2"); + if (received.getForwarded() != null) { + element.addNode(new XMLRawTextNode(new ForwardedSerializer(serializers_).serialize(received.getForwarded()))); + } + return element.serialize(); + } +}
\ No newline at end of file diff --git a/src/com/isode/stroke/serializer/payloadserializers/CarbonsSentSerializer.java b/src/com/isode/stroke/serializer/payloadserializers/CarbonsSentSerializer.java new file mode 100644 index 0000000..ac4b47a --- /dev/null +++ b/src/com/isode/stroke/serializer/payloadserializers/CarbonsSentSerializer.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2015 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. + */ +/* + * Copyright (c) 2015 Tarun Gupta. + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +package com.isode.stroke.serializer.payloadserializers; + +import com.isode.stroke.serializer.GenericPayloadSerializer; +import com.isode.stroke.serializer.PayloadSerializerCollection; +import com.isode.stroke.serializer.xml.XMLRawTextNode; +import com.isode.stroke.serializer.xml.XMLElement; +import com.isode.stroke.elements.CarbonsSent; +import com.isode.stroke.base.NotNull; + +public class CarbonsSentSerializer extends GenericPayloadSerializer<CarbonsSent> { + + private PayloadSerializerCollection serializers_; + + public CarbonsSentSerializer(PayloadSerializerCollection serializers) { + super(CarbonsSent.class); + this.serializers_ = serializers; + } + + public String serializePayload(CarbonsSent sent) { + XMLElement element = new XMLElement("sent", "urn:xmpp:carbons:2"); + if (sent.getForwarded() != null) { + element.addNode(new XMLRawTextNode(new ForwardedSerializer(serializers_).serialize(sent.getForwarded()))); + } + return element.serialize(); + } +}
\ No newline at end of file diff --git a/src/com/isode/stroke/serializer/payloadserializers/FullPayloadSerializerCollection.java b/src/com/isode/stroke/serializer/payloadserializers/FullPayloadSerializerCollection.java index 9ad402c..64b17d1 100644 --- a/src/com/isode/stroke/serializer/payloadserializers/FullPayloadSerializerCollection.java +++ b/src/com/isode/stroke/serializer/payloadserializers/FullPayloadSerializerCollection.java @@ -20,6 +20,11 @@ public class FullPayloadSerializerCollection extends PayloadSerializerCollection addSerializer(new BodySerializer()); addSerializer(new SubjectSerializer()); addSerializer(new ChatStateSerializer()); + addSerializer(new CarbonsDisableSerializer()); + addSerializer(new CarbonsEnableSerializer()); + addSerializer(new CarbonsPrivateSerializer()); + addSerializer(new CarbonsReceivedSerializer(this)); + addSerializer(new CarbonsSentSerializer(this)); //addSerializer(new PrioritySerializer()); addSerializer(new ErrorSerializer()); addSerializer(new InBandRegistrationPayloadSerializer()); @@ -48,7 +53,9 @@ public class FullPayloadSerializerCollection extends PayloadSerializerCollection addSerializer(new StartSessionSerializer()); addSerializer(new SecurityLabelSerializer()); addSerializer(new SecurityLabelsCatalogSerializer()); + //addSerializer(new StreamInitiationFileInfoSerializer()); //addSerializer(new StreamInitiationSerializer()); + addSerializer(new ThreadSerializer()); addSerializer(new BytestreamsSerializer()); addSerializer(new VCardSerializer()); addSerializer(new VCardUpdateSerializer()); diff --git a/src/com/isode/stroke/serializer/payloadserializers/ThreadSerializer.java b/src/com/isode/stroke/serializer/payloadserializers/ThreadSerializer.java new file mode 100644 index 0000000..93c6004 --- /dev/null +++ b/src/com/isode/stroke/serializer/payloadserializers/ThreadSerializer.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2015 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. + */ +/* + * Copyright (c) 2015 Tarun Gupta. + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +package com.isode.stroke.serializer.payloadserializers; + +import com.isode.stroke.serializer.GenericPayloadSerializer; +import com.isode.stroke.serializer.xml.XMLTextNode; +import com.isode.stroke.serializer.xml.XMLElement; +import com.isode.stroke.elements.Thread; +import com.isode.stroke.base.NotNull; + +public class ThreadSerializer extends GenericPayloadSerializer<Thread> { + + public ThreadSerializer() { + super(Thread.class); + } + + public String serializePayload(Thread thread) { + XMLElement threadNode = new XMLElement("thread", "", thread.getText()); + if (thread.getParent().length() != 0) { + threadNode.setAttribute("parent", thread.getParent()); + } + return threadNode.serialize(); + } +}
\ No newline at end of file |