summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTarun Gupta <tarun1995gupta@gmail.com>2015-06-12 21:25:03 (GMT)
committerTarun Gupta <tarun1995gupta@gmail.com>2015-06-16 19:15:24 (GMT)
commit1910b4f007f2cf2f19be8793fd7ad29a729d7997 (patch)
tree75fafb7f7969b88137139cd0313d5afb52fef221 /src/com/isode/stroke/serializer
parente868c966e23716d8a0261b222cccbeb04616e235 (diff)
downloadstroke-1910b4f007f2cf2f19be8793fd7ad29a729d7997.zip
stroke-1910b4f007f2cf2f19be8793fd7ad29a729d7997.tar.bz2
Add InBandRegistrationPayload Element.
Adds InBandRegistrationPayload Element, its Parser and Serializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Test added for InBandRegistrationPayload Serializer, which passes. Change-Id: Ic6cc1329f222b5a57f05ec2299e36b56f5767091
Diffstat (limited to 'src/com/isode/stroke/serializer')
-rw-r--r--src/com/isode/stroke/serializer/payloadserializers/FullPayloadSerializerCollection.java1
-rw-r--r--src/com/isode/stroke/serializer/payloadserializers/InBandRegistrationPayloadSerializer.java120
2 files changed, 121 insertions, 0 deletions
diff --git a/src/com/isode/stroke/serializer/payloadserializers/FullPayloadSerializerCollection.java b/src/com/isode/stroke/serializer/payloadserializers/FullPayloadSerializerCollection.java
index c25ac12..ec35ba3 100644
--- a/src/com/isode/stroke/serializer/payloadserializers/FullPayloadSerializerCollection.java
+++ b/src/com/isode/stroke/serializer/payloadserializers/FullPayloadSerializerCollection.java
@@ -22,6 +22,7 @@ public class FullPayloadSerializerCollection extends PayloadSerializerCollection
addSerializer(new ChatStateSerializer());
//addSerializer(new PrioritySerializer());
addSerializer(new ErrorSerializer());
+ addSerializer(new InBandRegistrationPayloadSerializer());
addSerializer(new RosterSerializer());
addSerializer(new MUCPayloadSerializer());
addSerializer(new MUCDestroyPayloadSerializer());
diff --git a/src/com/isode/stroke/serializer/payloadserializers/InBandRegistrationPayloadSerializer.java b/src/com/isode/stroke/serializer/payloadserializers/InBandRegistrationPayloadSerializer.java
new file mode 100644
index 0000000..01fb7c8
--- /dev/null
+++ b/src/com/isode/stroke/serializer/payloadserializers/InBandRegistrationPayloadSerializer.java
@@ -0,0 +1,120 @@
+/*
+ * 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.serializer.xml.XMLRawTextNode;
+import com.isode.stroke.serializer.payloadserializers.FormSerializer;
+import com.isode.stroke.elements.InBandRegistrationPayload;
+import com.isode.stroke.elements.Form;
+import com.isode.stroke.base.NotNull;
+
+public class InBandRegistrationPayloadSerializer extends GenericPayloadSerializer<InBandRegistrationPayload> {
+
+ public InBandRegistrationPayloadSerializer() {
+ super(InBandRegistrationPayload.class);
+ }
+
+ public String serializePayload(InBandRegistrationPayload registration) {
+ XMLElement registerElement = new XMLElement("query", "jabber:iq:register");
+
+ if (registration.isRegistered()) {
+ registerElement.addNode(new XMLElement("registered"));
+ }
+
+ if (registration.isRemove()) {
+ registerElement.addNode(new XMLElement("remove"));
+ }
+
+ if (registration.getInstructions() != null) {
+ registerElement.addNode(new XMLElement("instructions", "", registration.getInstructions()));
+ }
+
+
+ if (registration.getUsername() != null) {
+ registerElement.addNode(new XMLElement("username", "", registration.getUsername()));
+ }
+
+ if (registration.getNick() != null) {
+ registerElement.addNode(new XMLElement("nick", "", registration.getNick()));
+ }
+
+ if (registration.getPassword() != null) {
+ registerElement.addNode(new XMLElement("password", "", registration.getPassword()));
+ }
+
+ if (registration.getName() != null) {
+ registerElement.addNode(new XMLElement("name", "", registration.getName()));
+ }
+
+ if (registration.getFirst() != null) {
+ registerElement.addNode(new XMLElement("first", "", registration.getFirst()));
+ }
+
+ if (registration.getLast() != null) {
+ registerElement.addNode(new XMLElement("last", "", registration.getLast()));
+ }
+
+ if (registration.getEMail() != null) {
+ registerElement.addNode(new XMLElement("email", "", registration.getEMail()));
+ }
+
+ if (registration.getAddress() != null) {
+ registerElement.addNode(new XMLElement("address", "", registration.getAddress()));
+ }
+
+ if (registration.getCity() != null) {
+ registerElement.addNode(new XMLElement("city", "", registration.getCity()));
+ }
+
+ if (registration.getState() != null) {
+ registerElement.addNode(new XMLElement("state", "", registration.getState()));
+ }
+
+ if (registration.getZip() != null) {
+ registerElement.addNode(new XMLElement("zip", "", registration.getZip()));
+ }
+
+ if (registration.getPhone() != null) {
+ registerElement.addNode(new XMLElement("phone", "", registration.getPhone()));
+ }
+
+ if (registration.getURL() != null) {
+ registerElement.addNode(new XMLElement("url", "", registration.getURL()));
+ }
+
+ if (registration.getDate() != null) {
+ registerElement.addNode(new XMLElement("date", "", registration.getDate()));
+ }
+
+ if (registration.getMisc() != null) {
+ registerElement.addNode(new XMLElement("misc", "", registration.getMisc()));
+ }
+
+ if (registration.getText() != null) {
+ registerElement.addNode(new XMLElement("text", "", registration.getText()));
+ }
+
+ if (registration.getKey() != null) {
+ registerElement.addNode(new XMLElement("key", "", registration.getKey()));
+ }
+
+ if (registration.getForm() != null) {
+ Form form = registration.getForm();
+ registerElement.addNode(new XMLRawTextNode(new FormSerializer().serialize(form)));
+ }
+
+ return registerElement.serialize();
+ }
+} \ No newline at end of file