1
0
Fork 0
mirror of https://codeberg.org/Mercury-IM/Smack synced 2025-12-07 05:31:08 +01:00

Introduce SmackException

SmackException (and it's subclasses) is for all errors/exceptions not
defined by any XMPP specification. XMPPException is now an abstract
class for all errors defined by the XMPP specifications.

Methods that involve an IQ exchange now either return the result, which
is obtained by IQ response, or they throw an XMPPErrorException if an IQ
error was the result of the IQ set/get. If there was no response from
the server within the default packet timeout, a NoResponseException will
be thrown.

XMPP SASL errors are now also reported accordingly.

SMACK-426
This commit is contained in:
Florian Schmaus 2014-03-12 11:50:05 +01:00
parent 4b6f09f962
commit 4b56446e40
109 changed files with 2040 additions and 1599 deletions

View file

@ -348,7 +348,7 @@ public class ChatConnectionTest {
try {
con.connect();
con.login("me", "secret");
} catch (XMPPException e) {
} catch (Exception e) {
// No need for handling in a dummy connection.
}
return con;

View file

@ -74,7 +74,7 @@ public class DummyConnection extends XMPPConnection {
}
@Override
public void connect() throws XMPPException {
public void connect() {
connectionID = "dummy-" + new Random(new Date().getTime()).nextInt();
if (reconnect) {

View file

@ -520,8 +520,9 @@ public class RosterTest {
*
* @param connection the dummy connection of which the provided roster belongs to.
* @param roster the roster (or buddy list) which should be initialized.
* @throws SmackException
*/
public static void initRoster(DummyConnection connection, Roster roster) throws InterruptedException, XMPPException {
public static void initRoster(DummyConnection connection, Roster roster) throws InterruptedException, XMPPException, SmackException {
roster.reload();
while (true) {
final Packet sentPacket = connection.getSentPacket();

View file

@ -83,9 +83,11 @@ public class RosterVersioningTest {
/**
* Tests that receiving an empty roster result causes the roster to be populated
* by all entries of the roster store.
* @throws SmackException
* @throws XMPPException
*/
@Test(timeout = 5000)
public void testEqualVersionStored() throws InterruptedException, IOException {
public void testEqualVersionStored() throws InterruptedException, IOException, XMPPException, SmackException {
connection.getRoster().reload();
answerWithEmptyRosterResult();
@ -116,9 +118,11 @@ public class RosterVersioningTest {
/**
* Tests that a non-empty roster result empties the store.
* @throws SmackException
* @throws XMPPException
*/
@Test(timeout = 5000)
public void testOtherVersionStored() throws InterruptedException {
public void testOtherVersionStored() throws InterruptedException, XMPPException, SmackException {
connection.getRoster().reload();
Item vaglafItem = vaglafItem();

View file

@ -19,7 +19,7 @@ package org.jivesoftware.smack.parsing;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.SmackException;
import org.jivesoftware.smack.packet.PacketExtension;
import org.jivesoftware.smack.provider.PacketExtensionProvider;
import org.jivesoftware.smack.provider.ProviderManager;
@ -79,7 +79,7 @@ public class ParsingExceptionTest {
@Override
public PacketExtension parseExtension(XmlPullParser parser) throws Exception {
throw new XMPPException("Test Exception");
throw new SmackException("Test Exception");
}
}