made presences synchronized
This commit is contained in:
parent
e6a4fa031b
commit
2db569b20f
|
@ -22,25 +22,33 @@ public class Presences {
|
|||
}
|
||||
|
||||
public void updatePresence(String resource, int status) {
|
||||
synchronized (this.presences) {
|
||||
this.presences.put(resource, status);
|
||||
}
|
||||
}
|
||||
|
||||
public void removePresence(String resource) {
|
||||
synchronized (this.presences) {
|
||||
this.presences.remove(resource);
|
||||
}
|
||||
}
|
||||
|
||||
public void clearPresences() {
|
||||
synchronized (this.presences) {
|
||||
this.presences.clear();
|
||||
}
|
||||
}
|
||||
|
||||
public int getMostAvailableStatus() {
|
||||
int status = OFFLINE;
|
||||
synchronized (this.presences) {
|
||||
Iterator<Entry<String, Integer>> it = presences.entrySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
Entry<String, Integer> entry = it.next();
|
||||
if (entry.getValue() < status)
|
||||
status = entry.getValue();
|
||||
}
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
|
@ -61,16 +69,22 @@ public class Presences {
|
|||
}
|
||||
|
||||
public int size() {
|
||||
synchronized (this.presences) {
|
||||
return presences.size();
|
||||
}
|
||||
}
|
||||
|
||||
public String[] asStringArray() {
|
||||
synchronized (this.presences) {
|
||||
final String[] presencesArray = new String[presences.size()];
|
||||
presences.keySet().toArray(presencesArray);
|
||||
return presencesArray;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean has(String presence) {
|
||||
synchronized (this.presences) {
|
||||
return presences.containsKey(presence);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue