From 410219d08abdb859315c4d6d0e0375287d64a88b Mon Sep 17 00:00:00 2001 From: Matt Windsor Date: Sat, 19 Mar 2011 14:12:44 +0000 Subject: Converted protocol to JSON. Now passes its first ever unit test\! --- src/uk/org/ury/library/LibraryRequestHandler.java | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'src/uk/org/ury/library/LibraryRequestHandler.java') diff --git a/src/uk/org/ury/library/LibraryRequestHandler.java b/src/uk/org/ury/library/LibraryRequestHandler.java index 30bb7fc..835e50e 100644 --- a/src/uk/org/ury/library/LibraryRequestHandler.java +++ b/src/uk/org/ury/library/LibraryRequestHandler.java @@ -4,6 +4,7 @@ package uk.org.ury.library; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -19,6 +20,7 @@ import uk.org.ury.server.RequestHandler; import uk.org.ury.server.exceptions.HandleFailureException; import uk.org.ury.server.protocol.Directive; + /** * A request handler for library queries. * @@ -48,11 +50,11 @@ public class LibraryRequestHandler implements RequestHandler */ @Override - public List + public Map handleGetRequest (Map parameters, Server server) throws HandleFailureException { - List response = new ArrayList (); + Map response = new HashMap(); if (parameters.containsKey ("function")) { @@ -64,8 +66,9 @@ public class LibraryRequestHandler implements RequestHandler } else if (function.equals ("help")) { - response.add ("INFO: Available functions:"); - response.add ("INFO: search (string) - search library for string."); + response.put (Directive.INFO.toString (), + "Available functions:"); + response.put (Directive.INFO.toString (), "search (string) - search library for string."); } else throw new HandleFailureException ("Unknown function: " @@ -97,7 +100,7 @@ public class LibraryRequestHandler implements RequestHandler private void doSearch (Map parameters, - List response, Server server) + Map response, Server server) throws HandleFailureException { if (parameters.containsKey ("search") == false) @@ -123,14 +126,14 @@ public class LibraryRequestHandler implements RequestHandler try { + List> itemArray = new ArrayList> (); + for (LibraryItem li : LibraryUtils.search (dd, search)) { - response.add (Directive.ITEM_START.toString ()); - - response.addAll (li.asResponse ()); - - response.add (Directive.ITEM_END.toString ()); + itemArray.add (li.asResponse ()); } + + response.put ("items", itemArray); } catch (QueryFailureException e) { -- cgit v1.2.3