add names list when connecting
This commit is contained in:
parent
264d0e0187
commit
3c391f23cd
|
@ -40,6 +40,8 @@ cah.ajax.ErrorHandlers.firstload = function(data) {
|
|||
*/
|
||||
cah.ajax.after_registered = function() {
|
||||
cah.log.debug("done registering");
|
||||
// TODO once there are channels, this needs to specify the global channel
|
||||
cah.Ajax.request("names", {});
|
||||
cah.longpoll.longPoll();
|
||||
};
|
||||
|
||||
|
@ -50,3 +52,9 @@ cah.ajax.SuccessHandlers.chat = function(data) {
|
|||
cah.ajax.SuccessHandlers.logout = function(data) {
|
||||
window.location.reload();
|
||||
};
|
||||
|
||||
cah.ajax.ErrorHandlers.logout = cah.ajax.SuccessHandlers.logout;
|
||||
|
||||
cah.ajax.SuccessHandlers.names = function(data) {
|
||||
cah.log.status("Currently connected: " + data.names.join(", "));
|
||||
};
|
||||
|
|
|
@ -13,6 +13,7 @@ public class Handlers {
|
|||
LIST.put(ChatHandler.OP, ChatHandler.class);
|
||||
LIST.put(FirstLoadHandler.OP, FirstLoadHandler.class);
|
||||
LIST.put(LogoutHandler.OP, LogoutHandler.class);
|
||||
LIST.put(NamesHandler.OP, NamesHandler.class);
|
||||
LIST.put(RegisterHandler.OP, RegisterHandler.class);
|
||||
LIST.put(TestHandler.OP, TestHandler.class);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
package net.socialgamer.cah.handlers;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import net.socialgamer.cah.Server;
|
||||
import net.socialgamer.cah.data.ConnectedUsers;
|
||||
import net.socialgamer.cah.data.User;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
|
||||
public class NamesHandler extends Handler {
|
||||
|
||||
public static final String OP = "names";
|
||||
|
||||
private final ConnectedUsers users;
|
||||
|
||||
@Inject
|
||||
public NamesHandler(final Server server) {
|
||||
this.users = server.getConnectedUsers();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> handle(final Map<String, String[]> parameters,
|
||||
final HttpSession session) {
|
||||
final HashMap<String, Object> ret = new HashMap<String, Object>();
|
||||
// TODO once there are multiple rooms, we needCollection<E>hich one was asked for
|
||||
final Collection<User> userList = users.getUsers();
|
||||
final List<String> names = new ArrayList<String>(userList.size());
|
||||
for (final User u : userList) {
|
||||
names.add(u.getNickname());
|
||||
}
|
||||
ret.put("names", names);
|
||||
return ret;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue