r12289 - in search_server/branches/ngs/servlet: . src/main/java/org/musicbrainz/search/servlet/mmd2 src/test/java/org/musicbrainz/search/servlet

View: New views
1 Messages — Rating Filter:   Alert me  

r12289 - in search_server/branches/ngs/servlet: . src/main/java/org/musicbrainz/search/servlet/mmd2 src/test/java/org/musicbrainz/search/servlet

by root-97 :: Rate this Message:

Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message

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