Commit 4258577c authored by Gaston Dombiak's avatar Gaston Dombiak Committed by gaston

Removed unused code.


git-svn-id: http://svn.igniterealtime.org/svn/repos/messenger/trunk@1128 b35dd754-fafc-0310-a699-88a17e54d16e
parent 7e8445b7
...@@ -63,69 +63,6 @@ public interface PresenceManager { ...@@ -63,69 +63,6 @@ public interface PresenceManager {
*/ */
public Collection<Presence> getPresences(User user); public Collection<Presence> getPresences(User user);
/**
* Returns the number of guests who are currently online. Guests with a
* presence status other that online or idle will not be included.
*
* @return the number of online users.
*/
public int getOnlineGuestCount();
/**
* Returns a Collection of users who are currently online. Online users with a
* presence status other that online or idle will not be included.
*
* @return a Collection of online users.
*/
public Collection<User> getOnlineUsers();
/**
* Returns a Collection of users sorted in the manner requested who are currently online.
* Online users with a presence status other that online or idle will not be included.
*
* @param ascending sort ascending if true, descending if false.
* @param sortField a valid sort field from the PresenceManager interface.
* @return a Collection of online users.
*/
public Collection<User> getOnlineUsers(boolean ascending, int sortField);
/**
* Returns a Collection of users who are currently online matching the criteria given.
* Online users with a presence status other than online or idle will not be included.
*
* @param ascending sort ascending if true, descending if false.
* @param sortField a valid sort field from the PresenceManager interface.
* @param numResults - the number of results to return.
* @return an Collection of online users matching the given criteria.
*/
public Collection<User> getOnlineUsers(boolean ascending, int sortField, int numResults);
/**
* Create a presence for a user. Creating a presence will automatically set the user to be
* online.<p>
* <p/>
* The uid should be unique within the application instance. A good source of a uid is the
* servlet session id.
*
* @param user the user to create a presence for.
* @return the presence for the user.
*/
public Presence createPresence(User user);
/**
* Sets a presence to be offline which causes the presence to be removed from the system.
*
* @param presence to presence to set to be offline.
*/
public void setOffline(Presence presence);
/**
* Sets a user to be offline which causes the presence to be removed from the system.
*
* @param jid the user to set to be offline.
*/
public void setOffline(JID jid);
/** /**
* Probes the presence of the given XMPPAddress and attempts to send it to the given user. * Probes the presence of the given XMPPAddress and attempts to send it to the given user.
* *
......
...@@ -25,7 +25,6 @@ import org.dom4j.Document; ...@@ -25,7 +25,6 @@ import org.dom4j.Document;
import org.dom4j.DocumentHelper; import org.dom4j.DocumentHelper;
import java.util.*; import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
/** /**
* Simple in memory implementation of the PresenceManager interface. * Simple in memory implementation of the PresenceManager interface.
...@@ -36,10 +35,6 @@ public class PresenceManagerImpl extends BasicModule implements PresenceManager ...@@ -36,10 +35,6 @@ public class PresenceManagerImpl extends BasicModule implements PresenceManager
private static final String lastPresenceProp = "lastUnavailablePresence"; private static final String lastPresenceProp = "lastUnavailablePresence";
private Map<String, Presence> onlineGuests;
private Map<String, Presence> onlineUsers;
private UserManager userManager;
private SessionManager sessionManager; private SessionManager sessionManager;
private XMPPServer server; private XMPPServer server;
private PacketDeliverer deliverer; private PacketDeliverer deliverer;
...@@ -53,164 +48,6 @@ public class PresenceManagerImpl extends BasicModule implements PresenceManager ...@@ -53,164 +48,6 @@ public class PresenceManagerImpl extends BasicModule implements PresenceManager
componentManager = InternalComponentManager.getInstance(); componentManager = InternalComponentManager.getInstance();
} }
private void initializeCaches() {
// create caches - no size limit and never expire for presence caches
onlineGuests = new ConcurrentHashMap<String, Presence>();
onlineUsers = new ConcurrentHashMap<String, Presence>();
}
public int getOnlineGuestCount() {
int count = 0;
for (Presence presence : onlineGuests.values()) {
if (presence.isAvailable()) {
count++;
}
}
return count;
}
public Collection<User> getOnlineUsers() {
List<User> users = new ArrayList<User>();
for (Presence presence : onlineUsers.values()) {
if (presence.isAvailable()) {
try {
users.add(userManager.getUser(presence.getFrom().getNode()));
}
catch (UserNotFoundException e) {
Log.error(LocaleUtils.getLocalizedString("admin.error"), e);
}
}
}
return Collections.unmodifiableCollection(users);
}
public Collection<User> getOnlineUsers(boolean ascending, int sortField) {
return getOnlineUsers(ascending, sortField, Integer.MAX_VALUE);
}
public Collection<User> getOnlineUsers(final boolean ascending, int sortField, int numResults) {
Iterator iter = onlineUsers.values().iterator();
List presences = new ArrayList();
while (iter.hasNext()) {
Presence presence = (Presence) iter.next();
if (presence.isAvailable()) {
presences.add(presence);
}
}
switch (sortField) {
case PresenceManager.SORT_ONLINE_TIME:
{
Collections.sort(presences, new Comparator() {
public int compare(Object object1, Object object2) {
Presence presence1 = (Presence) object1;
Presence presence2 = (Presence) object2;
Session presence1Session = sessionManager.getSession(presence1.getFrom());
Session presence2Session = sessionManager.getSession(presence2.getFrom());
if (ascending) {
return presence1Session.getCreationDate().compareTo(presence2Session.getCreationDate());
}
else {
return presence2Session.getCreationDate().compareTo(presence1Session.getCreationDate());
}
}
});
break;
}
case PresenceManager.SORT_USERNAME:
{
Collections.sort(presences, new Comparator() {
public int compare(Object object1, Object object2) {
Presence presence1 = (Presence) object1;
Presence presence2 = (Presence) object2;
String presenceUser1 = "";
String presenceUser2 = "";
try {
presenceUser1 =
userManager.getUser(presence1.getFrom().getNode()).getUsername();
presenceUser2 =
userManager.getUser(presence2.getFrom().getNode()).getUsername();
}
catch (UserNotFoundException e) {
Log.error(LocaleUtils.getLocalizedString("admin.error"), e);
}
if (ascending) {
return presenceUser1.compareTo(presenceUser2);
}
else {
return presenceUser2.compareTo(presenceUser1);
}
}
});
break;
}
default:
{
// ignore invalid sort field
}
}
List<User> users = new ArrayList<User>();
for (int i = 0; i < presences.size(); i++) {
Presence presence = (Presence) presences.get(i);
try {
users.add(userManager.getUser(presence.getFrom().getNode()));
}
catch (UserNotFoundException e) {
Log.error(LocaleUtils.getLocalizedString("admin.error"), e);
}
}
if (numResults > users.size()) {
return Collections.unmodifiableCollection(users);
}
else {
return Collections.unmodifiableCollection(users.subList(0, numResults - 1));
}
}
public Presence createPresence(User user) {
Presence presence = null;
presence = new Presence();
presence.setFrom(server.createJID(user.getUsername(), null));
setOnline(presence);
return presence;
}
public void setOnline(Presence presence) {
User user = null;
try {
user = userManager.getUser(presence.getFrom().getNode());
}
catch (UserNotFoundException e) {
Log.error(LocaleUtils.getLocalizedString("admin.error"), e);
}
if (user != null) {
onlineUsers.put(user.getUsername(), presence);
}
else {
onlineGuests.put(presence.getID(), presence);
}
}
public void setOffline(Presence presence) {
if (presence.getFrom().getNode() != null) {
onlineUsers.remove(presence.getFrom().getNode());
}
else {
onlineGuests.remove(presence.getID());
}
}
public void setOffline(JID jid) {
}
public boolean isAvailable(User user) { public boolean isAvailable(User user) {
return sessionManager.getSessionCount(user.getUsername()) > 0; return sessionManager.getSessionCount(user.getUsername()) > 0;
} }
...@@ -252,30 +89,6 @@ public class PresenceManagerImpl extends BasicModule implements PresenceManager ...@@ -252,30 +89,6 @@ public class PresenceManagerImpl extends BasicModule implements PresenceManager
return Collections.unmodifiableCollection(presences); return Collections.unmodifiableCollection(presences);
} }
public Presence getPresence(String presenceID) {
if (presenceID == null) {
return null;
}
// search the current lists for the presence
Iterator onlineUsers = this.onlineUsers.values().iterator();
while (onlineUsers.hasNext()) {
Presence presence = (Presence) onlineUsers.next();
if (presence.getID().equals(presenceID)) {
return presence;
}
}
Iterator guestUsers = onlineGuests.values().iterator();
while (guestUsers.hasNext()) {
Presence presence = (Presence) guestUsers.next();
if (presence.getID().equals(presenceID)) {
return presence;
}
}
return null;
}
public void probePresence(JID prober, JID probee) { public void probePresence(JID prober, JID probee) {
try { try {
Component component = getPresenceComponent(probee); Component component = getPresenceComponent(probee);
...@@ -388,10 +201,8 @@ public class PresenceManagerImpl extends BasicModule implements PresenceManager ...@@ -388,10 +201,8 @@ public class PresenceManagerImpl extends BasicModule implements PresenceManager
public void initialize(XMPPServer server) { public void initialize(XMPPServer server) {
super.initialize(server); super.initialize(server);
this.server = server; this.server = server;
userManager = server.getUserManager();
deliverer = server.getPacketDeliverer(); deliverer = server.getPacketDeliverer();
sessionManager = server.getSessionManager(); sessionManager = server.getSessionManager();
initializeCaches();
} }
public Component getPresenceComponent(JID probee) { public Component getPresenceComponent(JID probee) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment