diff options
author | Tarun Gupta <tarun1995gupta@gmail.com> | 2015-07-08 00:28:50 (GMT) |
---|---|---|
committer | Nick Hudson <nick.hudson@isode.com> | 2015-07-22 14:40:56 (GMT) |
commit | 7f96c8b224099f1c0e5c6996984fe79558e0d550 (patch) | |
tree | e9b3c600b370ffad139b05b84447aa5c6e3d9e78 /src/com/isode/stroke/queries/Responder.java | |
parent | 1f2c3add9971e8636013c384938456388b04ed79 (diff) | |
download | stroke-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.java | 12 |
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_; }; |