1
0
Fork 0
mirror of https://codeberg.org/Mercury-IM/Smack synced 2024-11-23 14:52:06 +01:00

Call XMPPConnection.sendIqRequestAndWaitForResponse(IQ) where possible

Refactored using

find . -type f -name "*.java" |\
	 xargs sed -i -E |\
		's/\.createStanzaCollectorAndSend\((\w+)\)\.nextResultOrThrow\(\);/.sendIqRequestAndWaitForResponse(\1);/'

and some manual refactoring.
This commit is contained in:
Florian Schmaus 2021-05-11 22:03:24 +02:00
parent c9ea1c11b6
commit aab48570c9
53 changed files with 206 additions and 188 deletions

View file

@ -339,7 +339,7 @@ public final class CarbonManager extends Manager {
IQ setIQ = carbonsEnabledIQ(new_state); IQ setIQ = carbonsEnabledIQ(new_state);
connection().createStanzaCollectorAndSend(setIQ).nextResultOrThrow(); connection().sendIqRequestAndWaitForResponse(setIQ);
enabled_state = new_state; enabled_state = new_state;
} }

View file

@ -418,7 +418,7 @@ public final class HttpFileUploadManager extends Manager {
throw new AssertionError(); throw new AssertionError();
} }
return connection.createStanzaCollectorAndSend(slotRequest).nextResultOrThrow(); return connection.sendIqRequestAndWaitForResponse(slotRequest);
} }
public void setTlsContext(SSLContext tlsContext) { public void setTlsContext(SSLContext tlsContext) {

View file

@ -128,7 +128,7 @@ public final class IoTControlManager extends IoTManager {
public IoTSetResponse setUsingIq(FullJid jid, Collection<? extends SetData> data) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { public IoTSetResponse setUsingIq(FullJid jid, Collection<? extends SetData> data) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
IoTSetRequest request = new IoTSetRequest(data); IoTSetRequest request = new IoTSetRequest(data);
request.setTo(jid); request.setTo(jid);
IoTSetResponse response = connection().createStanzaCollectorAndSend(request).nextResultOrThrow(); IoTSetResponse response = connection().sendIqRequestAndWaitForResponse(request);
return response; return response;
} }

View file

@ -191,7 +191,7 @@ public final class IoTDataManager extends IoTManager {
StanzaCollector dataCollector = connection.createStanzaCollector(dataCollectorConfiguration); StanzaCollector dataCollector = connection.createStanzaCollector(dataCollectorConfiguration);
try { try {
connection.createStanzaCollectorAndSend(iotDataRequest).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(iotDataRequest);
// Wait until a message with an IoTFieldsExtension and the done flag comes in. // Wait until a message with an IoTFieldsExtension and the done flag comes in.
doneCollector.nextResult(); doneCollector.nextResult();
} }

View file

@ -246,7 +246,7 @@ public final class IoTDiscoveryManager extends Manager {
final XMPPConnection connection = connection(); final XMPPConnection connection = connection();
IoTRegister iotRegister = new IoTRegister(thing.getMetaTags(), thing.getNodeInfo(), thing.isSelfOwened()); IoTRegister iotRegister = new IoTRegister(thing.getMetaTags(), thing.getNodeInfo(), thing.isSelfOwened());
iotRegister.setTo(registry); iotRegister.setTo(registry);
IQ result = connection.createStanzaCollectorAndSend(iotRegister).nextResultOrThrow(); IQ result = connection.sendIqRequestAndWaitForResponse(iotRegister);
if (result instanceof IoTClaimed) { if (result instanceof IoTClaimed) {
IoTClaimed iotClaimedResult = (IoTClaimed) result; IoTClaimed iotClaimedResult = (IoTClaimed) result;
throw new IoTClaimedException(iotClaimedResult); throw new IoTClaimedException(iotClaimedResult);
@ -293,7 +293,7 @@ public final class IoTDiscoveryManager extends Manager {
IoTMine iotMine = new IoTMine(metaTags, publicThing); IoTMine iotMine = new IoTMine(metaTags, publicThing);
iotMine.setTo(registry); iotMine.setTo(registry);
IoTClaimed iotClaimed = connection().createStanzaCollectorAndSend(iotMine).nextResultOrThrow(); IoTClaimed iotClaimed = connection().sendIqRequestAndWaitForResponse(iotMine);
// The 'jid' attribute of the <claimed/> response now represents the XMPP address of the thing we just successfully claimed. // The 'jid' attribute of the <claimed/> response now represents the XMPP address of the thing we just successfully claimed.
Jid thing = iotClaimed.getJid(); Jid thing = iotClaimed.getJid();
@ -322,7 +322,7 @@ public final class IoTDiscoveryManager extends Manager {
IoTRemove iotRemove = new IoTRemove(thing, nodeInfo); IoTRemove iotRemove = new IoTRemove(thing, nodeInfo);
iotRemove.setTo(registry); iotRemove.setTo(registry);
connection().createStanzaCollectorAndSend(iotRemove).nextResultOrThrow(); connection().sendIqRequestAndWaitForResponse(iotRemove);
// We no not update the ThingState here, as this is done in the <removed/> IQ handler above.; // We no not update the ThingState here, as this is done in the <removed/> IQ handler above.;
} }
@ -346,7 +346,7 @@ public final class IoTDiscoveryManager extends Manager {
IoTUnregister iotUnregister = new IoTUnregister(nodeInfo); IoTUnregister iotUnregister = new IoTUnregister(nodeInfo);
iotUnregister.setTo(registry); iotUnregister.setTo(registry);
connection().createStanzaCollectorAndSend(iotUnregister).nextResultOrThrow(); connection().sendIqRequestAndWaitForResponse(iotUnregister);
ThingState state = getStateFor(nodeInfo); ThingState state = getStateFor(nodeInfo);
state.setUnregistered(); state.setUnregistered();
@ -375,7 +375,7 @@ public final class IoTDiscoveryManager extends Manager {
IoTDisown iotDisown = new IoTDisown(thing, nodeInfo); IoTDisown iotDisown = new IoTDisown(thing, nodeInfo);
iotDisown.setTo(registry); iotDisown.setTo(registry);
connection().createStanzaCollectorAndSend(iotDisown).nextResultOrThrow(); connection().sendIqRequestAndWaitForResponse(iotDisown);
} }
// Registry utility methods // Registry utility methods

View file

@ -344,7 +344,7 @@ public final class IoTProvisioningManager extends Manager {
IoTIsFriend iotIsFriend = new IoTIsFriend(friendInQuestion); IoTIsFriend iotIsFriend = new IoTIsFriend(friendInQuestion);
iotIsFriend.setTo(provisioningServer); iotIsFriend.setTo(provisioningServer);
IoTIsFriendResponse response = connection().createStanzaCollectorAndSend(iotIsFriend).nextResultOrThrow(); IoTIsFriendResponse response = connection().sendIqRequestAndWaitForResponse(iotIsFriend);
assert response.getJid().equals(friendInQuestion); assert response.getJid().equals(friendInQuestion);
boolean isFriend = response.getIsFriendResult(); boolean isFriend = response.getIsFriendResult();
if (!isFriend) { if (!isFriend) {

View file

@ -533,7 +533,7 @@ public final class MamManager extends Manager {
MamQueryIQ mamQueryIq = new MamQueryIQ(queryId, node, null); MamQueryIQ mamQueryIq = new MamQueryIQ(queryId, node, null);
mamQueryIq.setTo(archiveAddress); mamQueryIq.setTo(archiveAddress);
MamQueryIQ mamResponseQueryIq = connection().createStanzaCollectorAndSend(mamQueryIq).nextResultOrThrow(); MamQueryIQ mamResponseQueryIq = connection().sendIqRequestAndWaitForResponse(mamQueryIq);
return mamResponseQueryIq.getDataForm().getFields(); return mamResponseQueryIq.getDataForm().getFields();
} }
@ -864,7 +864,7 @@ public final class MamManager extends Manager {
NotConnectedException, InterruptedException, NotLoggedInException { NotConnectedException, InterruptedException, NotLoggedInException {
final XMPPConnection connection = getAuthenticatedConnectionOrThrow(); final XMPPConnection connection = getAuthenticatedConnectionOrThrow();
MamPrefsIQ mamPrefsResultIQ = connection.createStanzaCollectorAndSend(mamPrefsIQ).nextResultOrThrow(); MamPrefsIQ mamPrefsResultIQ = connection.sendIqRequestAndWaitForResponse(mamPrefsIQ);
return new MamPrefsResult(mamPrefsResultIQ, DataForm.from(mamPrefsIQ)); return new MamPrefsResult(mamPrefsResultIQ, DataForm.from(mamPrefsIQ));
} }

View file

@ -301,7 +301,7 @@ public class MultiUserChatLight {
messageCollector = connection.createStanzaCollector(fromRoomGroupChatFilter); messageCollector = connection.createStanzaCollector(fromRoomGroupChatFilter);
try { try {
connection.createStanzaCollectorAndSend(createMUCLightIQ).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(createMUCLightIQ);
} catch (NotConnectedException | InterruptedException | NoResponseException | XMPPErrorException e) { } catch (NotConnectedException | InterruptedException | NoResponseException | XMPPErrorException e) {
removeConnectionCallbacks(); removeConnectionCallbacks();
throw e; throw e;
@ -332,7 +332,7 @@ public class MultiUserChatLight {
affiliations.put(connection.getUser(), MUCLightAffiliation.none); affiliations.put(connection.getUser(), MUCLightAffiliation.none);
MUCLightChangeAffiliationsIQ changeAffiliationsIQ = new MUCLightChangeAffiliationsIQ(room, affiliations); MUCLightChangeAffiliationsIQ changeAffiliationsIQ = new MUCLightChangeAffiliationsIQ(room, affiliations);
IQ responseIq = connection.createStanzaCollectorAndSend(changeAffiliationsIQ).nextResultOrThrow(); IQ responseIq = connection.sendIqRequestAndWaitForResponse(changeAffiliationsIQ);
boolean roomLeft = responseIq.getType().equals(IQ.Type.result); boolean roomLeft = responseIq.getType().equals(IQ.Type.result);
if (roomLeft) { if (roomLeft) {
@ -354,7 +354,7 @@ public class MultiUserChatLight {
throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
MUCLightGetInfoIQ mucLightGetInfoIQ = new MUCLightGetInfoIQ(room, version); MUCLightGetInfoIQ mucLightGetInfoIQ = new MUCLightGetInfoIQ(room, version);
IQ responseIq = connection.createStanzaCollectorAndSend(mucLightGetInfoIQ).nextResultOrThrow(); IQ responseIq = connection.sendIqRequestAndWaitForResponse(mucLightGetInfoIQ);
MUCLightInfoIQ mucLightInfoResponseIQ = (MUCLightInfoIQ) responseIq; MUCLightInfoIQ mucLightInfoResponseIQ = (MUCLightInfoIQ) responseIq;
return new MUCLightRoomInfo(mucLightInfoResponseIQ.getVersion(), room, return new MUCLightRoomInfo(mucLightInfoResponseIQ.getVersion(), room,
@ -388,7 +388,7 @@ public class MultiUserChatLight {
public MUCLightRoomConfiguration getConfiguration(String version) public MUCLightRoomConfiguration getConfiguration(String version)
throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
MUCLightGetConfigsIQ mucLightGetConfigsIQ = new MUCLightGetConfigsIQ(room, version); MUCLightGetConfigsIQ mucLightGetConfigsIQ = new MUCLightGetConfigsIQ(room, version);
IQ responseIq = connection.createStanzaCollectorAndSend(mucLightGetConfigsIQ).nextResultOrThrow(); IQ responseIq = connection.sendIqRequestAndWaitForResponse(mucLightGetConfigsIQ);
MUCLightConfigurationIQ mucLightConfigurationIQ = (MUCLightConfigurationIQ) responseIq; MUCLightConfigurationIQ mucLightConfigurationIQ = (MUCLightConfigurationIQ) responseIq;
return mucLightConfigurationIQ.getConfiguration(); return mucLightConfigurationIQ.getConfiguration();
} }
@ -421,7 +421,7 @@ public class MultiUserChatLight {
throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
MUCLightGetAffiliationsIQ mucLightGetAffiliationsIQ = new MUCLightGetAffiliationsIQ(room, version); MUCLightGetAffiliationsIQ mucLightGetAffiliationsIQ = new MUCLightGetAffiliationsIQ(room, version);
IQ responseIq = connection.createStanzaCollectorAndSend(mucLightGetAffiliationsIQ).nextResultOrThrow(); IQ responseIq = connection.sendIqRequestAndWaitForResponse(mucLightGetAffiliationsIQ);
MUCLightAffiliationsIQ mucLightAffiliationsIQ = (MUCLightAffiliationsIQ) responseIq; MUCLightAffiliationsIQ mucLightAffiliationsIQ = (MUCLightAffiliationsIQ) responseIq;
return mucLightAffiliationsIQ.getAffiliations(); return mucLightAffiliationsIQ.getAffiliations();
@ -453,7 +453,7 @@ public class MultiUserChatLight {
public void changeAffiliations(HashMap<Jid, MUCLightAffiliation> affiliations) public void changeAffiliations(HashMap<Jid, MUCLightAffiliation> affiliations)
throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
MUCLightChangeAffiliationsIQ changeAffiliationsIQ = new MUCLightChangeAffiliationsIQ(room, affiliations); MUCLightChangeAffiliationsIQ changeAffiliationsIQ = new MUCLightChangeAffiliationsIQ(room, affiliations);
connection.createStanzaCollectorAndSend(changeAffiliationsIQ).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(changeAffiliationsIQ);
} }
/** /**
@ -466,7 +466,7 @@ public class MultiUserChatLight {
*/ */
public void destroy() throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { public void destroy() throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
MUCLightDestroyIQ mucLightDestroyIQ = new MUCLightDestroyIQ(room); MUCLightDestroyIQ mucLightDestroyIQ = new MUCLightDestroyIQ(room);
IQ responseIq = connection.createStanzaCollectorAndSend(mucLightDestroyIQ).nextResultOrThrow(); IQ responseIq = connection.sendIqRequestAndWaitForResponse(mucLightDestroyIQ);
boolean roomDestroyed = responseIq.getType().equals(IQ.Type.result); boolean roomDestroyed = responseIq.getType().equals(IQ.Type.result);
if (roomDestroyed) { if (roomDestroyed) {
@ -486,7 +486,7 @@ public class MultiUserChatLight {
public void changeSubject(String subject) public void changeSubject(String subject)
throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
MUCLightSetConfigsIQ mucLightSetConfigIQ = new MUCLightSetConfigsIQ(room, null, subject, null); MUCLightSetConfigsIQ mucLightSetConfigIQ = new MUCLightSetConfigsIQ(room, null, subject, null);
connection.createStanzaCollectorAndSend(mucLightSetConfigIQ).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(mucLightSetConfigIQ);
} }
/** /**
@ -501,7 +501,7 @@ public class MultiUserChatLight {
public void changeRoomName(String roomName) public void changeRoomName(String roomName)
throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
MUCLightSetConfigsIQ mucLightSetConfigIQ = new MUCLightSetConfigsIQ(room, roomName, null); MUCLightSetConfigsIQ mucLightSetConfigIQ = new MUCLightSetConfigsIQ(room, roomName, null);
connection.createStanzaCollectorAndSend(mucLightSetConfigIQ).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(mucLightSetConfigIQ);
} }
/** /**
@ -531,7 +531,7 @@ public class MultiUserChatLight {
public void setRoomConfigs(String roomName, HashMap<String, String> customConfigs) public void setRoomConfigs(String roomName, HashMap<String, String> customConfigs)
throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
MUCLightSetConfigsIQ mucLightSetConfigIQ = new MUCLightSetConfigsIQ(room, roomName, customConfigs); MUCLightSetConfigsIQ mucLightSetConfigIQ = new MUCLightSetConfigsIQ(room, roomName, customConfigs);
connection.createStanzaCollectorAndSend(mucLightSetConfigIQ).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(mucLightSetConfigIQ);
} }
} }

View file

@ -279,7 +279,7 @@ public final class MultiUserChatLightManager extends Manager {
MUCLightBlockingIQ mucLightBlockingIQ = new MUCLightBlockingIQ(rooms, null); MUCLightBlockingIQ mucLightBlockingIQ = new MUCLightBlockingIQ(rooms, null);
mucLightBlockingIQ.setType(IQ.Type.set); mucLightBlockingIQ.setType(IQ.Type.set);
mucLightBlockingIQ.setTo(mucLightService); mucLightBlockingIQ.setTo(mucLightService);
connection().createStanzaCollectorAndSend(mucLightBlockingIQ).nextResultOrThrow(); connection().sendIqRequestAndWaitForResponse(mucLightBlockingIQ);
} }
/** /**
@ -323,7 +323,7 @@ public final class MultiUserChatLightManager extends Manager {
MUCLightBlockingIQ mucLightBlockingIQ = new MUCLightBlockingIQ(null, users); MUCLightBlockingIQ mucLightBlockingIQ = new MUCLightBlockingIQ(null, users);
mucLightBlockingIQ.setType(IQ.Type.set); mucLightBlockingIQ.setType(IQ.Type.set);
mucLightBlockingIQ.setTo(mucLightService); mucLightBlockingIQ.setTo(mucLightService);
connection().createStanzaCollectorAndSend(mucLightBlockingIQ).nextResultOrThrow(); connection().sendIqRequestAndWaitForResponse(mucLightBlockingIQ);
} }
/** /**
@ -367,7 +367,7 @@ public final class MultiUserChatLightManager extends Manager {
MUCLightBlockingIQ mucLightBlockingIQ = new MUCLightBlockingIQ(rooms, null); MUCLightBlockingIQ mucLightBlockingIQ = new MUCLightBlockingIQ(rooms, null);
mucLightBlockingIQ.setType(IQ.Type.set); mucLightBlockingIQ.setType(IQ.Type.set);
mucLightBlockingIQ.setTo(mucLightService); mucLightBlockingIQ.setTo(mucLightService);
connection().createStanzaCollectorAndSend(mucLightBlockingIQ).nextResultOrThrow(); connection().sendIqRequestAndWaitForResponse(mucLightBlockingIQ);
} }
/** /**
@ -411,7 +411,7 @@ public final class MultiUserChatLightManager extends Manager {
MUCLightBlockingIQ mucLightBlockingIQ = new MUCLightBlockingIQ(null, users); MUCLightBlockingIQ mucLightBlockingIQ = new MUCLightBlockingIQ(null, users);
mucLightBlockingIQ.setType(IQ.Type.set); mucLightBlockingIQ.setType(IQ.Type.set);
mucLightBlockingIQ.setTo(mucLightService); mucLightBlockingIQ.setTo(mucLightService);
connection().createStanzaCollectorAndSend(mucLightBlockingIQ).nextResultOrThrow(); connection().sendIqRequestAndWaitForResponse(mucLightBlockingIQ);
} }
} }

View file

@ -164,7 +164,7 @@ public final class PushNotificationsManager extends Manager {
private boolean changePushNotificationsStatus(IQ iq) private boolean changePushNotificationsStatus(IQ iq)
throws NotConnectedException, InterruptedException, NoResponseException, XMPPErrorException { throws NotConnectedException, InterruptedException, NoResponseException, XMPPErrorException {
final XMPPConnection connection = connection(); final XMPPConnection connection = connection();
IQ responseIQ = connection.createStanzaCollectorAndSend(iq).nextResultOrThrow(); IQ responseIQ = connection.sendIqRequestAndWaitForResponse(iq);
return responseIQ.getType() != IQ.Type.error; return responseIQ.getType() != IQ.Type.error;
} }

View file

@ -184,7 +184,7 @@ public final class BlockingCommandManager extends Manager {
if (blockListCached == null) { if (blockListCached == null) {
BlockListIQ blockListIQ = new BlockListIQ(); BlockListIQ blockListIQ = new BlockListIQ();
BlockListIQ blockListIQResult = connection().createStanzaCollectorAndSend(blockListIQ).nextResultOrThrow(); BlockListIQ blockListIQResult = connection().sendIqRequestAndWaitForResponse(blockListIQ);
blockListCached = blockListIQResult.getBlockedJidsCopy(); blockListCached = blockListIQResult.getBlockedJidsCopy();
} }
@ -203,7 +203,7 @@ public final class BlockingCommandManager extends Manager {
public void blockContacts(List<Jid> jids) public void blockContacts(List<Jid> jids)
throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
BlockContactsIQ blockContactIQ = new BlockContactsIQ(jids); BlockContactsIQ blockContactIQ = new BlockContactsIQ(jids);
connection().createStanzaCollectorAndSend(blockContactIQ).nextResultOrThrow(); connection().sendIqRequestAndWaitForResponse(blockContactIQ);
} }
/** /**
@ -218,7 +218,7 @@ public final class BlockingCommandManager extends Manager {
public void unblockContacts(List<Jid> jids) public void unblockContacts(List<Jid> jids)
throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
UnblockContactsIQ unblockContactIQ = new UnblockContactsIQ(jids); UnblockContactsIQ unblockContactIQ = new UnblockContactsIQ(jids);
connection().createStanzaCollectorAndSend(unblockContactIQ).nextResultOrThrow(); connection().sendIqRequestAndWaitForResponse(unblockContactIQ);
} }
/** /**
@ -232,7 +232,7 @@ public final class BlockingCommandManager extends Manager {
public void unblockAll() public void unblockAll()
throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
UnblockContactsIQ unblockContactIQ = new UnblockContactsIQ(); UnblockContactsIQ unblockContactIQ = new UnblockContactsIQ();
connection().createStanzaCollectorAndSend(unblockContactIQ).nextResultOrThrow(); connection().sendIqRequestAndWaitForResponse(unblockContactIQ);
} }
public void addJidsBlockedListener(JidsBlockedListener jidsBlockedListener) { public void addJidsBlockedListener(JidsBlockedListener jidsBlockedListener) {

View file

@ -149,7 +149,7 @@ public final class BoBManager extends Manager {
requestBoBIQ.setTo(to); requestBoBIQ.setTo(to);
XMPPConnection connection = getAuthenticatedConnectionOrThrow(); XMPPConnection connection = getAuthenticatedConnectionOrThrow();
BoBIQ responseBoBIQ = connection.createStanzaCollectorAndSend(requestBoBIQ).nextResultOrThrow(); BoBIQ responseBoBIQ = connection.sendIqRequestAndWaitForResponse(requestBoBIQ);
bobData = responseBoBIQ.getBoBData(); bobData = responseBoBIQ.getBoBData();
BOB_CACHE.put(bobHash, bobData); BOB_CACHE.put(bobHash, bobData);

View file

@ -424,7 +424,7 @@ public final class InBandBytestreamManager extends Manager implements Bytestream
final XMPPConnection connection = connection(); final XMPPConnection connection = connection();
// sending packet will throw exception on timeout or error reply // sending packet will throw exception on timeout or error reply
connection.createStanzaCollectorAndSend(byteStreamRequest).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(byteStreamRequest);
InBandBytestreamSession inBandBytestreamSession = new InBandBytestreamSession( InBandBytestreamSession inBandBytestreamSession = new InBandBytestreamSession(
connection, byteStreamRequest, targetJID); connection, byteStreamRequest, targetJID);

View file

@ -228,7 +228,7 @@ public class InBandBytestreamSession implements BytestreamSession {
Close close = new Close(this.byteStreamRequest.getSessionID()); Close close = new Close(this.byteStreamRequest.getSessionID());
close.setTo(this.remoteJID); close.setTo(this.remoteJID);
try { try {
connection.createStanzaCollectorAndSend(close).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(close);
} }
catch (Exception e) { catch (Exception e) {
// Sadly we are unable to use the IOException(Throwable) constructor because this // Sadly we are unable to use the IOException(Throwable) constructor because this
@ -823,7 +823,7 @@ public class InBandBytestreamSession implements BytestreamSession {
iq.setTo(remoteJID); iq.setTo(remoteJID);
try { try {
connection.createStanzaCollectorAndSend(iq).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(iq);
} }
catch (Exception e) { catch (Exception e) {
// close session unless it is already closed // close session unless it is already closed

View file

@ -624,8 +624,8 @@ public final class Socks5BytestreamManager extends Manager implements Bytestream
for (Jid proxy : proxies) { for (Jid proxy : proxies) {
Bytestream streamHostRequest = createStreamHostRequest(proxy); Bytestream streamHostRequest = createStreamHostRequest(proxy);
try { try {
Bytestream response = connection.createStanzaCollectorAndSend( Bytestream response = connection.sendIqRequestAndWaitForResponse(
streamHostRequest).nextResultOrThrow(); streamHostRequest);
streamHosts.addAll(response.getStreamHosts()); streamHosts.addAll(response.getStreamHosts());
} }
catch (Exception e) { catch (Exception e) {

View file

@ -115,7 +115,7 @@ public class Socks5ClientForInitiator extends Socks5Client {
private void activate() throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { private void activate() throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
Bytestream activate = createStreamHostActivation(); Bytestream activate = createStreamHostActivation();
// if activation fails #nextResultOrThrow() throws an exception // if activation fails #nextResultOrThrow() throws an exception
connection.get().createStanzaCollectorAndSend(activate).nextResultOrThrow(); connection.get().sendIqRequestAndWaitForResponse(activate);
} }
/** /**

View file

@ -145,7 +145,7 @@ public class RemoteCommand extends AdHocCommand {
AdHocCommandData responseData = null; AdHocCommandData responseData = null;
try { try {
responseData = connection.createStanzaCollectorAndSend(data).nextResultOrThrow(); responseData = connection.sendIqRequestAndWaitForResponse(data);
} }
finally { finally {
// We set the response data in a 'finally' block, so that it also gets set even if an error IQ was returned. // We set the response data in a 'finally' block, so that it also gets set even if an error IQ was returned.

View file

@ -603,7 +603,7 @@ public final class ServiceDiscoveryManager extends Manager {
.setNode(node) .setNode(node)
.build(); .build();
Stanza result = connection.createStanzaCollectorAndSend(discoInfoRequest).nextResultOrThrow(); Stanza result = connection.sendIqRequestAndWaitForResponse(discoInfoRequest);
return (DiscoverInfo) result; return (DiscoverInfo) result;
} }
@ -642,7 +642,7 @@ public final class ServiceDiscoveryManager extends Manager {
disco.setTo(entityID); disco.setTo(entityID);
disco.setNode(node); disco.setNode(node);
Stanza result = connection().createStanzaCollectorAndSend(disco).nextResultOrThrow(); Stanza result = connection().sendIqRequestAndWaitForResponse(disco);
return (DiscoverItems) result; return (DiscoverItems) result;
} }

View file

@ -236,7 +236,7 @@ public final class LastActivityManager extends Manager {
public LastActivity getLastActivity(Jid jid) throws NoResponseException, XMPPErrorException, public LastActivity getLastActivity(Jid jid) throws NoResponseException, XMPPErrorException,
NotConnectedException, InterruptedException { NotConnectedException, InterruptedException {
LastActivity activity = new LastActivity(jid); LastActivity activity = new LastActivity(jid);
return (LastActivity) connection().createStanzaCollectorAndSend(activity).nextResultOrThrow(); return (LastActivity) connection().sendIqRequestAndWaitForResponse(activity);
} }
/** /**

View file

@ -163,8 +163,8 @@ public final class PrivateDataManager extends Manager {
// Create an IQ packet to get the private data. // Create an IQ packet to get the private data.
IQ privateDataGet = new PrivateDataIQ(elementName, namespace); IQ privateDataGet = new PrivateDataIQ(elementName, namespace);
PrivateDataIQ response = connection().createStanzaCollectorAndSend( PrivateDataIQ response = connection().sendIqRequestAndWaitForResponse(
privateDataGet).nextResultOrThrow(); privateDataGet);
return response.getPrivateData(); return response.getPrivateData();
} }
@ -183,7 +183,7 @@ public final class PrivateDataManager extends Manager {
// Create an IQ packet to set the private data. // Create an IQ packet to set the private data.
IQ privateDataSet = new PrivateDataIQ(privateData); IQ privateDataSet = new PrivateDataIQ(privateData);
connection().createStanzaCollectorAndSend(privateDataSet).nextResultOrThrow(); connection().sendIqRequestAndWaitForResponse(privateDataSet);
} }
private static final PrivateData DUMMY_PRIVATE_DATA = new PrivateData() { private static final PrivateData DUMMY_PRIVATE_DATA = new PrivateData() {

View file

@ -155,7 +155,7 @@ public final class VersionManager extends Manager {
} }
XMPPConnection connection = connection(); XMPPConnection connection = connection();
Version version = Version.builder(connection).to(jid).build(); Version version = Version.builder(connection).to(jid).build();
return connection().createStanzaCollectorAndSend(version).nextResultOrThrow(); return connection().sendIqRequestAndWaitForResponse(version);
} }
private static VersionInformation generateVersionFrom(String name, String version, String os) { private static VersionInformation generateVersionFrom(String name, String version, String os) {

View file

@ -90,7 +90,7 @@ public class JingleUtil {
XMPPException.XMPPErrorException, SmackException.NoResponseException { XMPPException.XMPPErrorException, SmackException.NoResponseException {
Jingle jingle = createSessionInitiateFileOffer(recipient, sessionId, contentCreator, contentName, description, transport); Jingle jingle = createSessionInitiateFileOffer(recipient, sessionId, contentCreator, contentName, description, transport);
return connection.createStanzaCollectorAndSend(jingle).nextResultOrThrow(); return connection.sendIqRequestAndWaitForResponse(jingle);
} }
public IQ sendSessionInitiate(FullJid recipient, public IQ sendSessionInitiate(FullJid recipient,
@ -176,7 +176,7 @@ public class JingleUtil {
XMPPException.XMPPErrorException, SmackException.NoResponseException { XMPPException.XMPPErrorException, SmackException.NoResponseException {
Jingle jingle = createSessionTerminateDecline(recipient, sessionId); Jingle jingle = createSessionTerminateDecline(recipient, sessionId);
return connection.createStanzaCollectorAndSend(jingle).nextResultOrThrow(); return connection.sendIqRequestAndWaitForResponse(jingle);
} }
public Jingle createSessionTerminateSuccess(FullJid recipient, String sessionId) { public Jingle createSessionTerminateSuccess(FullJid recipient, String sessionId) {
@ -188,7 +188,7 @@ public class JingleUtil {
SmackException.NotConnectedException, SmackException.NoResponseException { SmackException.NotConnectedException, SmackException.NoResponseException {
Jingle jingle = createSessionTerminateSuccess(recipient, sessionId); Jingle jingle = createSessionTerminateSuccess(recipient, sessionId);
return connection.createStanzaCollectorAndSend(jingle).nextResultOrThrow(); return connection.sendIqRequestAndWaitForResponse(jingle);
} }
public Jingle createSessionTerminateBusy(FullJid recipient, String sessionId) { public Jingle createSessionTerminateBusy(FullJid recipient, String sessionId) {
@ -200,7 +200,7 @@ public class JingleUtil {
SmackException.NotConnectedException, SmackException.NoResponseException { SmackException.NotConnectedException, SmackException.NoResponseException {
Jingle jingle = createSessionTerminateBusy(recipient, sessionId); Jingle jingle = createSessionTerminateBusy(recipient, sessionId);
return connection.createStanzaCollectorAndSend(jingle).nextResultOrThrow(); return connection.sendIqRequestAndWaitForResponse(jingle);
} }
public Jingle createSessionTerminateAlternativeSession(FullJid recipient, String sessionId, String altSessionId) { public Jingle createSessionTerminateAlternativeSession(FullJid recipient, String sessionId, String altSessionId) {
@ -212,7 +212,7 @@ public class JingleUtil {
SmackException.NotConnectedException, SmackException.NoResponseException { SmackException.NotConnectedException, SmackException.NoResponseException {
Jingle jingle = createSessionTerminateAlternativeSession(recipient, sessionId, altSessionId); Jingle jingle = createSessionTerminateAlternativeSession(recipient, sessionId, altSessionId);
return connection.createStanzaCollectorAndSend(jingle).nextResultOrThrow(); return connection.sendIqRequestAndWaitForResponse(jingle);
} }
public Jingle createSessionTerminateCancel(FullJid recipient, String sessionId) { public Jingle createSessionTerminateCancel(FullJid recipient, String sessionId) {
@ -225,7 +225,7 @@ public class JingleUtil {
SmackException.NotConnectedException, SmackException.NoResponseException { SmackException.NotConnectedException, SmackException.NoResponseException {
Jingle jingle = createSessionTerminateCancel(recipient, sessionId); Jingle jingle = createSessionTerminateCancel(recipient, sessionId);
return connection.createStanzaCollectorAndSend(jingle).nextResultOrThrow(); return connection.sendIqRequestAndWaitForResponse(jingle);
} }
public Jingle createSessionTerminateContentCancel(FullJid recipient, String sessionId, public Jingle createSessionTerminateContentCancel(FullJid recipient, String sessionId,
@ -249,7 +249,7 @@ public class JingleUtil {
throws SmackException.NotConnectedException, InterruptedException, throws SmackException.NotConnectedException, InterruptedException,
XMPPException.XMPPErrorException, SmackException.NoResponseException { XMPPException.XMPPErrorException, SmackException.NoResponseException {
Jingle jingle = createSessionTerminateContentCancel(recipient, sessionId, contentCreator, contentName); Jingle jingle = createSessionTerminateContentCancel(recipient, sessionId, contentCreator, contentName);
return connection.createStanzaCollectorAndSend(jingle).nextResultOrThrow(); return connection.sendIqRequestAndWaitForResponse(jingle);
} }
public Jingle createSessionTerminateUnsupportedTransports(FullJid recipient, String sessionId) { public Jingle createSessionTerminateUnsupportedTransports(FullJid recipient, String sessionId) {
@ -260,7 +260,7 @@ public class JingleUtil {
throws InterruptedException, XMPPException.XMPPErrorException, throws InterruptedException, XMPPException.XMPPErrorException,
SmackException.NotConnectedException, SmackException.NoResponseException { SmackException.NotConnectedException, SmackException.NoResponseException {
Jingle jingle = createSessionTerminateUnsupportedTransports(recipient, sessionId); Jingle jingle = createSessionTerminateUnsupportedTransports(recipient, sessionId);
return connection.createStanzaCollectorAndSend(jingle).nextResultOrThrow(); return connection.sendIqRequestAndWaitForResponse(jingle);
} }
public Jingle createSessionTerminateFailedTransport(FullJid recipient, String sessionId) { public Jingle createSessionTerminateFailedTransport(FullJid recipient, String sessionId) {
@ -271,7 +271,7 @@ public class JingleUtil {
throws InterruptedException, XMPPException.XMPPErrorException, throws InterruptedException, XMPPException.XMPPErrorException,
SmackException.NotConnectedException, SmackException.NoResponseException { SmackException.NotConnectedException, SmackException.NoResponseException {
Jingle jingle = createSessionTerminateFailedTransport(recipient, sessionId); Jingle jingle = createSessionTerminateFailedTransport(recipient, sessionId);
return connection.createStanzaCollectorAndSend(jingle).nextResultOrThrow(); return connection.sendIqRequestAndWaitForResponse(jingle);
} }
public Jingle createSessionTerminateUnsupportedApplications(FullJid recipient, String sessionId) { public Jingle createSessionTerminateUnsupportedApplications(FullJid recipient, String sessionId) {
@ -282,7 +282,7 @@ public class JingleUtil {
throws InterruptedException, XMPPException.XMPPErrorException, throws InterruptedException, XMPPException.XMPPErrorException,
SmackException.NotConnectedException, SmackException.NoResponseException { SmackException.NotConnectedException, SmackException.NoResponseException {
Jingle jingle = createSessionTerminateUnsupportedApplications(recipient, sessionId); Jingle jingle = createSessionTerminateUnsupportedApplications(recipient, sessionId);
return connection.createStanzaCollectorAndSend(jingle).nextResultOrThrow(); return connection.sendIqRequestAndWaitForResponse(jingle);
} }
public Jingle createSessionTerminateFailedApplication(FullJid recipient, String sessionId) { public Jingle createSessionTerminateFailedApplication(FullJid recipient, String sessionId) {
@ -293,7 +293,7 @@ public class JingleUtil {
throws InterruptedException, XMPPException.XMPPErrorException, throws InterruptedException, XMPPException.XMPPErrorException,
SmackException.NotConnectedException, SmackException.NoResponseException { SmackException.NotConnectedException, SmackException.NoResponseException {
Jingle jingle = createSessionTerminateFailedApplication(recipient, sessionId); Jingle jingle = createSessionTerminateFailedApplication(recipient, sessionId);
return connection.createStanzaCollectorAndSend(jingle).nextResultOrThrow(); return connection.sendIqRequestAndWaitForResponse(jingle);
} }
public Jingle createSessionTerminateIncompatibleParameters(FullJid recipient, String sessionId) { public Jingle createSessionTerminateIncompatibleParameters(FullJid recipient, String sessionId) {
@ -304,7 +304,7 @@ public class JingleUtil {
throws InterruptedException, XMPPException.XMPPErrorException, throws InterruptedException, XMPPException.XMPPErrorException,
SmackException.NotConnectedException, SmackException.NoResponseException { SmackException.NotConnectedException, SmackException.NoResponseException {
Jingle jingle = createSessionTerminateIncompatibleParameters(recipient, sessionId); Jingle jingle = createSessionTerminateIncompatibleParameters(recipient, sessionId);
return connection.createStanzaCollectorAndSend(jingle).nextResultOrThrow(); return connection.sendIqRequestAndWaitForResponse(jingle);
} }
public IQ sendContentRejectFileNotAvailable(FullJid recipient, String sessionId, JingleContentDescription description) { public IQ sendContentRejectFileNotAvailable(FullJid recipient, String sessionId, JingleContentDescription description) {
@ -327,7 +327,7 @@ public class JingleUtil {
throws SmackException.NotConnectedException, InterruptedException, throws SmackException.NotConnectedException, InterruptedException,
XMPPException.XMPPErrorException, SmackException.NoResponseException { XMPPException.XMPPErrorException, SmackException.NoResponseException {
Jingle jingle = createSessionPing(recipient, sessionId); Jingle jingle = createSessionPing(recipient, sessionId);
return connection.createStanzaCollectorAndSend(jingle).nextResultOrThrow(); return connection.sendIqRequestAndWaitForResponse(jingle);
} }
public IQ createAck(Jingle jingle) { public IQ createAck(Jingle jingle) {
@ -362,7 +362,7 @@ public class JingleUtil {
throws SmackException.NotConnectedException, InterruptedException, throws SmackException.NotConnectedException, InterruptedException,
XMPPException.XMPPErrorException, SmackException.NoResponseException { XMPPException.XMPPErrorException, SmackException.NoResponseException {
Jingle jingle = createTransportReplace(recipient, initiator, sessionId, contentCreator, contentName, transport); Jingle jingle = createTransportReplace(recipient, initiator, sessionId, contentCreator, contentName, transport);
return connection.createStanzaCollectorAndSend(jingle).nextResultOrThrow(); return connection.sendIqRequestAndWaitForResponse(jingle);
} }
public Jingle createTransportAccept(FullJid recipient, FullJid initiator, String sessionId, public Jingle createTransportAccept(FullJid recipient, FullJid initiator, String sessionId,
@ -389,7 +389,7 @@ public class JingleUtil {
throws SmackException.NotConnectedException, InterruptedException, throws SmackException.NotConnectedException, InterruptedException,
XMPPException.XMPPErrorException, SmackException.NoResponseException { XMPPException.XMPPErrorException, SmackException.NoResponseException {
Jingle jingle = createTransportAccept(recipient, initiator, sessionId, contentCreator, contentName, transport); Jingle jingle = createTransportAccept(recipient, initiator, sessionId, contentCreator, contentName, transport);
return connection.createStanzaCollectorAndSend(jingle).nextResultOrThrow(); return connection.sendIqRequestAndWaitForResponse(jingle);
} }
public Jingle createTransportReject(FullJid recipient, FullJid initiator, String sessionId, public Jingle createTransportReject(FullJid recipient, FullJid initiator, String sessionId,
@ -416,7 +416,7 @@ public class JingleUtil {
throws SmackException.NotConnectedException, InterruptedException, throws SmackException.NotConnectedException, InterruptedException,
XMPPException.XMPPErrorException, SmackException.NoResponseException { XMPPException.XMPPErrorException, SmackException.NoResponseException {
Jingle jingle = createTransportReject(recipient, initiator, sessionId, contentCreator, contentName, transport); Jingle jingle = createTransportReject(recipient, initiator, sessionId, contentCreator, contentName, transport);
return connection.createStanzaCollectorAndSend(jingle).nextResultOrThrow(); return connection.sendIqRequestAndWaitForResponse(jingle);
} }
/* /*

View file

@ -119,7 +119,7 @@ public final class JingleS5BTransportManager extends JingleTransportManager<Jing
request.setType(IQ.Type.get); request.setType(IQ.Type.get);
request.setTo(proxy); request.setTo(proxy);
try { try {
Bytestream response = connection.createStanzaCollectorAndSend(request).nextResultOrThrow(); Bytestream response = connection.sendIqRequestAndWaitForResponse(request);
streamHosts.addAll(response.getStreamHosts()); streamHosts.addAll(response.getStreamHosts());
} }
catch (Exception e) { catch (Exception e) {

View file

@ -137,8 +137,7 @@ public class JingleS5BTransportSession extends JingleTransportSession<JingleS5BT
Jingle jingle = transportManager().createCandidateUsed(jingleSession.getRemote(), jingleSession.getInitiator(), jingleSession.getSessionId(), Jingle jingle = transportManager().createCandidateUsed(jingleSession.getRemote(), jingleSession.getInitiator(), jingleSession.getSessionId(),
content.getSenders(), content.getCreator(), content.getName(), theirProposal.getStreamId(), ourChoice.candidate.getCandidateId()); content.getSenders(), content.getCreator(), content.getName(), theirProposal.getStreamId(), ourChoice.candidate.getCandidateId());
try { try {
jingleSession.getConnection().createStanzaCollectorAndSend(jingle) jingleSession.getConnection().sendIqRequestAndWaitForResponse(jingle);
.nextResultOrThrow();
} catch (InterruptedException | XMPPException.XMPPErrorException | SmackException.NotConnectedException | SmackException.NoResponseException e) { } catch (InterruptedException | XMPPException.XMPPErrorException | SmackException.NotConnectedException | SmackException.NoResponseException e) {
LOGGER.log(Level.WARNING, "Could not send candidate-used.", e); LOGGER.log(Level.WARNING, "Could not send candidate-used.", e);
} }
@ -303,7 +302,7 @@ public class JingleS5BTransportSession extends JingleTransportSession<JingleS5BT
activate.setToActivate(jingleSession.getRemote()); activate.setToActivate(jingleSession.getRemote());
activate.setFrom(jingleSession.getLocal()); activate.setFrom(jingleSession.getLocal());
try { try {
jingleSession.getConnection().createStanzaCollectorAndSend(activate).nextResultOrThrow(); jingleSession.getConnection().sendIqRequestAndWaitForResponse(activate);
} catch (InterruptedException | XMPPException.XMPPErrorException | SmackException.NotConnectedException | SmackException.NoResponseException e) { } catch (InterruptedException | XMPPException.XMPPErrorException | SmackException.NotConnectedException | SmackException.NoResponseException e) {
LOGGER.log(Level.WARNING, "Could not activate proxy.", e); LOGGER.log(Level.WARNING, "Could not activate proxy.", e);
return; return;
@ -315,8 +314,7 @@ public class JingleS5BTransportSession extends JingleTransportSession<JingleS5BT
content.getSenders(), content.getCreator(), content.getName(), nominated.transport.getStreamId(), content.getSenders(), content.getCreator(), content.getName(), nominated.transport.getStreamId(),
nominated.candidate.getCandidateId()); nominated.candidate.getCandidateId());
try { try {
jingleSession.getConnection().createStanzaCollectorAndSend(candidateActivate) jingleSession.getConnection().sendIqRequestAndWaitForResponse(candidateActivate);
.nextResultOrThrow();
} catch (InterruptedException | XMPPException.XMPPErrorException | SmackException.NotConnectedException | SmackException.NoResponseException e) { } catch (InterruptedException | XMPPException.XMPPErrorException | SmackException.NotConnectedException | SmackException.NoResponseException e) {
LOGGER.log(Level.WARNING, "Could not send candidate-activated", e); LOGGER.log(Level.WARNING, "Could not send candidate-activated", e);
return; return;

View file

@ -838,7 +838,7 @@ public class MultiUserChat {
iq.setTo(room); iq.setTo(room);
iq.setType(IQ.Type.get); iq.setType(IQ.Type.get);
IQ answer = connection.createStanzaCollectorAndSend(iq).nextResultOrThrow(); IQ answer = connection.sendIqRequestAndWaitForResponse(iq);
DataForm dataForm = DataForm.from(answer, MucConfigFormManager.FORM_TYPE); DataForm dataForm = DataForm.from(answer, MucConfigFormManager.FORM_TYPE);
return new Form(dataForm); return new Form(dataForm);
} }
@ -867,7 +867,7 @@ public class MultiUserChat {
iq.setType(IQ.Type.set); iq.setType(IQ.Type.set);
iq.addExtension(dataForm); iq.addExtension(dataForm);
connection.createStanzaCollectorAndSend(iq).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(iq);
} }
/** /**
@ -892,7 +892,7 @@ public class MultiUserChat {
reg.setType(IQ.Type.get); reg.setType(IQ.Type.get);
reg.setTo(room); reg.setTo(room);
IQ result = connection.createStanzaCollectorAndSend(reg).nextResultOrThrow(); IQ result = connection.sendIqRequestAndWaitForResponse(reg);
DataForm dataForm = DataForm.from(result); DataForm dataForm = DataForm.from(result);
return new Form(dataForm); return new Form(dataForm);
} }
@ -920,7 +920,7 @@ public class MultiUserChat {
reg.setTo(room); reg.setTo(room);
reg.addExtension(form.getDataFormToSubmit()); reg.addExtension(form.getDataFormToSubmit());
connection.createStanzaCollectorAndSend(reg).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(reg);
} }
/** /**
@ -965,7 +965,7 @@ public class MultiUserChat {
iq.setDestroy(destroy); iq.setDestroy(destroy);
try { try {
connection.createStanzaCollectorAndSend(iq).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(iq);
} }
catch (XMPPErrorException e) { catch (XMPPErrorException e) {
// Note that we do not call userHasLeft() here because an XMPPErrorException would usually indicate that the // Note that we do not call userHasLeft() here because an XMPPErrorException would usually indicate that the
@ -1718,7 +1718,7 @@ public class MultiUserChat {
MUCItem item = new MUCItem(affiliation, jid, reason); MUCItem item = new MUCItem(affiliation, jid, reason);
iq.addItem(item); iq.addItem(item);
connection.createStanzaCollectorAndSend(iq).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(iq);
} }
private void changeAffiliationByAdmin(Collection<? extends Jid> jids, MUCAffiliation affiliation) private void changeAffiliationByAdmin(Collection<? extends Jid> jids, MUCAffiliation affiliation)
@ -1732,7 +1732,7 @@ public class MultiUserChat {
iq.addItem(item); iq.addItem(item);
} }
connection.createStanzaCollectorAndSend(iq).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(iq);
} }
private void changeRole(Resourcepart nickname, MUCRole role, String reason) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { private void changeRole(Resourcepart nickname, MUCRole role, String reason) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
@ -1743,7 +1743,7 @@ public class MultiUserChat {
MUCItem item = new MUCItem(role, nickname, reason); MUCItem item = new MUCItem(role, nickname, reason);
iq.addItem(item); iq.addItem(item);
connection.createStanzaCollectorAndSend(iq).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(iq);
} }
private void changeRole(Collection<Resourcepart> nicknames, MUCRole role) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { private void changeRole(Collection<Resourcepart> nicknames, MUCRole role) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
@ -1756,7 +1756,7 @@ public class MultiUserChat {
iq.addItem(item); iq.addItem(item);
} }
connection.createStanzaCollectorAndSend(iq).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(iq);
} }
/** /**
@ -1914,7 +1914,7 @@ public class MultiUserChat {
MUCItem item = new MUCItem(affiliation); MUCItem item = new MUCItem(affiliation);
iq.addItem(item); iq.addItem(item);
MUCAdmin answer = (MUCAdmin) connection.createStanzaCollectorAndSend(iq).nextResultOrThrow(); MUCAdmin answer = (MUCAdmin) connection.sendIqRequestAndWaitForResponse(iq);
// Get the list of affiliates from the server's answer // Get the list of affiliates from the server's answer
List<Affiliate> affiliates = new ArrayList<Affiliate>(); List<Affiliate> affiliates = new ArrayList<Affiliate>();
@ -1969,7 +1969,7 @@ public class MultiUserChat {
MUCItem item = new MUCItem(role); MUCItem item = new MUCItem(role);
iq.addItem(item); iq.addItem(item);
MUCAdmin answer = (MUCAdmin) connection.createStanzaCollectorAndSend(iq).nextResultOrThrow(); MUCAdmin answer = (MUCAdmin) connection.sendIqRequestAndWaitForResponse(iq);
// Get the list of participants from the server's answer // Get the list of participants from the server's answer
List<Occupant> participants = new ArrayList<Occupant>(); List<Occupant> participants = new ArrayList<Occupant>();
for (MUCItem mucadminItem : answer.getItems()) { for (MUCItem mucadminItem : answer.getItems()) {

View file

@ -178,7 +178,7 @@ public final class OfflineMessageManager extends Manager {
}); });
int pendingNodes = nodes.size(); int pendingNodes = nodes.size();
try (StanzaCollector messageCollector = connection().createStanzaCollector(messageFilter)) { try (StanzaCollector messageCollector = connection().createStanzaCollector(messageFilter)) {
connection().createStanzaCollectorAndSend(request).nextResultOrThrow(); connection().sendIqRequestAndWaitForResponse(request);
// Collect the received offline messages // Collect the received offline messages
Message message; Message message;
do { do {
@ -249,7 +249,7 @@ public final class OfflineMessageManager extends Manager {
item.setAction("remove"); item.setAction("remove");
request.addItem(item); request.addItem(item);
} }
connection().createStanzaCollectorAndSend(request).nextResultOrThrow(); connection().sendIqRequestAndWaitForResponse(request);
} }
/** /**
@ -265,6 +265,6 @@ public final class OfflineMessageManager extends Manager {
OfflineMessageRequest request = new OfflineMessageRequest(); OfflineMessageRequest request = new OfflineMessageRequest();
request.setType(IQ.Type.set); request.setType(IQ.Type.set);
request.setPurge(true); request.setPurge(true);
connection().createStanzaCollectorAndSend(request).nextResultOrThrow(); connection().sendIqRequestAndWaitForResponse(request);
} }
} }

View file

@ -233,7 +233,7 @@ public final class PrivacyListManager extends Manager {
// The request is a get iq type // The request is a get iq type
requestPrivacy.setType(Privacy.Type.get); requestPrivacy.setType(Privacy.Type.get);
return connection().createStanzaCollectorAndSend(requestPrivacy).nextResultOrThrow(); return connection().sendIqRequestAndWaitForResponse(requestPrivacy);
} }
/** /**
@ -252,7 +252,7 @@ public final class PrivacyListManager extends Manager {
// The request is a get iq type // The request is a get iq type
requestPrivacy.setType(Privacy.Type.set); requestPrivacy.setType(Privacy.Type.set);
return connection().createStanzaCollectorAndSend(requestPrivacy).nextResultOrThrow(); return connection().sendIqRequestAndWaitForResponse(requestPrivacy);
} }
/** /**

View file

@ -57,7 +57,7 @@ public class LeafNode extends Node {
DiscoverItems items = new DiscoverItems(); DiscoverItems items = new DiscoverItems();
items.setTo(pubSubManager.getServiceJid()); items.setTo(pubSubManager.getServiceJid());
items.setNode(getId()); items.setNode(getId());
return pubSubManager.getConnection().createStanzaCollectorAndSend(items).nextResultOrThrow(); return pubSubManager.getConnection().sendIqRequestAndWaitForResponse(items);
} }
/** /**
@ -194,7 +194,7 @@ public class LeafNode extends Node {
private <T extends Item> List<T> getItems(PubSub request, private <T extends Item> List<T> getItems(PubSub request,
List<XmlElement> returnedExtensions) throws NoResponseException, List<XmlElement> returnedExtensions) throws NoResponseException,
XMPPErrorException, NotConnectedException, InterruptedException { XMPPErrorException, NotConnectedException, InterruptedException {
PubSub result = pubSubManager.getConnection().createStanzaCollectorAndSend(request).nextResultOrThrow(); PubSub result = pubSubManager.getConnection().sendIqRequestAndWaitForResponse(request);
ItemsExtension itemsElem = result.getExtension(PubSubElementType.ITEMS); ItemsExtension itemsElem = result.getExtension(PubSubElementType.ITEMS);
if (returnedExtensions != null) { if (returnedExtensions != null) {
returnedExtensions.addAll(result.getExtensions()); returnedExtensions.addAll(result.getExtensions());
@ -278,7 +278,7 @@ public class LeafNode extends Node {
public void publish() throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { public void publish() throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
PubSub packet = createPubsubPacket(IQ.Type.set, new NodeExtension(PubSubElementType.PUBLISH, getId())); PubSub packet = createPubsubPacket(IQ.Type.set, new NodeExtension(PubSubElementType.PUBLISH, getId()));
pubSubManager.getConnection().createStanzaCollectorAndSend(packet).nextResultOrThrow(); pubSubManager.getConnection().sendIqRequestAndWaitForResponse(packet);
} }
/** /**
@ -327,7 +327,7 @@ public class LeafNode extends Node {
public <T extends Item> void publish(Collection<T> items) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { public <T extends Item> void publish(Collection<T> items) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
PubSub packet = createPubsubPacket(IQ.Type.set, new PublishItem<>(getId(), items)); PubSub packet = createPubsubPacket(IQ.Type.set, new PublishItem<>(getId(), items));
pubSubManager.getConnection().createStanzaCollectorAndSend(packet).nextResultOrThrow(); pubSubManager.getConnection().sendIqRequestAndWaitForResponse(packet);
} }
/** /**
@ -343,7 +343,7 @@ public class LeafNode extends Node {
public void deleteAllItems() throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { public void deleteAllItems() throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
PubSub request = createPubsubPacket(IQ.Type.set, new NodeExtension(PubSubElementType.PURGE_OWNER, getId())); PubSub request = createPubsubPacket(IQ.Type.set, new NodeExtension(PubSubElementType.PURGE_OWNER, getId()));
pubSubManager.getConnection().createStanzaCollectorAndSend(request).nextResultOrThrow(); pubSubManager.getConnection().sendIqRequestAndWaitForResponse(request);
} }
/** /**
@ -377,6 +377,6 @@ public class LeafNode extends Node {
items.add(new Item(id)); items.add(new Item(id));
} }
PubSub request = createPubsubPacket(IQ.Type.set, new ItemsExtension(ItemsExtension.ItemsElementType.retract, getId(), items)); PubSub request = createPubsubPacket(IQ.Type.set, new ItemsExtension(ItemsExtension.ItemsElementType.retract, getId(), items));
pubSubManager.getConnection().createStanzaCollectorAndSend(request).nextResultOrThrow(); pubSubManager.getConnection().sendIqRequestAndWaitForResponse(request);
} }
} }

View file

@ -112,7 +112,7 @@ public abstract class Node {
public void sendConfigurationForm(FillableConfigureForm configureForm) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { public void sendConfigurationForm(FillableConfigureForm configureForm) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
PubSub packet = createPubsubPacket(IQ.Type.set, new FormNode(FormNodeType.CONFIGURE_OWNER, PubSub packet = createPubsubPacket(IQ.Type.set, new FormNode(FormNodeType.CONFIGURE_OWNER,
getId(), configureForm.getDataFormToSubmit())); getId(), configureForm.getDataFormToSubmit()));
pubSubManager.getConnection().createStanzaCollectorAndSend(packet).nextResultOrThrow(); pubSubManager.getConnection().sendIqRequestAndWaitForResponse(packet);
} }
/** /**
@ -130,7 +130,7 @@ public abstract class Node {
.to(pubSubManager.getServiceJid()) .to(pubSubManager.getServiceJid())
.setNode(getId()) .setNode(getId())
.build(); .build();
return connection.createStanzaCollectorAndSend(discoverInfoRequest).nextResultOrThrow(); return connection.sendIqRequestAndWaitForResponse(discoverInfoRequest);
} }
/** /**

View file

@ -302,7 +302,7 @@ public final class PubSubManager extends Manager {
.setNode(id) .setNode(id)
.build(); .build();
DiscoverInfo infoReply = connection.createStanzaCollectorAndSend(info).nextResultOrThrow(); DiscoverInfo infoReply = connection.sendIqRequestAndWaitForResponse(info);
if (infoReply.hasIdentity(PubSub.ELEMENT, "leaf")) { if (infoReply.hasIdentity(PubSub.ELEMENT, "leaf")) {
node = new LeafNode(this, id); node = new LeafNode(this, id);
@ -492,7 +492,7 @@ public final class PubSubManager extends Manager {
if (nodeId != null) if (nodeId != null)
items.setNode(nodeId); items.setNode(nodeId);
items.setTo(pubSubService); items.setTo(pubSubService);
DiscoverItems nodeItems = connection().createStanzaCollectorAndSend(items).nextResultOrThrow(); DiscoverItems nodeItems = connection().sendIqRequestAndWaitForResponse(items);
return nodeItems; return nodeItems;
} }
@ -666,7 +666,7 @@ public final class PubSubManager extends Manager {
PubSub sendPubsubPacket(PubSub packet) throws NoResponseException, XMPPErrorException, PubSub sendPubsubPacket(PubSub packet) throws NoResponseException, XMPPErrorException,
NotConnectedException, InterruptedException { NotConnectedException, InterruptedException {
IQ resultIQ = connection().createStanzaCollectorAndSend(packet).nextResultOrThrow(); IQ resultIQ = connection().sendIqRequestAndWaitForResponse(packet);
if (resultIQ instanceof EmptyResultIQ) { if (resultIQ instanceof EmptyResultIQ) {
return null; return null;
} }

View file

@ -73,7 +73,7 @@ public class UserSearch extends SimpleIQ {
search.setType(IQ.Type.get); search.setType(IQ.Type.get);
search.setTo(searchService); search.setTo(searchService);
IQ response = con.createStanzaCollectorAndSend(search).nextResultOrThrow(); IQ response = con.sendIqRequestAndWaitForResponse(search);
return DataForm.from(response, NAMESPACE); return DataForm.from(response, NAMESPACE);
} }
@ -95,7 +95,7 @@ public class UserSearch extends SimpleIQ {
search.setTo(searchService); search.setTo(searchService);
search.addExtension(searchForm); search.addExtension(searchForm);
IQ response = con.createStanzaCollectorAndSend(search).nextResultOrThrow(); IQ response = con.sendIqRequestAndWaitForResponse(search);
return ReportedData.getReportedDataFrom(response); return ReportedData.getReportedDataFrom(response);
} }
@ -117,7 +117,7 @@ public class UserSearch extends SimpleIQ {
search.setType(IQ.Type.set); search.setType(IQ.Type.set);
search.setTo(searchService); search.setTo(searchService);
SimpleUserSearch response = con.createStanzaCollectorAndSend(search).nextResultOrThrow(); SimpleUserSearch response = con.sendIqRequestAndWaitForResponse(search);
return response.getReportedData(); return response.getReportedData();
} }

View file

@ -52,7 +52,7 @@ public class SharedGroupManager {
SharedGroupsInfo info = new SharedGroupsInfo(); SharedGroupsInfo info = new SharedGroupsInfo();
info.setType(IQ.Type.get); info.setType(IQ.Type.get);
SharedGroupsInfo result = connection.createStanzaCollectorAndSend(info).nextResultOrThrow(); SharedGroupsInfo result = connection.sendIqRequestAndWaitForResponse(info);
return result.getGroups(); return result.getGroups();
} }
} }

View file

@ -118,6 +118,6 @@ public final class EntityTimeManager extends Manager {
Time request = Time.builder(connection) Time request = Time.builder(connection)
.to(jid) .to(jid)
.build(); .build();
return connection.createStanzaCollectorAndSend(request).nextResultOrThrow(); return connection.sendIqRequestAndWaitForResponse(request);
} }
} }

View file

@ -107,7 +107,7 @@ public final class VCardManager extends Manager {
// Also make sure to generate a new stanza id (the given vcard could be a vcard result), in which case we don't // Also make sure to generate a new stanza id (the given vcard could be a vcard result), in which case we don't
// want to use the same stanza id again (although it wouldn't break if we did) // want to use the same stanza id again (although it wouldn't break if we did)
vcard.setStanzaId(); vcard.setStanzaId();
connection().createStanzaCollectorAndSend(vcard).nextResultOrThrow(); connection().sendIqRequestAndWaitForResponse(vcard);
} }
/** /**
@ -137,7 +137,7 @@ public final class VCardManager extends Manager {
public VCard loadVCard(EntityBareJid bareJid) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { public VCard loadVCard(EntityBareJid bareJid) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
VCard vcardRequest = new VCard(); VCard vcardRequest = new VCard();
vcardRequest.setTo(bareJid); vcardRequest.setTo(bareJid);
VCard result = connection().createStanzaCollectorAndSend(vcardRequest).nextResultOrThrow(); VCard result = connection().sendIqRequestAndWaitForResponse(vcardRequest);
return result; return result;
} }

View file

@ -129,6 +129,17 @@ public class ConnectionUtils {
when(collector.nextResultOrThrow()).thenAnswer(answerOrThrow); when(collector.nextResultOrThrow()).thenAnswer(answerOrThrow);
when(collector.nextResultOrThrow(anyLong())).thenAnswer(answerOrThrow); when(collector.nextResultOrThrow(anyLong())).thenAnswer(answerOrThrow);
Answer<IQ> responseIq = new Answer<IQ>() {
@Override
public IQ answer(InvocationOnMock invocation) throws Throwable {
collectorAndSend.answer(invocation);
IQ response = (IQ) answerOrThrow.answer(invocation);
return response;
}
};
when(connection.sendIqRequestAndWaitForResponse(isA(IQ.class))).thenAnswer(responseIq);
// initialize service discovery manager for this connection // initialize service discovery manager for this connection
ServiceDiscoveryManager.getInstanceFor(connection); ServiceDiscoveryManager.getInstanceFor(connection);

View file

@ -699,7 +699,7 @@ public final class Roster extends Manager {
} }
} }
rosterPacket.addRosterItem(item); rosterPacket.addRosterItem(item);
connection.createStanzaCollectorAndSend(rosterPacket).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(rosterPacket);
} }
/** /**
@ -852,7 +852,7 @@ public final class Roster extends Manager {
// Set the item type as REMOVE so that the server will delete the entry // Set the item type as REMOVE so that the server will delete the entry
item.setItemType(RosterPacket.ItemType.remove); item.setItemType(RosterPacket.ItemType.remove);
packet.addRosterItem(item); packet.addRosterItem(item);
connection.createStanzaCollectorAndSend(packet).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(packet);
} }
/** /**

View file

@ -110,7 +110,7 @@ public final class RosterEntry extends Manager {
// Create a new roster item with the current RosterEntry and the *new* name. Note that we can't set the name of // Create a new roster item with the current RosterEntry and the *new* name. Note that we can't set the name of
// RosterEntry right away, as otherwise the updated event wont get fired, because equalsDeep would return true. // RosterEntry right away, as otherwise the updated event wont get fired, because equalsDeep would return true.
packet.addRosterItem(toRosterItem(this, name)); packet.addRosterItem(toRosterItem(this, name));
connection().createStanzaCollectorAndSend(packet).nextResultOrThrow(); connection().sendIqRequestAndWaitForResponse(packet);
// We have received a result response to the IQ set, the name was successfully changed // We have received a result response to the IQ set, the name was successfully changed
item.setName(name); item.setName(name);

View file

@ -85,7 +85,7 @@ public class RosterGroup extends Manager {
item.removeGroupName(this.name); item.removeGroupName(this.name);
item.addGroupName(name); item.addGroupName(name);
packet.addRosterItem(item); packet.addRosterItem(item);
connection().createStanzaCollectorAndSend(packet).nextResultOrThrow(); connection().sendIqRequestAndWaitForResponse(packet);
} }
} }
} }
@ -180,7 +180,7 @@ public class RosterGroup extends Manager {
item.addGroupName(getName()); item.addGroupName(getName());
packet.addRosterItem(item); packet.addRosterItem(item);
// Wait up to a certain number of seconds for a reply from the server. // Wait up to a certain number of seconds for a reply from the server.
connection().createStanzaCollectorAndSend(packet).nextResultOrThrow(); connection().sendIqRequestAndWaitForResponse(packet);
} }
} }
} }
@ -211,7 +211,7 @@ public class RosterGroup extends Manager {
item.removeGroupName(this.getName()); item.removeGroupName(this.getName());
packet.addRosterItem(item); packet.addRosterItem(item);
// Wait up to a certain number of seconds for a reply from the server. // Wait up to a certain number of seconds for a reply from the server.
connection().createStanzaCollectorAndSend(packet).nextResultOrThrow(); connection().sendIqRequestAndWaitForResponse(packet);
} }
} }
} }

View file

@ -20,8 +20,10 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.jivesoftware.smack.SmackException; import org.jivesoftware.smack.SmackException;
import org.jivesoftware.smack.SmackException.NoResponseException;
import org.jivesoftware.smack.SmackException.NotConnectedException; import org.jivesoftware.smack.SmackException.NotConnectedException;
import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.XMPPException.XMPPErrorException;
import org.jivesoftware.smack.packet.IQ; import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smackx.jingleold.listeners.JingleListener; import org.jivesoftware.smackx.jingleold.listeners.JingleListener;
@ -265,7 +267,7 @@ public class ContentNegotiator extends JingleNegotiator {
return result; return result;
} }
public void triggerContentEstablished() throws NotConnectedException, InterruptedException { public void triggerContentEstablished() throws NotConnectedException, InterruptedException, NoResponseException, XMPPErrorException {
PayloadType bestCommonAudioPt = getMediaNegotiator().getBestCommonAudioPt(); PayloadType bestCommonAudioPt = getMediaNegotiator().getBestCommonAudioPt();
TransportCandidate bestRemoteCandidate = getTransportNegotiator().getBestRemoteCandidate(); TransportCandidate bestRemoteCandidate = getTransportNegotiator().getBestRemoteCandidate();
@ -279,8 +281,10 @@ public class ContentNegotiator extends JingleNegotiator {
* Trigger a session established event. * Trigger a session established event.
* @throws NotConnectedException if the XMPP connection is not connected. * @throws NotConnectedException if the XMPP connection is not connected.
* @throws InterruptedException if the calling thread was interrupted. * @throws InterruptedException if the calling thread was interrupted.
* @throws XMPPErrorException if there was an XMPP error returned.
* @throws NoResponseException if there was no response from the remote entity.
*/ */
private void triggerContentEstablished(PayloadType pt, TransportCandidate rc, TransportCandidate lc) throws NotConnectedException, InterruptedException { private void triggerContentEstablished(PayloadType pt, TransportCandidate rc, TransportCandidate lc) throws NotConnectedException, InterruptedException, NoResponseException, XMPPErrorException {
// Let the session know that we've established a content/media segment. // Let the session know that we've established a content/media segment.
JingleSession session = getSession(); JingleSession session = getSession();

View file

@ -27,10 +27,12 @@ import java.util.logging.Logger;
import org.jivesoftware.smack.AbstractConnectionClosedListener; import org.jivesoftware.smack.AbstractConnectionClosedListener;
import org.jivesoftware.smack.ConnectionListener; import org.jivesoftware.smack.ConnectionListener;
import org.jivesoftware.smack.SmackException; import org.jivesoftware.smack.SmackException;
import org.jivesoftware.smack.SmackException.NoResponseException;
import org.jivesoftware.smack.SmackException.NotConnectedException; import org.jivesoftware.smack.SmackException.NotConnectedException;
import org.jivesoftware.smack.StanzaListener; import org.jivesoftware.smack.StanzaListener;
import org.jivesoftware.smack.XMPPConnection; import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.XMPPException.XMPPErrorException;
import org.jivesoftware.smack.filter.StanzaFilter; import org.jivesoftware.smack.filter.StanzaFilter;
import org.jivesoftware.smack.packet.IQ; import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.Stanza; import org.jivesoftware.smack.packet.Stanza;
@ -847,7 +849,7 @@ public final class JingleSession extends JingleNegotiator implements MediaReceiv
JingleTransportListener jingleTransportListener = new JingleTransportListener() { JingleTransportListener jingleTransportListener = new JingleTransportListener() {
@Override @Override
public void transportEstablished(TransportCandidate local, TransportCandidate remote) throws NotConnectedException, InterruptedException { public void transportEstablished(TransportCandidate local, TransportCandidate remote) throws NotConnectedException, InterruptedException, NoResponseException, XMPPErrorException {
if (isFullyEstablished()) { if (isFullyEstablished()) {
// CHECKSTYLE:OFF // CHECKSTYLE:OFF
// Indicate that this session is active. // Indicate that this session is active.

View file

@ -16,9 +16,10 @@
*/ */
package org.jivesoftware.smackx.jingleold.listeners; package org.jivesoftware.smackx.jingleold.listeners;
import org.jivesoftware.smack.SmackException.NoResponseException;
import org.jivesoftware.smack.SmackException.NotConnectedException; import org.jivesoftware.smack.SmackException.NotConnectedException;
import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.XMPPException.XMPPErrorException;
import org.jivesoftware.smackx.jingleold.JingleSession; import org.jivesoftware.smackx.jingleold.JingleSession;
import org.jivesoftware.smackx.jingleold.media.PayloadType; import org.jivesoftware.smackx.jingleold.media.PayloadType;
import org.jivesoftware.smackx.jingleold.nat.TransportCandidate; import org.jivesoftware.smackx.jingleold.nat.TransportCandidate;
@ -39,9 +40,11 @@ public interface JingleSessionListener extends JingleListener {
* @param jingleSession Session that called the method * @param jingleSession Session that called the method
* @throws NotConnectedException if the XMPP connection is not connected. * @throws NotConnectedException if the XMPP connection is not connected.
* @throws InterruptedException if the calling thread was interrupted. * @throws InterruptedException if the calling thread was interrupted.
* @throws XMPPErrorException if there was an XMPP error returned.
* @throws NoResponseException if there was no response from the remote entity.
*/ */
void sessionEstablished(PayloadType pt, TransportCandidate remoteCandidate, void sessionEstablished(PayloadType pt, TransportCandidate remoteCandidate,
TransportCandidate localCandidate, JingleSession jingleSession) throws NotConnectedException, InterruptedException; TransportCandidate localCandidate, JingleSession jingleSession) throws NotConnectedException, InterruptedException, NoResponseException, XMPPErrorException;
/** /**
* Notification that the session was declined. * Notification that the session was declined.

View file

@ -16,9 +16,10 @@
*/ */
package org.jivesoftware.smackx.jingleold.listeners; package org.jivesoftware.smackx.jingleold.listeners;
import org.jivesoftware.smack.SmackException.NoResponseException;
import org.jivesoftware.smack.SmackException.NotConnectedException; import org.jivesoftware.smack.SmackException.NotConnectedException;
import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.XMPPException.XMPPErrorException;
import org.jivesoftware.smackx.jingleold.nat.TransportCandidate; import org.jivesoftware.smackx.jingleold.nat.TransportCandidate;
/** /**
@ -37,9 +38,11 @@ public interface JingleTransportListener extends JingleListener {
* transmitting to the remote machine * transmitting to the remote machine
* @throws NotConnectedException if the XMPP connection is not connected. * @throws NotConnectedException if the XMPP connection is not connected.
* @throws InterruptedException if the calling thread was interrupted. * @throws InterruptedException if the calling thread was interrupted.
* @throws XMPPErrorException if there was an XMPP error returned.
* @throws NoResponseException if there was no response from the remote entity.
*/ */
void transportEstablished(TransportCandidate local, void transportEstablished(TransportCandidate local,
TransportCandidate remote) throws NotConnectedException, InterruptedException; TransportCandidate remote) throws NotConnectedException, InterruptedException, NoResponseException, XMPPErrorException;
/** /**
* Notification that a transport must be cancelled. * Notification that a transport must be cancelled.

View file

@ -68,9 +68,10 @@ public class BridgedResolver extends TransportResolver {
* The BridgedResolver takes the IP address and ports of a jmf proxy service. * The BridgedResolver takes the IP address and ports of a jmf proxy service.
* @throws NotConnectedException if the XMPP connection is not connected. * @throws NotConnectedException if the XMPP connection is not connected.
* @throws InterruptedException if the calling thread was interrupted. * @throws InterruptedException if the calling thread was interrupted.
* @throws NoResponseException if there was no response from the remote entity.
*/ */
@Override @Override
public synchronized void resolve(JingleSession session) throws XMPPException, NotConnectedException, InterruptedException { public synchronized void resolve(JingleSession session) throws XMPPException, NotConnectedException, InterruptedException, NoResponseException {
setResolveInit(); setResolveInit();

View file

@ -16,10 +16,11 @@
*/ */
package org.jivesoftware.smackx.jingleold.nat; package org.jivesoftware.smackx.jingleold.nat;
import org.jivesoftware.smack.SmackException.NoResponseException;
import org.jivesoftware.smack.SmackException.NotConnectedException; import org.jivesoftware.smack.SmackException.NotConnectedException;
import org.jivesoftware.smack.XMPPConnection; import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.XMPPException.XMPPErrorException;
import org.jivesoftware.smackx.jingleold.JingleSession; import org.jivesoftware.smackx.jingleold.JingleSession;
import org.jivesoftware.smackx.jingleold.listeners.CreatedJingleSessionListener; import org.jivesoftware.smackx.jingleold.listeners.CreatedJingleSessionListener;
import org.jivesoftware.smackx.jingleold.listeners.JingleSessionListener; import org.jivesoftware.smackx.jingleold.listeners.JingleSessionListener;
@ -57,7 +58,7 @@ public class BridgedTransportManager extends JingleTransportManager implements J
// Implement a Session Listener to relay candidates after establishment // Implement a Session Listener to relay candidates after establishment
@Override @Override
public void sessionEstablished(PayloadType pt, TransportCandidate rc, TransportCandidate lc, JingleSession jingleSession) throws NotConnectedException, InterruptedException { public void sessionEstablished(PayloadType pt, TransportCandidate rc, TransportCandidate lc, JingleSession jingleSession) throws NotConnectedException, InterruptedException, NoResponseException, XMPPErrorException {
RTPBridge rtpBridge = RTPBridge.relaySession(lc.getConnection(), lc.getSessionId(), lc.getPassword(), rc, lc); RTPBridge rtpBridge = RTPBridge.relaySession(lc.getConnection(), lc.getSessionId(), lc.getPassword(), rc, lc);
} }

View file

@ -20,10 +20,11 @@ import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.jivesoftware.smack.SmackException; import org.jivesoftware.smack.SmackException;
import org.jivesoftware.smack.SmackException.NoResponseException;
import org.jivesoftware.smack.SmackException.NotConnectedException; import org.jivesoftware.smack.SmackException.NotConnectedException;
import org.jivesoftware.smack.XMPPConnection; import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.XMPPException.XMPPErrorException;
import org.jivesoftware.smackx.jingleold.JingleSession; import org.jivesoftware.smackx.jingleold.JingleSession;
import org.jivesoftware.smackx.jingleold.listeners.CreatedJingleSessionListener; import org.jivesoftware.smackx.jingleold.listeners.CreatedJingleSessionListener;
import org.jivesoftware.smackx.jingleold.listeners.JingleSessionListener; import org.jivesoftware.smackx.jingleold.listeners.JingleSessionListener;
@ -59,7 +60,7 @@ public class ICETransportManager extends JingleTransportManager implements Jingl
// Implement a Session Listener to relay candidates after establishment // Implement a Session Listener to relay candidates after establishment
@Override @Override
public void sessionEstablished(PayloadType pt, TransportCandidate rc, TransportCandidate lc, JingleSession jingleSession) throws NotConnectedException, InterruptedException { public void sessionEstablished(PayloadType pt, TransportCandidate rc, TransportCandidate lc, JingleSession jingleSession) throws NotConnectedException, InterruptedException, NoResponseException, XMPPErrorException {
if (lc instanceof ICECandidate) { if (lc instanceof ICECandidate) {
if (((ICECandidate) lc).getType().equals(ICECandidate.Type.relay)) { if (((ICECandidate) lc).getType().equals(ICECandidate.Type.relay)) {
RTPBridge rtpBridge = RTPBridge.relaySession(lc.getConnection(), lc.getSessionId(), lc.getPassword(), rc, lc); RTPBridge rtpBridge = RTPBridge.relaySession(lc.getConnection(), lc.getSessionId(), lc.getPassword(), rc, lc);

View file

@ -27,7 +27,6 @@ import java.util.logging.Logger;
import org.jivesoftware.smack.SmackException.NoResponseException; import org.jivesoftware.smack.SmackException.NoResponseException;
import org.jivesoftware.smack.SmackException.NotConnectedException; import org.jivesoftware.smack.SmackException.NotConnectedException;
import org.jivesoftware.smack.StanzaCollector;
import org.jivesoftware.smack.XMPPConnection; import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException.XMPPErrorException; import org.jivesoftware.smack.XMPPException.XMPPErrorException;
import org.jivesoftware.smack.packet.IQ; import org.jivesoftware.smack.packet.IQ;
@ -400,8 +399,10 @@ public class RTPBridge extends IQ {
* @return the new RTPBridge * @return the new RTPBridge
* @throws NotConnectedException if the XMPP connection is not connected. * @throws NotConnectedException if the XMPP connection is not connected.
* @throws InterruptedException if the calling thread was interrupted. * @throws InterruptedException if the calling thread was interrupted.
* @throws XMPPErrorException if there was an XMPP error returned.
* @throws NoResponseException if there was no response from the remote entity.
*/ */
public static RTPBridge getRTPBridge(XMPPConnection connection, String sessionID) throws NotConnectedException, InterruptedException { public static RTPBridge getRTPBridge(XMPPConnection connection, String sessionID) throws NotConnectedException, InterruptedException, NoResponseException, XMPPErrorException {
if (!connection.isConnected()) { if (!connection.isConnected()) {
return null; return null;
@ -416,12 +417,7 @@ public class RTPBridge extends IQ {
} }
rtpPacket.setTo(jid); rtpPacket.setTo(jid);
StanzaCollector collector = connection.createStanzaCollectorAndSend(rtpPacket); RTPBridge response = connection.sendIqRequestAndWaitForResponse(rtpPacket);
RTPBridge response = collector.nextResult();
// Cancel the collector.
collector.cancel();
return response; return response;
} }
@ -477,8 +473,10 @@ public class RTPBridge extends IQ {
* @return the RTPBridge * @return the RTPBridge
* @throws NotConnectedException if the XMPP connection is not connected. * @throws NotConnectedException if the XMPP connection is not connected.
* @throws InterruptedException if the calling thread was interrupted. * @throws InterruptedException if the calling thread was interrupted.
* @throws XMPPErrorException if there was an XMPP error returned.
* @throws NoResponseException if there was no response from the remote entity.
*/ */
public static RTPBridge relaySession(XMPPConnection connection, String sessionID, String pass, TransportCandidate proxyCandidate, TransportCandidate localCandidate) throws NotConnectedException, InterruptedException { public static RTPBridge relaySession(XMPPConnection connection, String sessionID, String pass, TransportCandidate proxyCandidate, TransportCandidate localCandidate) throws NotConnectedException, InterruptedException, NoResponseException, XMPPErrorException {
if (!connection.isConnected()) { if (!connection.isConnected()) {
return null; return null;
@ -502,12 +500,7 @@ public class RTPBridge extends IQ {
// LOGGER.debug("Relayed to: " + candidate.getIp() + ":" + candidate.getPort()); // LOGGER.debug("Relayed to: " + candidate.getIp() + ":" + candidate.getPort());
StanzaCollector collector = connection.createStanzaCollectorAndSend(rtpPacket); RTPBridge response = connection.sendIqRequestAndWaitForResponse(rtpPacket);
RTPBridge response = collector.nextResult();
// Cancel the collector.
collector.cancel();
return response; return response;
} }
@ -519,8 +512,10 @@ public class RTPBridge extends IQ {
* @return public IP String or null if not found * @return public IP String or null if not found
* @throws NotConnectedException if the XMPP connection is not connected. * @throws NotConnectedException if the XMPP connection is not connected.
* @throws InterruptedException if the calling thread was interrupted. * @throws InterruptedException if the calling thread was interrupted.
* @throws XMPPErrorException if there was an XMPP error returned.
* @throws NoResponseException if there was no response from the remote entity.
*/ */
public static String getPublicIP(XMPPConnection xmppConnection) throws NotConnectedException, InterruptedException { public static String getPublicIP(XMPPConnection xmppConnection) throws NotConnectedException, InterruptedException, NoResponseException, XMPPErrorException {
if (!xmppConnection.isConnected()) { if (!xmppConnection.isConnected()) {
return null; return null;
@ -538,12 +533,7 @@ public class RTPBridge extends IQ {
// LOGGER.debug("Relayed to: " + candidate.getIp() + ":" + candidate.getPort()); // LOGGER.debug("Relayed to: " + candidate.getIp() + ":" + candidate.getPort());
StanzaCollector collector = xmppConnection.createStanzaCollectorAndSend(rtpPacket); RTPBridge response = xmppConnection.sendIqRequestAndWaitForResponse(rtpPacket);
RTPBridge response = collector.nextResult();
// Cancel the collector.
collector.cancel();
if (response == null) return null; if (response == null) return null;

View file

@ -22,10 +22,11 @@ import java.util.List;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.jivesoftware.smack.SmackException; import org.jivesoftware.smack.SmackException;
import org.jivesoftware.smack.SmackException.NoResponseException;
import org.jivesoftware.smack.SmackException.NotConnectedException; import org.jivesoftware.smack.SmackException.NotConnectedException;
import org.jivesoftware.smack.StanzaCollector;
import org.jivesoftware.smack.XMPPConnection; import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.XMPPException.XMPPErrorException;
import org.jivesoftware.smack.packet.SimpleIQ; import org.jivesoftware.smack.packet.SimpleIQ;
import org.jivesoftware.smack.packet.XmlEnvironment; import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider; import org.jivesoftware.smack.provider.IQProvider;
@ -180,8 +181,10 @@ public class STUN extends SimpleIQ {
* @return the STUN server address * @return the STUN server address
* @throws NotConnectedException if the XMPP connection is not connected. * @throws NotConnectedException if the XMPP connection is not connected.
* @throws InterruptedException if the calling thread was interrupted. * @throws InterruptedException if the calling thread was interrupted.
* @throws XMPPErrorException if there was an XMPP error returned.
* @throws NoResponseException if there was no response from the remote entity.
*/ */
public static STUN getSTUNServer(XMPPConnection connection) throws NotConnectedException, InterruptedException { public static STUN getSTUNServer(XMPPConnection connection) throws NotConnectedException, InterruptedException, NoResponseException, XMPPErrorException {
if (!connection.isConnected()) { if (!connection.isConnected()) {
return null; return null;
@ -196,12 +199,7 @@ public class STUN extends SimpleIQ {
} }
stunPacket.setTo(jid); stunPacket.setTo(jid);
StanzaCollector collector = connection.createStanzaCollectorAndSend(stunPacket); STUN response = connection.sendIqRequestAndWaitForResponse(stunPacket);
STUN response = collector.nextResult();
// Cancel the collector.
collector.cancel();
return response; return response;
} }

View file

@ -25,8 +25,10 @@ import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.jivesoftware.smack.SmackException; import org.jivesoftware.smack.SmackException;
import org.jivesoftware.smack.SmackException.NoResponseException;
import org.jivesoftware.smack.SmackException.NotConnectedException; import org.jivesoftware.smack.SmackException.NotConnectedException;
import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.XMPPException.XMPPErrorException;
import org.jivesoftware.smack.packet.IQ; import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smackx.jingleold.ContentNegotiator; import org.jivesoftware.smackx.jingleold.ContentNegotiator;
@ -346,7 +348,7 @@ public abstract class TransportNegotiator extends JingleNegotiator {
try { try {
triggerTransportEstablished(getAcceptedLocalCandidate(), bestRemote); triggerTransportEstablished(getAcceptedLocalCandidate(), bestRemote);
} }
catch (InterruptedException | NotConnectedException e) { catch (InterruptedException | NotConnectedException | NoResponseException | XMPPErrorException e) {
throw new IllegalStateException(e); throw new IllegalStateException(e);
} }
break; break;
@ -801,8 +803,10 @@ public abstract class TransportNegotiator extends JingleNegotiator {
* @param remote TransportCandidate that has been agreed. * @param remote TransportCandidate that has been agreed.
* @throws NotConnectedException if the XMPP connection is not connected. * @throws NotConnectedException if the XMPP connection is not connected.
* @throws InterruptedException if the calling thread was interrupted. * @throws InterruptedException if the calling thread was interrupted.
* @throws XMPPErrorException if there was an XMPP error returned.
* @throws NoResponseException if there was no response from the remote entity.
*/ */
private void triggerTransportEstablished(TransportCandidate local, TransportCandidate remote) throws NotConnectedException, InterruptedException { private void triggerTransportEstablished(TransportCandidate local, TransportCandidate remote) throws NotConnectedException, InterruptedException, NoResponseException, XMPPErrorException {
List<JingleListener> listeners = getListenersList(); List<JingleListener> listeners = getListenersList();
for (JingleListener li : listeners) { for (JingleListener li : listeners) {
if (li instanceof JingleTransportListener) { if (li instanceof JingleTransportListener) {

View file

@ -43,7 +43,7 @@ public class Agent {
public static Collection<String> getWorkgroups(Jid serviceJID, Jid agentJID, XMPPConnection connection) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { public static Collection<String> getWorkgroups(Jid serviceJID, Jid agentJID, XMPPConnection connection) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
AgentWorkgroups request = new AgentWorkgroups(agentJID); AgentWorkgroups request = new AgentWorkgroups(agentJID);
request.setTo(serviceJID); request.setTo(serviceJID);
AgentWorkgroups response = connection.createStanzaCollectorAndSend(request).nextResultOrThrow(); AgentWorkgroups response = connection.sendIqRequestAndWaitForResponse(request);
return response.getWorkgroups(); return response.getWorkgroups();
} }
@ -78,7 +78,7 @@ public class Agent {
agentInfo.setType(IQ.Type.get); agentInfo.setType(IQ.Type.get);
agentInfo.setTo(workgroupJID); agentInfo.setTo(workgroupJID);
agentInfo.setFrom(getUser()); agentInfo.setFrom(getUser());
AgentInfo response = connection.createStanzaCollectorAndSend(agentInfo).nextResultOrThrow(); AgentInfo response = connection.sendIqRequestAndWaitForResponse(agentInfo);
return response.getName(); return response.getName();
} }
@ -100,6 +100,6 @@ public class Agent {
agentInfo.setTo(workgroupJID); agentInfo.setTo(workgroupJID);
agentInfo.setFrom(getUser()); agentInfo.setFrom(getUser());
agentInfo.setName(newName); agentInfo.setName(newName);
connection.createStanzaCollectorAndSend(agentInfo).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(agentInfo);
} }
} }

View file

@ -596,7 +596,7 @@ public class AgentSession {
request.setType(IQ.Type.get); request.setType(IQ.Type.get);
request.setTo(workgroupJID); request.setTo(workgroupJID);
OccupantsInfo response = (OccupantsInfo) connection.createStanzaCollectorAndSend(request).nextResultOrThrow(); OccupantsInfo response = (OccupantsInfo) connection.sendIqRequestAndWaitForResponse(request);
return response; return response;
} }
@ -868,7 +868,7 @@ public class AgentSession {
notes.setTo(workgroupJID); notes.setTo(workgroupJID);
notes.setSessionID(sessionID); notes.setSessionID(sessionID);
notes.setNotes(note); notes.setNotes(note);
connection.createStanzaCollectorAndSend(notes).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(notes);
} }
/** /**
@ -887,7 +887,7 @@ public class AgentSession {
request.setTo(workgroupJID); request.setTo(workgroupJID);
request.setSessionID(sessionID); request.setSessionID(sessionID);
ChatNotes response = connection.createStanzaCollectorAndSend(request).nextResultOrThrow(); ChatNotes response = connection.sendIqRequestAndWaitForResponse(request);
return response; return response;
} }
@ -901,8 +901,9 @@ public class AgentSession {
* @throws XMPPException if an error occurs while retrieving the AgentChatHistory. * @throws XMPPException if an error occurs while retrieving the AgentChatHistory.
* @throws NotConnectedException if the XMPP connection is not connected. * @throws NotConnectedException if the XMPP connection is not connected.
* @throws InterruptedException if the calling thread was interrupted. * @throws InterruptedException if the calling thread was interrupted.
* @throws NoResponseException if there was no response from the remote entity.
*/ */
public AgentChatHistory getAgentHistory(EntityBareJid jid, int maxSessions, Date startDate) throws XMPPException, NotConnectedException, InterruptedException { public AgentChatHistory getAgentHistory(EntityBareJid jid, int maxSessions, Date startDate) throws XMPPException, NotConnectedException, InterruptedException, NoResponseException {
AgentChatHistory request; AgentChatHistory request;
if (startDate != null) { if (startDate != null) {
request = new AgentChatHistory(jid, maxSessions, startDate); request = new AgentChatHistory(jid, maxSessions, startDate);
@ -914,8 +915,8 @@ public class AgentSession {
request.setType(IQ.Type.get); request.setType(IQ.Type.get);
request.setTo(workgroupJID); request.setTo(workgroupJID);
AgentChatHistory response = connection.createStanzaCollectorAndSend( AgentChatHistory response = connection.sendIqRequestAndWaitForResponse(
request).nextResult(); request);
return response; return response;
} }
@ -934,7 +935,7 @@ public class AgentSession {
request.setType(IQ.Type.get); request.setType(IQ.Type.get);
request.setTo(workgroupJID); request.setTo(workgroupJID);
SearchSettings response = connection.createStanzaCollectorAndSend(request).nextResultOrThrow(); SearchSettings response = connection.sendIqRequestAndWaitForResponse(request);
return response; return response;
} }
@ -954,7 +955,7 @@ public class AgentSession {
request.setTo(workgroupJID); request.setTo(workgroupJID);
request.setPersonal(!global); request.setPersonal(!global);
Macros response = connection.createStanzaCollectorAndSend(request).nextResultOrThrow(); Macros response = connection.sendIqRequestAndWaitForResponse(request);
return response.getRootGroup(); return response.getRootGroup();
} }
@ -974,7 +975,7 @@ public class AgentSession {
request.setPersonal(true); request.setPersonal(true);
request.setPersonalMacroGroup(group); request.setPersonalMacroGroup(group);
connection.createStanzaCollectorAndSend(request).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(request);
} }
/** /**
@ -985,14 +986,15 @@ public class AgentSession {
* @throws XMPPException if an error occurs while getting information from the server. * @throws XMPPException if an error occurs while getting information from the server.
* @throws NotConnectedException if the XMPP connection is not connected. * @throws NotConnectedException if the XMPP connection is not connected.
* @throws InterruptedException if the calling thread was interrupted. * @throws InterruptedException if the calling thread was interrupted.
* @throws NoResponseException if there was no response from the remote entity.
*/ */
public Map<String, List<String>> getChatMetadata(String sessionID) throws XMPPException, NotConnectedException, InterruptedException { public Map<String, List<String>> getChatMetadata(String sessionID) throws XMPPException, NotConnectedException, InterruptedException, NoResponseException {
ChatMetadata request = new ChatMetadata(); ChatMetadata request = new ChatMetadata();
request.setType(IQ.Type.get); request.setType(IQ.Type.get);
request.setTo(workgroupJID); request.setTo(workgroupJID);
request.setSessionID(sessionID); request.setSessionID(sessionID);
ChatMetadata response = connection.createStanzaCollectorAndSend(request).nextResult(); ChatMetadata response = connection.sendIqRequestAndWaitForResponse(request);
return response.getMetadata(); return response.getMetadata();
} }
@ -1033,7 +1035,7 @@ public class AgentSession {
iq.setTo(workgroupJID); iq.setTo(workgroupJID);
iq.setFrom(connection.getUser()); iq.setFrom(connection.getUser());
connection.createStanzaCollectorAndSend(iq).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(iq);
} }
/** /**
@ -1070,7 +1072,7 @@ public class AgentSession {
iq.setTo(workgroupJID); iq.setTo(workgroupJID);
iq.setFrom(connection.getUser()); iq.setFrom(connection.getUser());
connection.createStanzaCollectorAndSend(iq).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(iq);
} }
/** /**
@ -1089,8 +1091,8 @@ public class AgentSession {
setting.setType(IQ.Type.get); setting.setType(IQ.Type.get);
setting.setTo(workgroupJID); setting.setTo(workgroupJID);
GenericSettings response = connection.createStanzaCollectorAndSend( GenericSettings response = connection.sendIqRequestAndWaitForResponse(
setting).nextResultOrThrow(); setting);
return response; return response;
} }
@ -1099,7 +1101,7 @@ public class AgentSession {
request.setType(IQ.Type.get); request.setType(IQ.Type.get);
request.setTo(workgroupJID); request.setTo(workgroupJID);
MonitorPacket response = connection.createStanzaCollectorAndSend(request).nextResultOrThrow(); MonitorPacket response = connection.sendIqRequestAndWaitForResponse(request);
return response.isMonitor(); return response.isMonitor();
} }
@ -1109,6 +1111,6 @@ public class AgentSession {
request.setTo(workgroupJID); request.setTo(workgroupJID);
request.setSessionID(sessionID); request.setSessionID(sessionID);
connection.createStanzaCollectorAndSend(request).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(request);
} }
} }

View file

@ -56,7 +56,7 @@ public class TranscriptManager {
public Transcript getTranscript(EntityBareJid workgroupJID, String sessionID) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { public Transcript getTranscript(EntityBareJid workgroupJID, String sessionID) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
Transcript request = new Transcript(sessionID); Transcript request = new Transcript(sessionID);
request.setTo(workgroupJID); request.setTo(workgroupJID);
Transcript response = connection.createStanzaCollectorAndSend(request).nextResultOrThrow(); Transcript response = connection.sendIqRequestAndWaitForResponse(request);
return response; return response;
} }
@ -75,7 +75,7 @@ public class TranscriptManager {
public Transcripts getTranscripts(EntityBareJid workgroupJID, Jid userID) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException { public Transcripts getTranscripts(EntityBareJid workgroupJID, Jid userID) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
Transcripts request = new Transcripts(userID); Transcripts request = new Transcripts(userID);
request.setTo(workgroupJID); request.setTo(workgroupJID);
Transcripts response = connection.createStanzaCollectorAndSend(request).nextResultOrThrow(); Transcripts response = connection.sendIqRequestAndWaitForResponse(request);
return response; return response;
} }
} }

View file

@ -61,8 +61,8 @@ public class TranscriptSearchManager {
search.setType(IQ.Type.get); search.setType(IQ.Type.get);
search.setTo(serviceJID); search.setTo(serviceJID);
TranscriptSearch response = connection.createStanzaCollectorAndSend( TranscriptSearch response = connection.sendIqRequestAndWaitForResponse(
search).nextResultOrThrow(); search);
return Form.from(response); return Form.from(response);
} }
@ -85,8 +85,8 @@ public class TranscriptSearchManager {
search.setTo(serviceJID); search.setTo(serviceJID);
search.addExtension(completedForm.getDataFormToSubmit()); search.addExtension(completedForm.getDataFormToSubmit());
TranscriptSearch response = connection.createStanzaCollectorAndSend( TranscriptSearch response = connection.sendIqRequestAndWaitForResponse(
search).nextResultOrThrow(); search);
return ReportedData.getReportedDataFrom(response); return ReportedData.getReportedDataFrom(response);
} }
} }

View file

@ -355,7 +355,7 @@ public class Workgroup {
JoinQueuePacket joinPacket = new JoinQueuePacket(workgroupJID, answerForm, userID); JoinQueuePacket joinPacket = new JoinQueuePacket(workgroupJID, answerForm, userID);
connection.createStanzaCollectorAndSend(joinPacket).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(joinPacket);
// Notify listeners that we've joined the queue. // Notify listeners that we've joined the queue.
fireQueueJoinedEvent(); fireQueueJoinedEvent();
} }
@ -436,7 +436,7 @@ public class Workgroup {
} }
DepartQueuePacket departPacket = new DepartQueuePacket(this.workgroupJID); DepartQueuePacket departPacket = new DepartQueuePacket(this.workgroupJID);
connection.createStanzaCollectorAndSend(departPacket).nextResultOrThrow(); connection.sendIqRequestAndWaitForResponse(departPacket);
// Notify listeners that we're no longer in the queue. // Notify listeners that we're no longer in the queue.
fireQueueDepartedEvent(); fireQueueDepartedEvent();
@ -657,7 +657,7 @@ public class Workgroup {
request.setType(IQ.Type.get); request.setType(IQ.Type.get);
request.setTo(workgroupJID); request.setTo(workgroupJID);
ChatSettings response = connection.createStanzaCollectorAndSend(request).nextResultOrThrow(); ChatSettings response = connection.sendIqRequestAndWaitForResponse(request);
return response; return response;
} }
@ -697,7 +697,7 @@ public class Workgroup {
request.setType(IQ.Type.get); request.setType(IQ.Type.get);
request.setTo(workgroupJID); request.setTo(workgroupJID);
return connection.createStanzaCollectorAndSend(request).nextResultOrThrow(); return connection.sendIqRequestAndWaitForResponse(request);
} }
/** /**
@ -714,7 +714,7 @@ public class Workgroup {
request.setType(IQ.Type.get); request.setType(IQ.Type.get);
request.setTo(workgroupJID); request.setTo(workgroupJID);
return connection.createStanzaCollectorAndSend(request).nextResultOrThrow(); return connection.sendIqRequestAndWaitForResponse(request);
} }
/** /**
@ -731,7 +731,7 @@ public class Workgroup {
request.setType(IQ.Type.get); request.setType(IQ.Type.get);
request.setTo(workgroupJID); request.setTo(workgroupJID);
return connection.createStanzaCollectorAndSend(request).nextResultOrThrow(); return connection.sendIqRequestAndWaitForResponse(request);
} }
/** /**
@ -750,8 +750,8 @@ public class Workgroup {
request.setType(IQ.Type.get); request.setType(IQ.Type.get);
request.setTo(workgroupJID); request.setTo(workgroupJID);
return connection.createStanzaCollectorAndSend( return connection.sendIqRequestAndWaitForResponse(
request).nextResultOrThrow(); request);
} }
@ -771,8 +771,8 @@ public class Workgroup {
workgroupForm.setType(IQ.Type.get); workgroupForm.setType(IQ.Type.get);
workgroupForm.setTo(workgroupJID); workgroupForm.setTo(workgroupJID);
WorkgroupForm response = connection.createStanzaCollectorAndSend( WorkgroupForm response = connection.sendIqRequestAndWaitForResponse(
workgroupForm).nextResultOrThrow(); workgroupForm);
return Form.from(response); return Form.from(response);
} }
} }