Mercurial Hosting > nabble
view src/nabble/view/web/tools/OnlineUsers.jtp @ 0:7ecd1a4ef557
add content
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 21 Mar 2019 19:15:52 -0600 |
parents | |
children |
line wrap: on
line source
<% package nabble.view.web.tools; import nabble.view.web.user.OnlineStatus; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.Map; public final class OnlineUsers extends HttpServlet { private static class Entry { String url; int count; Entry(String url, int count) { this.url = url; this.count = count; } } protected void service(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { Map<String, Integer> sites = OnlineStatus.getOnlineSites(); ArrayList<Entry> list = new ArrayList<Entry>(sites.size()); for (Map.Entry<String, Integer> entry : sites.entrySet()) { list.add(new Entry(entry.getKey(), entry.getValue())); } Collections.sort(list, new Comparator<Entry>() { public int compare(Entry o1, Entry o2) { return o1.count == o2.count? 0 : o1.count > o2.count? -1 : 1; } }); PrintWriter out = response.getWriter(); %> <html> <head> <title>Online Users</title> <style type="text/css"> body { font-family:Verdana, Arial, Serif; font-size:.74em; } table td{padding:.4em .8em;border-bottom:1px solid #eee} </style> </head> <body> <div> <a href="/tools/">Tools</a> </div> <h1>Online Users</h1> <table> <% for (Entry entry : list) { %> <tr><td><a href="<%=entry.url%>"><%=entry.url%></a></td><td><%=entry.count%></td></tr> <% } %> </table> </body> </html> <% } } %>