Package com.calclab.emite.core.stanzas

Examples of com.calclab.emite.core.stanzas.IQ


  public void shouldCreateInstantRoomIfNeeded() {
    manager.open(uri("newroomtest1@rooms.localhost/nick"));
    session.receives("<presence from='newroomtest1@rooms.localhost/nick' to='user@localhost/resource' >" + "<priority>5</priority>"
        + "<x xmlns='http://jabber.org/protocol/muc#user'>" + "<item affiliation='owner' role='moderator' jid='vjrj@localhost/Psi' />"
        + "<status code='201' />" + "</x>" + "</presence>");
    session.verifyIQSent(new IQ(Type.set));
  }
View Full Code Here


    session.addIQResponseReceivedHandler(this);
  }

  @Override
  public void onIQResponseReceived(final IQResponseReceivedEvent event) {
    final IQ iq = event.getIQ();
   
    final IQCallback handler = iqHandlers.remove(iq.getId());
    if (handler == null)
      return;

    if (IQ.Type.result.equals(iq.getType())) {
      handler.onIQSuccess(iq);
    } else {
      handler.onIQFailure(iq);
    }
  }
View Full Code Here

      if ("message".equals(name)) {
        eventBus.fireEventFromSource(new MessageReceivedEvent(new Message(stanza)), this);
      } else if ("presence".equals(name)) {
        eventBus.fireEventFromSource(new PresenceReceivedEvent(new Presence(stanza)), this);
      } else if ("iq".equals(name)) {
        final IQ iq = new IQ(stanza);
        final IQ.Type type = iq.getType();
        if (IQ.Type.get.equals(type) || IQ.Type.set.equals(type)) {
          eventBus.fireEventFromSource(new IQRequestReceivedEvent(iq), this);
        } else if (IQ.Type.result.equals(type) || IQ.Type.error.equals(type)) {
          eventBus.fireEventFromSource(new IQResponseReceivedEvent(iq), this);
        }
View Full Code Here

  public void sendIQ(final String category, final IQ iq, final IQCallback handler) {
    iqManager.sendIQRequest(category, iq, handler, false);
  }

  private void bindResource(@Nullable final String resource) {
    final IQ iq = new IQ(IQ.Type.set);
   
    if (Strings.isNullOrEmpty(resource))
      iq.addExtension("bind", XmppNamespaces.BIND);
    else
      iq.addExtension("bind", XmppNamespaces.BIND).setChildText("resource", resource);

    iqManager.sendIQRequest("bind-resource", iq, new IQCallback() {
      @Override
      public void onIQSuccess(final IQ iq) {
        setStatus(SessionStatus.binded);
        requestSession(XmppURI.uri(iq.getExtension("bind", XmppNamespaces.BIND).getChildText("jid")));
      }

      @Override
      public void onIQFailure(final IQ iq) {
        connection.disconnect();
View Full Code Here

    }, true);
  }

  // TODO: not in RFC 6121, but required by some servers
  private void requestSession(final XmppURI uri) {
    final IQ iq = new IQ(IQ.Type.set);
    iq.setFrom(uri);
    iq.setTo(uri.getHostURI());
    iq.addExtension("session", XmppNamespaces.SESSION);

    iqManager.sendIQRequest("session-request", iq, new IQCallback() {
      @Override
      public void onIQSuccess(final IQ iq) {
        userUri = iq.getTo();
        setStatus(SessionStatus.loggedIn);
      }

      @Override
      public void onIQFailure(final IQ iq) {
View Full Code Here

public class IQTest {

  @Test
  public void shoudAddQuery() {
    final IQ iq = new IQ(IQ.Type.get);
    iq.addChild("query", "xmlns:query");
    final XMLPacket query = iq.getChild("query", "xmlns:query");
    assertNotNull(query);
    assertEquals("xmlns:query", query.getAttribute("xmlns"));
  }
View Full Code Here

TOP

Related Classes of com.calclab.emite.core.stanzas.IQ

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.