mirror of
https://github.com/vanitasvitae/Smack.git
synced 2025-09-09 09:09:38 +02:00
Merge branch '4.1'
Conflicts: smack-im/src/main/java/org/jivesoftware/smack/roster/RosterGroup.java smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/agent/AgentSession.java smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/OfferRevokeProvider.java
This commit is contained in:
commit
2079ba6bd6
4 changed files with 48 additions and 35 deletions
|
@ -22,7 +22,7 @@ import java.util.LinkedHashSet;
|
|||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.jivesoftware.smack.PacketCollector;
|
||||
import org.jivesoftware.smack.Manager;
|
||||
import org.jivesoftware.smack.XMPPConnection;
|
||||
import org.jivesoftware.smack.SmackException.NoResponseException;
|
||||
import org.jivesoftware.smack.SmackException.NotConnectedException;
|
||||
|
@ -37,10 +37,9 @@ import org.jxmpp.jid.Jid;
|
|||
* @see Roster#getGroup(String)
|
||||
* @author Matt Tucker
|
||||
*/
|
||||
public class RosterGroup {
|
||||
public class RosterGroup extends Manager {
|
||||
|
||||
private final String name;
|
||||
private final XMPPConnection connection;
|
||||
private final Set<RosterEntry> entries;
|
||||
|
||||
/**
|
||||
|
@ -50,8 +49,8 @@ public class RosterGroup {
|
|||
* @param connection the connection the group belongs to.
|
||||
*/
|
||||
RosterGroup(String name, XMPPConnection connection) {
|
||||
super(connection);
|
||||
this.name = name;
|
||||
this.connection = connection;
|
||||
entries = new LinkedHashSet<RosterEntry>();
|
||||
}
|
||||
|
||||
|
@ -85,7 +84,7 @@ public class RosterGroup {
|
|||
item.removeGroupName(this.name);
|
||||
item.addGroupName(name);
|
||||
packet.addRosterItem(item);
|
||||
connection.createPacketCollectorAndSend(packet).nextResultOrThrow();
|
||||
connection().createPacketCollectorAndSend(packet).nextResultOrThrow();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -171,7 +170,6 @@ public class RosterGroup {
|
|||
* @throws InterruptedException
|
||||
*/
|
||||
public void addEntry(RosterEntry entry) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
|
||||
PacketCollector collector = null;
|
||||
// Only add the entry if it isn't already in the list.
|
||||
synchronized (entries) {
|
||||
if (!entries.contains(entry)) {
|
||||
|
@ -181,12 +179,9 @@ public class RosterGroup {
|
|||
item.addGroupName(getName());
|
||||
packet.addRosterItem(item);
|
||||
// Wait up to a certain number of seconds for a reply from the server.
|
||||
collector = connection.createPacketCollectorAndSend(packet);
|
||||
connection().createPacketCollectorAndSend(packet).nextResultOrThrow();
|
||||
}
|
||||
}
|
||||
if (collector != null) {
|
||||
collector.nextResultOrThrow();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -203,7 +198,6 @@ public class RosterGroup {
|
|||
* @throws InterruptedException
|
||||
*/
|
||||
public void removeEntry(RosterEntry entry) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
|
||||
PacketCollector collector = null;
|
||||
// Only remove the entry if it's in the entry list.
|
||||
// Remove the entry locally, if we wait for RosterPacketListenerprocess>>Packet(Packet)
|
||||
// to take place the entry will exist in the group until a packet is received from the
|
||||
|
@ -216,12 +210,9 @@ public class RosterGroup {
|
|||
item.removeGroupName(this.getName());
|
||||
packet.addRosterItem(item);
|
||||
// Wait up to a certain number of seconds for a reply from the server.
|
||||
collector = connection.createPacketCollectorAndSend(packet);
|
||||
connection().createPacketCollectorAndSend(packet).nextResultOrThrow();
|
||||
}
|
||||
}
|
||||
if (collector != null) {
|
||||
collector.nextResultOrThrow();
|
||||
}
|
||||
}
|
||||
|
||||
void addEntryLocal(RosterEntry entry) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue