« Return to Thread: r11786 - search_server/branches/lucene-java/servlet/src/main/java/org/musicbrainz/search

r11786 - search_server/branches/lucene-java/servlet/src/main/java/org/musicbrainz/search

by root-97 :: Rate this Message:

Reply (Restricted by the Administrator) | Reply to Author | View in Thread

Author: murdos
Date: 2009-06-28 21:18:24 +0000 (Sun, 28 Jun 2009)
New Revision: 11786

Modified:
   search_server/branches/lucene-java/servlet/src/main/java/org/musicbrainz/search/ResourceType.java
   search_server/branches/lucene-java/servlet/src/main/java/org/musicbrainz/search/SearchServerServlet.java
Log:
Fix various errors: writers map not initialized, use of ResourceType.valueOf() not working, and unhandled case of incorrect resource type requested

Modified: search_server/branches/lucene-java/servlet/src/main/java/org/musicbrainz/search/ResourceType.java
===================================================================
--- search_server/branches/lucene-java/servlet/src/main/java/org/musicbrainz/search/ResourceType.java 2009-06-28 15:10:10 UTC (rev 11785)
+++ search_server/branches/lucene-java/servlet/src/main/java/org/musicbrainz/search/ResourceType.java 2009-06-28 21:18:24 UTC (rev 11786)
@@ -20,4 +20,12 @@
     public String getName() {
         return name;
     }
+
+    public static ResourceType getValue(String value) {
+        for ( ResourceType candidateEnum : ResourceType.values() ) {
+            if(candidateEnum.getName().equals(value)) return candidateEnum;
+        }
+        return null;
+    }
+
 }

Modified: search_server/branches/lucene-java/servlet/src/main/java/org/musicbrainz/search/SearchServerServlet.java
===================================================================
--- search_server/branches/lucene-java/servlet/src/main/java/org/musicbrainz/search/SearchServerServlet.java 2009-06-28 15:10:10 UTC (rev 11785)
+++ search_server/branches/lucene-java/servlet/src/main/java/org/musicbrainz/search/SearchServerServlet.java 2009-06-28 21:18:24 UTC (rev 11786)
@@ -36,6 +36,7 @@
 import java.io.IOException;
 import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
+import java.util.HashMap;
 import java.util.Map;
 import java.util.logging.Logger;
 
@@ -44,7 +45,7 @@
     final Logger log = Logger.getLogger(SearchServerServlet.class.getName());
 
     private SearchServer searchServer;
-    private Map<ResourceType, ResultsWriter> writers;
+    private Map<ResourceType, ResultsWriter> writers = new HashMap<ResourceType, ResultsWriter>();
 
     @Override
     public void init() {
@@ -94,12 +95,17 @@
             response.sendError(400, "No type.");
             return;
         }
-        ResourceType resourceType = ResourceType.valueOf(type);
-
+        ResourceType resourceType = ResourceType.getValue(type);
+        
+        if (resourceType == null) {
+            response.sendError(500, "Unknown resource type");
+            return;
+        }
+        
         int offset = 0;
         int limit = 10;
         Results results = searchServer.search(resourceType, query, offset, limit);
-        ResultsWriter writer = writers.get(type);
+        ResultsWriter writer = writers.get(resourceType);
         response.setCharacterEncoding("UTF-8");
         response.setContentType(writer.getMimeType());
         PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(response.getOutputStream(), "UTF-8")));


_______________________________________________
MusicBrainz-commits mailing list
MusicBrainz-commits@...
http://lists.musicbrainz.org/mailman/listinfo/musicbrainz-commits

 « Return to Thread: r11786 - search_server/branches/lucene-java/servlet/src/main/java/org/musicbrainz/search