throws LocalCancellationException {
log.debug("Inv" + Utils.prefix(peer) + ": Checking Saros support...");
subMonitor.setTaskName("Checking Saros support...");
JID rqPeer = discoveryManager.getSupportingPresence(peer,
Saros.NAMESPACE);
if (rqPeer == null) {
log.debug("Inv" + Utils.prefix(peer)
+ ": Saros is not supported or User is offline.");
if (!discoveryManager.isOnline(peer)) {
InvitationWizard.notifyUserOffline(peer);
localCancel(null, CancelOption.DO_NOT_NOTIFY_PEER);
throw new LocalCancellationException();
} else if (!InvitationWizard.confirmUnsupportedSaros(peer)) {
localCancel(null, CancelOption.DO_NOT_NOTIFY_PEER);
throw new LocalCancellationException();
}
/**
* In order to avoid inviting other XMPP clients, we construct an
* RQ-JID.
*/
rqPeer = new JID(peer.getBareJID() + "/" + Saros.RESOURCE);
peerAdvertisesSarosSupport = false;
} else {
log.debug("Inv" + Utils.prefix(peer) + ": Saros is supported.");
}
peer = rqPeer;