summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTarun Gupta <tarun1995gupta@gmail.com>2015-07-08 00:28:50 (GMT)
committerNick Hudson <nick.hudson@isode.com>2015-07-22 14:40:56 (GMT)
commit7f96c8b224099f1c0e5c6996984fe79558e0d550 (patch)
treee9b3c600b370ffad139b05b84447aa5c6e3d9e78 /src/com/isode/stroke/queries/Responder.java
parent1f2c3add9971e8636013c384938456388b04ed79 (diff)
downloadstroke-7f96c8b224099f1c0e5c6996984fe79558e0d550.zip
stroke-7f96c8b224099f1c0e5c6996984fe79558e0d550.tar.bz2
Update Queries.
Updates RawXMLPayload Element, SoftwareVersion Element. Updates IQRouter, Request, Responder, SoftwareVersionResponder. Updates ErrorSerilaizer access. Adds RawRequest, GetInBandRegistrationFormRequest, GetSoftwareVersionRequest, and SetInBandRegistrationRequest. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for: IQRouter, Request and Responder. Rest, all tests passes. Change-Id: I22308cc05bd1a6c28f3937a44d997e1da47e2891
Diffstat (limited to 'src/com/isode/stroke/queries/Responder.java')
-rw-r--r--src/com/isode/stroke/queries/Responder.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/com/isode/stroke/queries/Responder.java b/src/com/isode/stroke/queries/Responder.java
index 203dd7e..831bcd3 100644
--- a/src/com/isode/stroke/queries/Responder.java
+++ b/src/com/isode/stroke/queries/Responder.java
@@ -30,6 +30,7 @@ public abstract class Responder<PAYLOAD_TYPE extends Payload> implements IQHandl
public Responder(final PAYLOAD_TYPE payloadType, IQRouter router) {
payloadType_ = payloadType;
router_ = router;
+ isFinalResonder_ = true;
}
/**
@@ -114,6 +115,10 @@ public abstract class Responder<PAYLOAD_TYPE extends Payload> implements IQHandl
return router_;
}
+ protected void setFinal(boolean isFinal) {
+ isFinalResonder_ = isFinal;
+ }
+
@Override
public boolean handleIQ(IQ iq) {
if (IQ.Type.Set.equals(iq.getType()) || IQ.Type.Get.equals(iq.getType())) {
@@ -127,7 +132,11 @@ public abstract class Responder<PAYLOAD_TYPE extends Payload> implements IQHandl
result = handleGetRequest(iq.getFrom(), iq.getTo(), iq.getID(), payload);
}
if (!result) {
- router_.sendIQ(IQ.createError(iq.getFrom(), iq.getID(), ErrorPayload.Condition.NotAllowed, ErrorPayload.Type.Cancel));
+ if(isFinalResonder_) {
+ router_.sendIQ(IQ.createError(iq.getFrom(), iq.getID(), ErrorPayload.Condition.NotAllowed, ErrorPayload.Type.Cancel));
+ } else {
+ return false;
+ }
}
return true;
}
@@ -136,4 +145,5 @@ public abstract class Responder<PAYLOAD_TYPE extends Payload> implements IQHandl
}
private IQRouter router_;
private PAYLOAD_TYPE payloadType_;
+ private boolean isFinalResonder_;
};