Author: ijabz
Date: 2009-11-06 11:52:13 +0000 (Fri, 06 Nov 2009)
New Revision: 12289
Modified:
search_server/branches/ngs/servlet/pom.xml
search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/ResultsWriter.java
search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindArtistTest.java
Log:
JSON now uses natural mapping rather than mapped mapping, this removes @ from output of attributes. Requires jaxb 2.1.12 at runtime (version of jaxb in Java 6 is too old) so modified pom.xml accordingly.
Modified: search_server/branches/ngs/servlet/pom.xml
===================================================================
--- search_server/branches/ngs/servlet/pom.xml 2009-11-04 21:00:01 UTC (rev 12288)
+++ search_server/branches/ngs/servlet/pom.xml 2009-11-06 11:52:13 UTC (rev 12289)
@@ -66,7 +66,6 @@
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.1.12</version>
- <scope>test</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/ResultsWriter.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/ResultsWriter.java 2009-11-04 21:00:01 UTC (rev 12288)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/ResultsWriter.java 2009-11-06 11:52:13 UTC (rev 12289)
@@ -42,6 +42,7 @@
import com.sun.jersey.api.json.JSONJAXBContext;
import com.sun.jersey.api.json.JSONMarshaller;
+import com.sun.jersey.api.json.JSONConfiguration;
public abstract class ResultsWriter extends org.musicbrainz.search.servlet.ResultsWriter {
@@ -74,7 +75,8 @@
private static JSONJAXBContext initJsonContext() {
try {
- return new JSONJAXBContext("org.musicbrainz.mmd2");
+ return new JSONJAXBContext(JSONConfiguration.natural().build(),
+ "org.musicbrainz.mmd2");
}
catch (JAXBException ex) {
//Unable to initilize jaxb context, should never happen
Modified: search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindArtistTest.java
===================================================================
--- search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindArtistTest.java 2009-11-04 21:00:01 UTC (rev 12288)
+++ search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindArtistTest.java 2009-11-06 11:52:13 UTC (rev 12289)
@@ -294,8 +294,7 @@
String output = sw.toString();
System.out.println("Xml is" + output);
- //assertTrue(output.contains("<artist id=\"4302e264-1cf0-4d1f-aca7-2a6f89e34b36\"")); group comes before id in output
- //assertTrue(output.contains("<artist-list count=\"1\" offset=\"0\">")); offset comes before count in output
+ assertTrue(output.contains("id=\"4302e264-1cf0-4d1f-aca7-2a6f89e34b36\""));
assertTrue(output.contains("count=\"1\""));
assertTrue(output.contains("offset=\"0\""));
assertTrue(output.contains("type=\"group\""));
@@ -358,21 +357,32 @@
assertTrue(output.contains("<name>Echo & The Bunnymen</name>"));
}
+ /**
+ *
+ * @throws Exception
+ */
+ public void testOutputJson() throws Exception {
- public void testXmlWritingPerformance() throws Exception {
- Results res = ss.searchLucene("artist:\"Farming Incident\"", 0, 10);
- assertEquals(1, res.totalHits);
-
- Date start = new Date();
- org.musicbrainz.search.servlet.ResultsWriter writer = new ArtistMmd1XmlWriter();
+ Results res = ss.searchLucene("artist:\"Farming Incident\"", 0, 1);
+ ResultsWriter writer = new ArtistWriter();
StringWriter sw = new StringWriter();
PrintWriter pr = new PrintWriter(sw);
- for (int i = 0; i < 1000; i++) {
- writer.write(pr, res);
- }
+ writer.write(pr, res,SearchServerServlet.RESPONSE_JSON);
pr.close();
- Date end = new Date();
- System.out.println("XML - Time Taken: " + (end.getTime() - start.getTime()) + "ms");
+
+ String output = sw.toString();
+ System.out.println("Json is" + output);
+
+ assertTrue(output.contains("id\":\"4302e264-1cf0-4d1f-aca7-2a6f89e34b36\""));
+ assertTrue(output.contains("\"count\":1"));
+ assertTrue(output.contains("\"offset\":0,"));
+ assertTrue(output.contains("\"type\":\"group\""));
+ assertTrue(output.contains("name\":\"Farming Incident\""));
+ assertTrue(output.contains("\"sort-name\":\"Farming Incident\""));
+ assertTrue(output.contains("\"life-span\":{\"begin\":\"1999-04\"}"));
+ assertTrue(output.contains("\"country\":\"af\""));
+ assertTrue(output.contains("\"gender\":\"male\""));
}
+
}
\ No newline at end of file
_______________________________________________
MusicBrainz-commits mailing list
MusicBrainz-commits@...
http://lists.musicbrainz.org/mailman/listinfo/musicbrainz-commits