diff options
author | Tarun Gupta <tarun1995gupta@gmail.com> | 2015-06-08 19:16:57 (GMT) |
---|---|---|
committer | Tarun Gupta <tarun1995gupta@gmail.com> | 2015-06-14 13:30:22 (GMT) |
commit | 9518f8b9d6924e95e4ad839f40866560bd7a7878 (patch) | |
tree | 6d7532fd1628c2f3e0e71b4a10fc14bec8c49a29 /src/com/isode/stroke/serializer | |
parent | afaf2c8e7a9276bc4a61337357092c49e6817159 (diff) | |
download | stroke-9518f8b9d6924e95e4ad839f40866560bd7a7878.zip stroke-9518f8b9d6924e95e4ad839f40866560bd7a7878.tar.bz2 |
Add the Bytestreams Element.
Adds Bytestreams Element, Parser and Serializer.
License:
This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
Test-Information:
Tests added for both Parser and Serializer, which passes.
Change-Id: Ia623f8fcd628d7b34f7f8f935602c6c4c0ffaac1
Diffstat (limited to 'src/com/isode/stroke/serializer')
-rw-r--r-- | src/com/isode/stroke/serializer/payloadserializers/BytestreamsSerializer.java | 52 | ||||
-rw-r--r-- | src/com/isode/stroke/serializer/payloadserializers/FullPayloadSerializerCollection.java | 2 |
2 files changed, 53 insertions, 1 deletions
diff --git a/src/com/isode/stroke/serializer/payloadserializers/BytestreamsSerializer.java b/src/com/isode/stroke/serializer/payloadserializers/BytestreamsSerializer.java new file mode 100644 index 0000000..67efc52 --- /dev/null +++ b/src/com/isode/stroke/serializer/payloadserializers/BytestreamsSerializer.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2010 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.Bytestreams; +import com.isode.stroke.base.NotNull; + +public class BytestreamsSerializer extends GenericPayloadSerializer<Bytestreams> { + + /** + * Constructor. + */ + public BytestreamsSerializer() { + super(Bytestreams.class); + } + + /** + * @param bytestreams, notnull + */ + @Override + public String serializePayload(Bytestreams bytestreams) { + NotNull.exceptIfNull(bytestreams, "bytestreams"); + XMLElement queryElement = new XMLElement("query", "http://jabber.org/protocol/bytestreams"); + queryElement.setAttribute("sid", bytestreams.getStreamID()); + for(Bytestreams.StreamHost streamHost: bytestreams.getStreamHosts()) { + XMLElement streamHostElement = new XMLElement("streamhost"); + streamHostElement.setAttribute("host", streamHost.host); + streamHostElement.setAttribute("jid", streamHost.jid.toString()); + streamHostElement.setAttribute("port", Integer.toString(streamHost.port)); + queryElement.addNode(streamHostElement); + } + + if (bytestreams.getUsedStreamHost() != null) { + XMLElement streamHostElement = new XMLElement("streamhost-used"); + streamHostElement.setAttribute("jid", bytestreams.getUsedStreamHost().toString()); + queryElement.addNode(streamHostElement); + } + return queryElement.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 5232d2c..644b7e0 100644 --- a/src/com/isode/stroke/serializer/payloadserializers/FullPayloadSerializerCollection.java +++ b/src/com/isode/stroke/serializer/payloadserializers/FullPayloadSerializerCollection.java @@ -40,7 +40,7 @@ public class FullPayloadSerializerCollection extends PayloadSerializerCollection addSerializer(new SecurityLabelSerializer()); addSerializer(new SecurityLabelsCatalogSerializer()); //addSerializer(new StreamInitiationSerializer()); - //addSerializer(new BytestreamsSerializer()); + addSerializer(new BytestreamsSerializer()); addSerializer(new VCardSerializer()); addSerializer(new VCardUpdateSerializer()); addSerializer(new RawXMLPayloadSerializer()); |