Search in sources :

Example 56 with Jid

use of org.jxmpp.jid.Jid in project Smack by igniterealtime.

the class IoTDiscoveryManager method claimThing.

/**
     * Claim a thing by providing a collection of meta tags. If the claim was successful, then a {@link IoTClaimed}
     * instance will be returned, which contains the XMPP address of the thing. Use {@link IoTClaimed#getJid()} to
     * retrieve this address.
     *
     * @param registry the registry use to claim the thing.
     * @param metaTags a collection of meta tags used to identify the thing.
     * @param publicThing if this is a public thing.
     * @return a {@link IoTClaimed} if successful.
     * @throws NoResponseException
     * @throws XMPPErrorException
     * @throws NotConnectedException
     * @throws InterruptedException
     */
public IoTClaimed claimThing(Jid registry, Collection<Tag> metaTags, boolean publicThing) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
    interactWithRegistry(registry);
    IoTMine iotMine = new IoTMine(metaTags, publicThing);
    iotMine.setTo(registry);
    IoTClaimed iotClaimed = connection().createStanzaCollectorAndSend(iotMine).nextResultOrThrow();
    // The 'jid' attribute of the <claimed/> response now represents the XMPP address of the thing we just successfully claimed.
    Jid thing = iotClaimed.getJid();
    IoTProvisioningManager.getInstanceFor(connection()).sendFriendshipRequest(thing.asBareJid());
    return iotClaimed;
}
Also used : IoTMine(org.jivesoftware.smackx.iot.discovery.element.IoTMine) Jid(org.jxmpp.jid.Jid) BareJid(org.jxmpp.jid.BareJid) IoTClaimed(org.jivesoftware.smackx.iot.discovery.element.IoTClaimed)

Example 57 with Jid

use of org.jxmpp.jid.Jid in project Smack by igniterealtime.

the class IoTClaimedProvider method parse.

@Override
public IoTClaimed parse(XmlPullParser parser, int initialDepth) throws Exception {
    Jid jid = ParserUtils.getJidAttribute(parser);
    NodeInfo nodeInfo = NodeInfoParser.parse(parser);
    return new IoTClaimed(jid, nodeInfo);
}
Also used : Jid(org.jxmpp.jid.Jid) NodeInfo(org.jivesoftware.smackx.iot.element.NodeInfo) IoTClaimed(org.jivesoftware.smackx.iot.discovery.element.IoTClaimed)

Example 58 with Jid

use of org.jxmpp.jid.Jid in project Smack by igniterealtime.

the class IoTRemoveProvider method parse.

@Override
public IoTRemove parse(XmlPullParser parser, int initialDepth) throws Exception {
    Jid jid = ParserUtils.getJidAttribute(parser);
    if (jid.hasResource()) {
        throw new SmackException("JID must be without resourcepart");
    }
    BareJid bareJid = jid.asBareJid();
    NodeInfo nodeInfo = NodeInfoParser.parse(parser);
    return new IoTRemove(bareJid, nodeInfo);
}
Also used : IoTRemove(org.jivesoftware.smackx.iot.discovery.element.IoTRemove) Jid(org.jxmpp.jid.Jid) BareJid(org.jxmpp.jid.BareJid) BareJid(org.jxmpp.jid.BareJid) NodeInfo(org.jivesoftware.smackx.iot.element.NodeInfo) SmackException(org.jivesoftware.smack.SmackException)

Example 59 with Jid

use of org.jxmpp.jid.Jid in project Smack by igniterealtime.

the class IoTProvisioningManager method findProvisioningServerComponent.

/**
     * Try to find a provisioning server component.
     * 
     * @return the XMPP address of the provisioning server component if one was found.
     * @throws NoResponseException
     * @throws XMPPErrorException
     * @throws NotConnectedException
     * @throws InterruptedException
     * @see <a href="http://xmpp.org/extensions/xep-0324.html#servercomponent">XEP-0324 ยง 3.1.2 Provisioning Server as a server component</a>
     */
public DomainBareJid findProvisioningServerComponent() throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
    final XMPPConnection connection = connection();
    ServiceDiscoveryManager sdm = ServiceDiscoveryManager.getInstanceFor(connection);
    List<DiscoverInfo> discoverInfos = sdm.findServicesDiscoverInfo(Constants.IOT_PROVISIONING_NAMESPACE, true, true);
    if (discoverInfos.isEmpty()) {
        return null;
    }
    Jid jid = discoverInfos.get(0).getFrom();
    assert (jid.isDomainBareJid());
    return jid.asDomainBareJid();
}
Also used : DiscoverInfo(org.jivesoftware.smackx.disco.packet.DiscoverInfo) DomainBareJid(org.jxmpp.jid.DomainBareJid) Jid(org.jxmpp.jid.Jid) BareJid(org.jxmpp.jid.BareJid) XMPPConnection(org.jivesoftware.smack.XMPPConnection) ServiceDiscoveryManager(org.jivesoftware.smackx.disco.ServiceDiscoveryManager)

Example 60 with Jid

use of org.jxmpp.jid.Jid in project Smack by igniterealtime.

the class IoTIsFriendResponseProvider method parse.

@Override
public IoTIsFriendResponse parse(XmlPullParser parser, int initialDepth) throws Exception {
    Jid jid = ParserUtils.getJidAttribute(parser);
    BareJid bareJid = jid.asBareJid();
    boolean result = ParserUtils.getBooleanAttribute(parser, "result");
    return new IoTIsFriendResponse(bareJid, result);
}
Also used : Jid(org.jxmpp.jid.Jid) BareJid(org.jxmpp.jid.BareJid) BareJid(org.jxmpp.jid.BareJid) IoTIsFriendResponse(org.jivesoftware.smackx.iot.provisioning.element.IoTIsFriendResponse)

Aggregations

Jid (org.jxmpp.jid.Jid)78 EntityBareJid (org.jxmpp.jid.EntityBareJid)18 ArrayList (java.util.ArrayList)15 HashMap (java.util.HashMap)14 Test (org.junit.Test)14 DomainBareJid (org.jxmpp.jid.DomainBareJid)14 EntityFullJid (org.jxmpp.jid.EntityFullJid)12 BareJid (org.jxmpp.jid.BareJid)11 IQ (org.jivesoftware.smack.packet.IQ)7 Presence (org.jivesoftware.smack.packet.Presence)7 MUCLightBlockingIQ (org.jivesoftware.smackx.muclight.element.MUCLightBlockingIQ)7 SmackException (org.jivesoftware.smack.SmackException)6 Message (org.jivesoftware.smack.packet.Message)6 WeakHashMap (java.util.WeakHashMap)4 XMPPConnection (org.jivesoftware.smack.XMPPConnection)4 Map (java.util.Map)3 SimpleResultSyncPoint (org.igniterealtime.smack.inttest.util.SimpleResultSyncPoint)3 FeatureNotSupportedException (org.jivesoftware.smack.SmackException.FeatureNotSupportedException)3 XMPPErrorException (org.jivesoftware.smack.XMPPException.XMPPErrorException)3 Bytestream (org.jivesoftware.smackx.bytestreams.socks5.packet.Bytestream)3