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