src/net/java/sip/communicator/impl/protocol/jabber/ScServiceDiscoveryManager.java
/**
     * Requests the discovery info and fires the event if
     * retrieved.
     * @param entityID the entity to request
     * @param caps and its capability.
     * @param capabilitiesOpSet operation set ot receive events
     * or null for no events.
     * @return the discovered information.
     */
Requests the discovery info and fires the event if
retrieved.
@param entityID the entity to request
@param caps and its capability.
@param capabilitiesOpSet operation set ot receive events
or null for no events.
@return the discovered information.
Requests the discovery info and fires the event if retrieved . @param entityID the entity to request @param caps and its capability . @param capabilitiesOpSet operation set ot receive events or null for no events . @return the discovered information .
private DiscoverInfo discoverInfo(
        final Jid entityID,
        EntityCapsManager.NodeVerHash caps,
        OperationSetContactCapabilitiesJabberImpl capabilitiesOpSet)
            throws XMPPException,
                    NotConnectedException,
                    InterruptedException,
                    NoResponseException
    {
        DiscoverInfo discoverInfo = discoveryManager.discoverInfo(
            entityID,
            (caps == null ) ? null : caps.getNodeVer());
        if (caps != null
            && discoverInfo != null
            && !EntityCapsManager.verifyDiscoverInfoVersion(
                    caps.getVer(), caps.getHash(), discoverInfo))
        {
            if(!caps.getHash().equals(""))
            {
                logger.error("Invalid DiscoverInfo for "
                    + caps.getNodeVer() + ": " + discoverInfo);
            }
            caps = null;
        }
        boolean fireEvent = false;
        if (caps == null)
        {
            if (cacheNonCaps)
            {
                nonCapsCache.put(entityID, discoverInfo);
                fireEvent = true;
            }
        }
        else
        {
            fireEvent = true;
        }
        if(fireEvent && capabilitiesOpSet != null)
        {
            capabilitiesOpSet.fireContactCapabilitiesChanged(
                entityID.asBareJid(),
                getFullJidsByBareJid(entityID.asBareJid())
            );
        }
        return discoverInfo;
    }
private DiscoverInfo discoverInfo ( final Jid entityID , EntityCapsManager . NodeVerHash caps , OperationSetContactCapabilitiesJabberImpl capabilitiesOpSet ) throws XMPPException , NotConnectedException , InterruptedException , NoResponseException { DiscoverInfo discoverInfo = discoveryManager . discoverInfo ( entityID , ( caps == null ) ? null : caps . getNodeVer ( ) ) ; if ( caps != null && discoverInfo != null && ! EntityCapsManager . verifyDiscoverInfoVersion ( caps . getVer ( ) , caps . getHash ( ) , discoverInfo ) ) { if ( ! caps . getHash ( ) . equals ( "" ) ) { logger . error ( "Invalid DiscoverInfo for " + caps . getNodeVer ( ) + ": " + discoverInfo ) ; } caps = null ; } boolean fireEvent = false ; if ( caps == null ) { if ( cacheNonCaps ) { nonCapsCache . put ( entityID , discoverInfo ) ; fireEvent = true ; } } else { fireEvent = true ; } if ( fireEvent && capabilitiesOpSet != null ) { capabilitiesOpSet . fireContactCapabilitiesChanged ( entityID . asBareJid ( ) , getFullJidsByBareJid ( entityID . asBareJid ( ) ) ) ; } return discoverInfo ; }
Requests the discovery info and fires the event if
 retrieved.
Requests the discovery info and fires the event if retrieved .
// fire event