From 9c94bdc15905878d211799e0dffe29fce33e0e4f Mon Sep 17 00:00:00 2001 From: Mili Verma Date: Thu, 19 Jan 2012 16:31:05 +0000 Subject: Update constructors of Command in line with swiften Also fixes the call in OutgoingAdHocCommandSession which was sending null data and resulting in a crash when used in MLC. Test-information: No longer crashed MLC. diff --git a/src/com/isode/stroke/adhoc/OutgoingAdHocCommandSession.java b/src/com/isode/stroke/adhoc/OutgoingAdHocCommandSession.java index 6b1d04c..5bccb31 100644 --- a/src/com/isode/stroke/adhoc/OutgoingAdHocCommandSession.java +++ b/src/com/isode/stroke/adhoc/OutgoingAdHocCommandSession.java @@ -154,10 +154,8 @@ public class OutgoingAdHocCommandSession { * Send initial request to the target. */ public void start() { - Action action = null; GenericRequest commandRequest = new GenericRequest( - IQ.Type.Set, to_, new Command(commandNode_, "", action), - iqRouter_); + IQ.Type.Set, to_, new Command(commandNode_), iqRouter_); commandRequest.onResponse.connect(new Slot2() { public void call(Command payload, ErrorPayload error) { handleResponse(payload, error); diff --git a/src/com/isode/stroke/elements/Command.java b/src/com/isode/stroke/elements/Command.java index d82808f..91ce828 100644 --- a/src/com/isode/stroke/elements/Command.java +++ b/src/com/isode/stroke/elements/Command.java @@ -297,8 +297,9 @@ public class Command extends Payload { /** * Create an Ad-Hoc command with the given node, session ID, action and - * {@link Status#NO_STATUS} status. - * + * {@link Status#NO_STATUS} status. This can be used when submitting further + * actions of an ongoing Ad-Hoc session. + * * @param node Node, must not be null. Each command is identified by its * 'node' attribute. This matches its 'node' attribute from the * service discovery. @@ -312,8 +313,23 @@ public class Command extends Payload { } /** + * Create an Ad-Hoc command with the given node, empty session ID, + * {@link Action#EXECUTE} action and {@link Status#NO_STATUS} status. This + * can be used when initiating an Ad-Hoc command request. + * + * @param node Node, must not be null. Each command is identified by its + * 'node' attribute. This matches its 'node' attribute from the + * service discovery. + */ + public Command(String node) { + this(node, "", Action.EXECUTE); + } + + /** * Create an Ad-Hoc command with an empty node, empty session ID, - * {@link Action#EXECUTE} action and {@link Status#NO_STATUS} status. + * {@link Action#EXECUTE} action and {@link Status#NO_STATUS} status. This + * will need the attributes to be populated later as the object is not + * usable in this form. */ public Command() { this("", "", Action.EXECUTE); -- cgit v0.10.2-6-g49f6