当前位置: 首页>>代码示例>>Java>>正文


Java AdHocCommandData.setForm方法代码示例

本文整理汇总了Java中org.jivesoftware.smackx.packet.AdHocCommandData.setForm方法的典型用法代码示例。如果您正苦于以下问题:Java AdHocCommandData.setForm方法的具体用法?Java AdHocCommandData.setForm怎么用?Java AdHocCommandData.setForm使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.jivesoftware.smackx.packet.AdHocCommandData的用法示例。


在下文中一共展示了AdHocCommandData.setForm方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: executeAction

import org.jivesoftware.smackx.packet.AdHocCommandData; //导入方法依赖的package包/类
/**
 * Executes the <code>action</codo> with the <code>form</code>.
 * The action could be any of the available actions. The form must
 * be the anwser of the previous stage. It can be <tt>null</tt> if it is the first stage.
 *
 * @param action the action to execute.
 * @param form the form with the information.
 * @param timeout the amount of time to wait for a reply.
 * @throws XMPPException if there is a problem executing the command.
 */
private void executeAction(Action action, Form form, long timeout) throws XMPPException {
    // TODO: Check that all the required fields of the form were filled, if
    // TODO: not throw the corresponding exeption. This will make a faster response,
    // TODO: since the request is stoped before it's sent.
    AdHocCommandData data = new AdHocCommandData();
    data.setType(IQ.Type.SET);
    data.setTo(getOwnerJID());
    data.setNode(getNode());
    data.setSessionID(sessionID);
    data.setAction(action);

    if (form != null) {
        data.setForm(form.getDataFormToSend());
    }

    PacketCollector collector = connection.createPacketCollector(
            new PacketIDFilter(data.getPacketID()));

    connection.sendPacket(data);

    Packet response = collector.nextResult(timeout);

    // Cancel the collector.
    collector.cancel();
    if (response == null) {
        throw new XMPPException("No response from server on status set.");
    }
    if (response.getError() != null) {
        throw new XMPPException(response.getError());
    }

    AdHocCommandData responseData = (AdHocCommandData) response;
    this.sessionID = responseData.getSessionID();
    super.setData(responseData);
}
 
开发者ID:ice-coffee,项目名称:EIM,代码行数:46,代码来源:RemoteCommand.java

示例2: executeAction

import org.jivesoftware.smackx.packet.AdHocCommandData; //导入方法依赖的package包/类
/**
 * Executes the <code>action</codo> with the <code>form</code>. The action
 * could be any of the available actions. The form must be the anwser of the
 * previous stage. It can be <tt>null</tt> if it is the first stage.
 * 
 * @param action
 *            the action to execute.
 * @param form
 *            the form with the information.
 * @param timeout
 *            the amount of time to wait for a reply.
 * @throws XMPPException
 *             if there is a problem executing the command.
 */
private void executeAction(Action action, Form form, long timeout)
		throws XMPPException {
	// TODO: Check that all the required fields of the form were filled, if
	// TODO: not throw the corresponding exeption. This will make a faster
	// response,
	// TODO: since the request is stoped before it's sent.
	AdHocCommandData data = new AdHocCommandData();
	data.setType(IQ.Type.SET);
	data.setTo(getOwnerJID());
	data.setNode(getNode());
	data.setSessionID(sessionID);
	data.setAction(action);

	if (form != null) {
		data.setForm(form.getDataFormToSend());
	}

	PacketCollector collector = connection
			.createPacketCollector(new PacketIDFilter(data.getPacketID()));

	connection.sendPacket(data);

	Packet response = collector.nextResult(timeout);

	// Cancel the collector.
	collector.cancel();
	if (response == null) {
		throw new XMPPException("No response from server on status set.");
	}
	if (response.getError() != null) {
		throw new XMPPException(response.getError());
	}

	AdHocCommandData responseData = (AdHocCommandData) response;
	this.sessionID = responseData.getSessionID();
	super.setData(responseData);
}
 
开发者ID:ikantech,项目名称:xmppsupport_v2,代码行数:52,代码来源:RemoteCommand.java

示例3: parseIQ

import org.jivesoftware.smackx.packet.AdHocCommandData; //导入方法依赖的package包/类
public IQ parseIQ(XmlPullParser parser) throws Exception {
    boolean done = false;
    AdHocCommandData adHocCommandData = new AdHocCommandData();
    DataFormProvider dataFormProvider = new DataFormProvider();

    int eventType;
    String elementName;
    String namespace;
    adHocCommandData.setSessionID(parser.getAttributeValue("", "sessionid"));
    adHocCommandData.setNode(parser.getAttributeValue("", "node"));

    // Status
    String status = parser.getAttributeValue("", "status");
    if (AdHocCommand.Status.executing.toString().equalsIgnoreCase(status)) {
        adHocCommandData.setStatus(AdHocCommand.Status.executing);
    }
    else if (AdHocCommand.Status.completed.toString().equalsIgnoreCase(status)) {
        adHocCommandData.setStatus(AdHocCommand.Status.completed);
    }
    else if (AdHocCommand.Status.canceled.toString().equalsIgnoreCase(status)) {
        adHocCommandData.setStatus(AdHocCommand.Status.canceled);
    }

    // Action
    String action = parser.getAttributeValue("", "action");
    if (action != null) {
        Action realAction = AdHocCommand.Action.valueOf(action);
        if (realAction == null || realAction.equals(Action.unknown)) {
            adHocCommandData.setAction(Action.unknown);
        }
        else {
            adHocCommandData.setAction(realAction);
        }
    }
    while (!done) {
        eventType = parser.next();
        elementName = parser.getName();
        namespace = parser.getNamespace();
        if (eventType == XmlPullParser.START_TAG) {
            if (parser.getName().equals("actions")) {
                String execute = parser.getAttributeValue("", "execute");
                if (execute != null) {
                    adHocCommandData.setExecuteAction(AdHocCommand.Action.valueOf(execute));
                }
            }
            else if (parser.getName().equals("next")) {
                adHocCommandData.addAction(AdHocCommand.Action.next);
            }
            else if (parser.getName().equals("complete")) {
                adHocCommandData.addAction(AdHocCommand.Action.complete);
            }
            else if (parser.getName().equals("prev")) {
                adHocCommandData.addAction(AdHocCommand.Action.prev);
            }
            else if (elementName.equals("x") && namespace.equals("jabber:x:data")) {
                adHocCommandData.setForm((DataForm) dataFormProvider.parseExtension(parser));
            }
            else if (parser.getName().equals("note")) {
                AdHocCommandNote.Type type = AdHocCommandNote.Type.valueOf(
                        parser.getAttributeValue("", "type"));
                String value = parser.nextText();
                adHocCommandData.addNote(new AdHocCommandNote(type, value));
            }
            else if (parser.getName().equals("error")) {
                XMPPError error = PacketParserUtils.parseError(parser);
                adHocCommandData.setError(error);
            }
        }
        else if (eventType == XmlPullParser.END_TAG) {
            if (parser.getName().equals("command")) {
                done = true;
            }
        }
    }
    return adHocCommandData;
}
 
开发者ID:ice-coffee,项目名称:EIM,代码行数:77,代码来源:AdHocCommandDataProvider.java

示例4: parseIQ

import org.jivesoftware.smackx.packet.AdHocCommandData; //导入方法依赖的package包/类
public IQ parseIQ(XmlPullParser parser) throws Exception {
	boolean done = false;
	AdHocCommandData adHocCommandData = new AdHocCommandData();
	DataFormProvider dataFormProvider = new DataFormProvider();

	int eventType;
	String elementName;
	String namespace;
	adHocCommandData
			.setSessionID(parser.getAttributeValue("", "sessionid"));
	adHocCommandData.setNode(parser.getAttributeValue("", "node"));

	// Status
	String status = parser.getAttributeValue("", "status");
	if (AdHocCommand.Status.executing.toString().equalsIgnoreCase(status)) {
		adHocCommandData.setStatus(AdHocCommand.Status.executing);
	} else if (AdHocCommand.Status.completed.toString().equalsIgnoreCase(
			status)) {
		adHocCommandData.setStatus(AdHocCommand.Status.completed);
	} else if (AdHocCommand.Status.canceled.toString().equalsIgnoreCase(
			status)) {
		adHocCommandData.setStatus(AdHocCommand.Status.canceled);
	}

	// Action
	String action = parser.getAttributeValue("", "action");
	if (action != null) {
		Action realAction = AdHocCommand.Action.valueOf(action);
		if (realAction == null || realAction.equals(Action.unknown)) {
			adHocCommandData.setAction(Action.unknown);
		} else {
			adHocCommandData.setAction(realAction);
		}
	}
	while (!done) {
		eventType = parser.next();
		elementName = parser.getName();
		namespace = parser.getNamespace();
		if (eventType == XmlPullParser.START_TAG) {
			if (parser.getName().equals("actions")) {
				String execute = parser.getAttributeValue("", "execute");
				if (execute != null) {
					adHocCommandData.setExecuteAction(AdHocCommand.Action
							.valueOf(execute));
				}
			} else if (parser.getName().equals("next")) {
				adHocCommandData.addAction(AdHocCommand.Action.next);
			} else if (parser.getName().equals("complete")) {
				adHocCommandData.addAction(AdHocCommand.Action.complete);
			} else if (parser.getName().equals("prev")) {
				adHocCommandData.addAction(AdHocCommand.Action.prev);
			} else if (elementName.equals("x")
					&& namespace.equals("jabber:x:data")) {
				adHocCommandData.setForm((DataForm) dataFormProvider
						.parseExtension(parser));
			} else if (parser.getName().equals("note")) {
				AdHocCommandNote.Type type = AdHocCommandNote.Type
						.valueOf(parser.getAttributeValue("", "type"));
				String value = parser.nextText();
				adHocCommandData.addNote(new AdHocCommandNote(type, value));
			} else if (parser.getName().equals("error")) {
				XMPPError error = PacketParserUtils.parseError(parser);
				adHocCommandData.setError(error);
			}
		} else if (eventType == XmlPullParser.END_TAG) {
			if (parser.getName().equals("command")) {
				done = true;
			}
		}
	}
	return adHocCommandData;
}
 
开发者ID:ikantech,项目名称:xmppsupport_v2,代码行数:73,代码来源:AdHocCommandDataProvider.java


注:本文中的org.jivesoftware.smackx.packet.AdHocCommandData.setForm方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。