diff --git a/src/data/TaxonNode.java b/src/data/TaxonNode.java index a40a599f031b444c875a461e944518c45cb62906..e73396f559d684fbad65f1105d43fb0f53769eba 100644 --- a/src/data/TaxonNode.java +++ b/src/data/TaxonNode.java @@ -12,7 +12,7 @@ import java.util.ArrayList; * https://stackoverflow.com/questions/2697182/how-to-use-an-array-list */ -public class TaxonNode implements Serializable { +public class TaxonNode implements Serializable, Comparable<TaxonNode> { /** * */ @@ -142,4 +142,10 @@ public class TaxonNode implements Serializable { s += String.format("%-20s%d\n", "Count:", childrenCount); return s; } + + @Override + public int compareTo(TaxonNode o) { + // TODO Auto-generated method stub + return 0; + } } diff --git a/src/web/Director.java b/src/web/Director.java index 644210a0c295c725e57852591751b1af42ca165f..daa81d8debde9f77c1571f7da824db82196f5d76 100755 --- a/src/web/Director.java +++ b/src/web/Director.java @@ -16,9 +16,8 @@ public class Director extends HttpServlet { public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException { RequestDispatcher view = null; String req = getUrlDoPortion(request); - //if (req == "doBioLookup.do") + if (req.equals("doBioLookup.do")) view = request.getRequestDispatcher("bioresult.jsp"); - request.setAttribute("url", req); //RequestDispatcher view = request.getRequestDispatcher("histogram.jsp"); view.forward(request, response); diff --git a/tomcat/webapps/Trawl/bioresult.jsp b/tomcat/webapps/Trawl/bioresult.jsp index 6eb76d7dbf2f5e49e966b0929aee4f017d169e34..cc2a416ef42909c62fd1388bec23bf348cbe836a 100644 --- a/tomcat/webapps/Trawl/bioresult.jsp +++ b/tomcat/webapps/Trawl/bioresult.jsp @@ -1,19 +1,29 @@ <%@page import="org.json.simple.JSONArray"%> +<%@page import="sort.MergeSort"%> +<%@page import="sort.GeneralCompare"%> <%@page import="org.json.simple.parser.JSONParser"%> <%@ page import="java.util.*, data.Record, model.TrawlExpert, search.BST, search.BasicSearchResult, org.json.simple.JSONObject, data.TaxonNode" %> <% TrawlExpert te = (TrawlExpert)request.getServletContext().getAttribute("trawl"); - Iterable<TaxonNode> txNodes = te.getTaxonRecord(2).getChildren(); JSONParser parser = new JSONParser(); - //JSONObject req = (JSONObject) parser.parse(request.getReader().toString()); + JSONObject req = (JSONObject) parser.parse(request.getReader().readLine()); - //Integer taxonId = (int) (long) req.get("taxonId"); + Integer taxonId = (int) (long) req.get("taxid"); + //System.out.println(taxonId); + ArrayList<TaxonNode> txNodes = ((ArrayList<TaxonNode>) te.getTaxonRecord(taxonId).getChildren()); + TaxonNode[] txNodesAr = txNodes.toArray(new TaxonNode[txNodes.size()]); + + GeneralCompare<TaxonNode> gc = (tn0, tn1) -> ((TaxonNode) tn0).getName().compareTo(((TaxonNode) tn1).getName()); + MergeSort.sort(txNodesAr, 0, txNodesAr.length - 1, gc); JSONObject js = new JSONObject(); JSONArray taxonIds = new JSONArray(); JSONArray names = new JSONArray(); - for (TaxonNode tx: txNodes){ + taxonIds.add(-1); + names.add("Any"); + + for (TaxonNode tx: txNodesAr){ taxonIds.add(tx.getTaxonId()); names.add(tx.getName()); }