mirror of https://github.com/zlatinb/muwire
add display of search results grouped by sender
parent
2b8bd8144f
commit
a2022415c2
|
@ -87,8 +87,8 @@ class SearchManager {
|
|||
}
|
||||
}
|
||||
|
||||
Iterable<SearchResults> getSearches() {
|
||||
return results.values();
|
||||
public Map<UUID,SearchResults> getResults() {
|
||||
return results;
|
||||
}
|
||||
|
||||
public void onUIResultBatchEvent(UIResultBatchEvent e) {
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8"%>
|
||||
<%@ page import="java.io.File" %>
|
||||
<%@ page import="java.io.*" %>
|
||||
<%@ page import="java.util.*" %>
|
||||
<%@ page import="com.muwire.webui.*" %>
|
||||
<%@ page import="com.muwire.core.*" %>
|
||||
<%@ page import="com.muwire.core.search.*" %>
|
||||
<%@ page import="net.i2p.data.Base64" %>
|
||||
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
|
||||
|
@ -30,22 +31,56 @@
|
|||
</form>
|
||||
|
||||
<hr/>
|
||||
Active Searches:<br/>
|
||||
<%
|
||||
SearchManager searchManager = (SearchManager) client.getServletContext().getAttribute("searchManager");
|
||||
for (SearchResults results : searchManager.getSearches()) {
|
||||
out.print(results.getSearch());
|
||||
out.print(" senders: ");
|
||||
Map<Persona, Set<UIResultEvent>> bySender = results.getBySender();
|
||||
out.print(bySender.size());
|
||||
|
||||
int total = 0;
|
||||
for (Set<UIResultEvent> s : bySender.values()) {
|
||||
total += s.size();
|
||||
if (request.getParameter("uuid") == null) {
|
||||
out.print("Active Searches<br/>");
|
||||
for (SearchResults results : searchManager.getResults().values()) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(results.getSearch());
|
||||
sb.append(" senders: ");
|
||||
Map<Persona, Set<UIResultEvent>> bySender = results.getBySender();
|
||||
sb.append(bySender.size());
|
||||
|
||||
int total = 0;
|
||||
for (Set<UIResultEvent> s : bySender.values()) {
|
||||
total += s.size();
|
||||
}
|
||||
sb.append(" results: ");
|
||||
sb.append(total);
|
||||
|
||||
out.print("<a href='/MuWire/Home.jsp?uuid="+results.getUUID()+"'>"+sb.toString()+"</a><br/>");
|
||||
}
|
||||
out.print(" results: ");
|
||||
out.print(total);
|
||||
out.print("<br/>");
|
||||
} else if (request.getParameter("sender") == null) {
|
||||
UUID uuid = UUID.fromString(request.getParameter("uuid"));
|
||||
SearchResults results = searchManager.getResults().get(uuid);
|
||||
|
||||
out.print("Results for "+results.getSearch()+"<br/>");
|
||||
|
||||
Map<Persona, Set<UIResultEvent>> bySender = results.getBySender();
|
||||
for (Persona sender : bySender.keySet()) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(sender.getHumanReadableName());
|
||||
sb.append(" count: ");
|
||||
sb.append(bySender.get(sender).size());
|
||||
String link = "/MuWire/Home.jsp?uuid="+uuid.toString()+"&sender="+sender.toBase64();
|
||||
out.print("<a href='"+link+"'>"+sb.toString()+"</a><br/>");
|
||||
}
|
||||
} else {
|
||||
UUID uuid = UUID.fromString(request.getParameter("uuid"));
|
||||
SearchResults searchResults = searchManager.getResults().get(uuid);
|
||||
|
||||
String senderB64 = request.getParameter("sender");
|
||||
Persona sender = new Persona(new ByteArrayInputStream(Base64.decode(senderB64)));
|
||||
|
||||
Set<UIResultEvent> results = searchResults.getBySender().get(sender);
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
results.forEach(result -> {
|
||||
sb.append(result.getName()).append(" size: ").append(result.getSize()).append("</br>");
|
||||
});
|
||||
out.print(sb.toString());
|
||||
|
||||
}
|
||||
%>
|
||||
|
||||
|
|
Loading…
Reference in New Issue