summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTarun Gupta <tarun1995gupta@gmail.com>2015-07-02 09:55:38 (GMT)
committerTarun Gupta <tarun1995gupta@gmail.com>2015-07-21 09:26:58 (GMT)
commite98df2cfcd3bc553b16c139a7d2adfcbe672b540 (patch)
tree449b58d27884ae4fa7441cea3c3ee7c9f0410dd4 /src/com/isode/stroke/elements
parent43b51821ff8d03aa55209c66ea3e26080cf3cb8c (diff)
downloadstroke-e98df2cfcd3bc553b16c139a7d2adfcbe672b540.zip
stroke-e98df2cfcd3bc553b16c139a7d2adfcbe672b540.tar.bz2
Adds Disco Features.
Adds DiscoServiceWalker, FeatureOracle, JIDDiscoInfoResponder. Updates CapsInfoGenerator, ClientDiscoManager, EntityCapsManager, EntityCapsProvider, IQ Element, Request. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for: CapsInfoGenerator, CapsManager, DiscoInfoResponder, EntityCapsManager, JIDDiscoInfoResponder. All tests pass. Change-Id: Ib7cd08ff6f72b7649e4819943b627459c69a1397
Diffstat (limited to 'src/com/isode/stroke/elements')
-rw-r--r--src/com/isode/stroke/elements/IQ.java52
1 files changed, 42 insertions, 10 deletions
diff --git a/src/com/isode/stroke/elements/IQ.java b/src/com/isode/stroke/elements/IQ.java
index d06d3a6..84645e4 100644
--- a/src/com/isode/stroke/elements/IQ.java
+++ b/src/com/isode/stroke/elements/IQ.java
@@ -33,35 +33,55 @@ public class IQ extends Stanza {
public static IQ createRequest(Type type, JID to, String id, Payload payload) {
IQ iq = new IQ(type);
- iq.setTo(to);
+ if(to.isValid()) {
+ iq.setTo(to);
+ }
iq.setID(id);
- iq.addPayload(payload);
+ if(payload != null) {
+ iq.addPayload(payload);
+ }
return iq;
}
+ public static IQ createResult(JID to, String id) {
+ return createResult(to, id, null);
+ }
+
public static IQ createResult(JID to, String id, Payload payload) {
IQ iq = new IQ(Type.Result);
iq.setTo(to);
iq.setID(id);
- iq.addPayload(payload);
+ if(payload != null) {
+ iq.addPayload(payload);
+ }
return iq;
}
-
+
+ public static IQ createResult(JID to, JID from, String id) {
+ return createResult(to, from, id, null);
+ }
+
public static IQ createResult(JID to, JID from, String id, Payload payload) {
IQ iq = new IQ(Type.Result);
iq.setTo(to);
iq.setFrom(from);
iq.setID(id);
- iq.addPayload(payload);
+ if(payload != null) {
+ iq.addPayload(payload);
+ }
return iq;
}
+ public static IQ createError(JID to, String id) {
+ return createError(to, id, ErrorPayload.Condition.BadRequest, ErrorPayload.Type.Cancel, null);
+ }
+
+ public static IQ createError(JID to, String id, ErrorPayload.Condition condition) {
+ return createError(to, id, condition, ErrorPayload.Type.Cancel, null);
+ }
+
public static IQ createError(JID to, String id, ErrorPayload.Condition condition, ErrorPayload.Type type) {
- IQ iq = new IQ(Type.Error);
- iq.setTo(to);
- iq.setID(id);
- iq.addPayload(new ErrorPayload(condition, type));
- return iq;
+ return createError(to, id, condition, type, null);
}
public static IQ createError(JID to, String id, ErrorPayload.Condition condition, ErrorPayload.Type type, Payload payload) {
@@ -74,6 +94,18 @@ public class IQ extends Stanza {
return iq;
}
+ public static IQ createError(JID to, JID from, String id) {
+ return createError(to, from, id, ErrorPayload.Condition.BadRequest, ErrorPayload.Type.Cancel, null);
+ }
+
+ public static IQ createError(JID to, JID from, String id, ErrorPayload.Condition condition) {
+ return createError(to, from, id, condition, ErrorPayload.Type.Cancel, null);
+ }
+
+ public static IQ createError(JID to, JID from, String id, ErrorPayload.Condition condition, ErrorPayload.Type type) {
+ return createError(to, from, id, condition, type, null);
+ }
+
public static IQ createError(JID to, JID from, String id, ErrorPayload.Condition condition, ErrorPayload.Type type, Payload payload) {
IQ iq = new IQ(Type.Error);
iq.setTo(to);