@OnMessage public void recibir(String msg, Session session) { System.out.println("Se ha recibido: " + msg); try { JSONObject jso = new JSONObject(msg); if (jso.get("tipo").equals("identificacion")) { String login = jso.getString("texto"); if (login.equals("admin")) { admin = new ChatUser(login, session); } else if (admin == null) { enviar( session, "NoDisponible", "No existe ninguna persona del soporte conectada al chat. Intentelo más tarde", ""); } else { ChatUser chatUser = new ChatUser(login, session); chatUsers.put(login, chatUser); enviar(admin.getSession(), "nuevoChat", jso.getString("texto"), ""); } } else if (jso.get("tipo").equals("mensaje") && admin != null) { enviar(admin.getSession(), "mensaje", jso.getString("remitente"), jso.getString("texto")); } else if (jso.get("tipo").equals("respuesta")) { ChatUser u = chatUsers.get(jso.getString("destinatario")); enviar(u.getSession(), "respuesta", jso.getString("remitente"), jso.getString("texto")); } else if (jso.get("tipo").equals("cierre") && admin != null) { enviar(admin.getSession(), "cierre", jso.getString("texto"), ""); } } catch (JSONException e) { e.printStackTrace(); } }