diff options
author | Alex Clayton <alex.clayton@isode.com> | 2016-01-29 17:01:39 (GMT) |
---|---|---|
committer | Nick Hudson <nick.hudson@isode.com> | 2016-02-01 16:45:38 (GMT) |
commit | f21f0d6f9c3662c4f224383ec84c69317c465514 (patch) | |
tree | abb30a766cb0d0cf3e6ede0eee290fe011527735 /src/com/isode/stroke/serializer/payloadserializers | |
parent | ceb4798aa0739ebd7177632c3f508babacb2f8d7 (diff) | |
download | stroke-f21f0d6f9c3662c4f224383ec84c69317c465514.zip stroke-f21f0d6f9c3662c4f224383ec84c69317c465514.tar.bz2 |
Add S5BProxyRequest Serializers and Parser
Adds a S5BProxyRequestParser and a S5BProxyRequestSerializer to stroke based on the Swiften classes of the same
name. These has been missed out previous stroke patches for some reason.
Test-information:
Code inspection against the Swifen classes.
Sanity test ran the unit tests for stroke they still all pass (note I could not
find any unit tests for this class to transfer from Swiften).
Change-Id: Ic5463169ada33c72127e87a416d42a650aad6399
Diffstat (limited to 'src/com/isode/stroke/serializer/payloadserializers')
-rw-r--r-- | src/com/isode/stroke/serializer/payloadserializers/S5BProxyRequestSerializer.java | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/com/isode/stroke/serializer/payloadserializers/S5BProxyRequestSerializer.java b/src/com/isode/stroke/serializer/payloadserializers/S5BProxyRequestSerializer.java new file mode 100644 index 0000000..d2e8dae --- /dev/null +++ b/src/com/isode/stroke/serializer/payloadserializers/S5BProxyRequestSerializer.java @@ -0,0 +1,47 @@ +/* Copyright (c) 2016, Isode Limited, London, England. + * All rights reserved. + * + * Acquisition and use of this software and related materials for any + * purpose requires a written license agreement from Isode Limited, + * or a written license from an organisation licensed by Isode Limited + * to grant such a license. + * + */ +package com.isode.stroke.serializer.payloadserializers; + +import com.isode.stroke.elements.S5BProxyRequest; +import com.isode.stroke.serializer.GenericPayloadSerializer; +import com.isode.stroke.serializer.xml.XMLElement; + +/** + * + */ +public class S5BProxyRequestSerializer extends + GenericPayloadSerializer<S5BProxyRequest> { + + /** + * Constructor + */ + public S5BProxyRequestSerializer() { + super(S5BProxyRequest.class); + } + + @Override + protected String serializePayload(S5BProxyRequest s5bProxyRequest) { + XMLElement queryElement = new XMLElement("query", "http://jabber.org/protocol/bytestreams"); + if (s5bProxyRequest != null && s5bProxyRequest.getStreamHost() != null) { + XMLElement streamHost = new XMLElement("streamhost"); + streamHost.setAttribute("host", s5bProxyRequest.getStreamHost().host); + streamHost.setAttribute("port", String.valueOf(s5bProxyRequest.getStreamHost().port)); + streamHost.setAttribute("jid", s5bProxyRequest.getStreamHost().jid.toString()); + queryElement.addNode(streamHost); + } + else if (s5bProxyRequest != null && s5bProxyRequest.getActivate() != null) { + queryElement.setAttribute("sid", s5bProxyRequest.getSID()); + XMLElement active = new XMLElement("active","",s5bProxyRequest.getActivate().toString()); + queryElement.addNode(active); + } + return queryElement.serialize(); + } + +} |