From 68bc0bbf306bd0f19d7f8d63fc178462230345e7 Mon Sep 17 00:00:00 2001 From: Zlatin Balevsky Date: Thu, 19 Mar 2020 22:03:40 +0000 Subject: [PATCH] open the latest search by default --- webui/src/main/java/com/muwire/webui/SearchManager.java | 9 ++++----- webui/src/main/java/com/muwire/webui/SearchServlet.java | 7 +++++-- webui/src/main/js/search.js | 2 +- webui/src/main/webapp/Home.jsp | 5 +++++ 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/webui/src/main/java/com/muwire/webui/SearchManager.java b/webui/src/main/java/com/muwire/webui/SearchManager.java index aa5c1aba..a9e8a831 100644 --- a/webui/src/main/java/com/muwire/webui/SearchManager.java +++ b/webui/src/main/java/com/muwire/webui/SearchManager.java @@ -30,13 +30,11 @@ class SearchManager { this.core = core; } - void newSearch(String search) { + UUID newSearch(String search) { search = search.trim(); if (search.length() == 0) - return; - if (search.length() > 128) { - // TODO: browse by persona - } else { + return null; + else { UUID uuid = UUID.randomUUID(); SearchResults searchResults = new SearchResults(uuid, search); @@ -84,6 +82,7 @@ class SearchManager { queryEvent.setSig2(DataUtil.signUUID(uuid, timestamp, core.getSpk())); core.getEventBus().publish(queryEvent); + return uuid; } } diff --git a/webui/src/main/java/com/muwire/webui/SearchServlet.java b/webui/src/main/java/com/muwire/webui/SearchServlet.java index 16fc00ef..a133ad13 100644 --- a/webui/src/main/java/com/muwire/webui/SearchServlet.java +++ b/webui/src/main/java/com/muwire/webui/SearchServlet.java @@ -44,8 +44,11 @@ public class SearchServlet extends HttpServlet { if (action.equals("start")) { String search = req.getParameter("search"); - searchManager.newSearch(search); - resp.sendRedirect("/MuWire/Home"); + UUID newUUID = searchManager.newSearch(search); + if (newUUID != null) + resp.sendRedirect("/MuWire/Home?uuid=" + newUUID.toString()); + else + resp.sendError(403, Util._t("Please enter a search keyword or hash")); } else if (action.equals("stop")) { String uuidString = req.getParameter("uuid"); UUID uuid = UUID.fromString(uuidString); diff --git a/webui/src/main/js/search.js b/webui/src/main/js/search.js index 8e2c3ceb..decc7a14 100644 --- a/webui/src/main/js/search.js +++ b/webui/src/main/js/search.js @@ -845,7 +845,7 @@ function refreshStatus() { if (uuid != null) { var newStatus = statusByUUID.get(uuid) - if (newStatus.revision > currentSearch.revision) + if (currentSearch == null || newStatus.revision > currentSearch.revision) refreshFunction(uuid) } } diff --git a/webui/src/main/webapp/Home.jsp b/webui/src/main/webapp/Home.jsp index 8d18b3a1..f349af4d 100644 --- a/webui/src/main/webapp/Home.jsp +++ b/webui/src/main/webapp/Home.jsp @@ -31,6 +31,11 @@ +<% if (request.getParameter("uuid") != null) {%> + +<% } %> <% if (groupBy.equals("sender")) { %>