r12288 - in search_server/branches/ngs/servlet: . src/main/java/org/musicbrainz/search/servlet src/main/java/org/musicbrainz/search/servlet/mmd1 src/main/java/org/musicbrainz/search/servlet/mmd2 src/main/java/org/musicbrainz/search/servlet/v1support src/main/resources src/test/java/org/musicbrainz/search/servlet

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

r12288 - in search_server/branches/ngs/servlet: . src/main/java/org/musicbrainz/search/servlet src/main/java/org/musicbrainz/search/servlet/mmd1 src/main/java/org/musicbrainz/search/servlet/mmd2 src/main/java/org/musicbrainz/search/servlet/v1support src/main/resources 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-04 21:00:01 +0000 (Wed, 04 Nov 2009)
New Revision: 12288

Added:
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/V1TrackIndexField.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/ArtistWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/LabelWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/RecordingWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/ReleaseGroupWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/ReleaseWriter.java
   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/WorkWriter.java
Removed:
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/AnnotationHtmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/ArtistHtmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/CDStubHtmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/FreeDBHtmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/HtmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/LabelHtmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/ReleaseGroupHtmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/ReleaseHtmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/TrackHtmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/VelocityLogChute.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/ArtistXmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/LabelXmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/RecordingXmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/ReleaseGroupXmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/ReleaseXmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/WorkXmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/XmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/v1support/V1TrackIndexField.java
   search_server/branches/ngs/servlet/src/main/resources/annotation.html.vtl
   search_server/branches/ngs/servlet/src/main/resources/artist.html.vtl
   search_server/branches/ngs/servlet/src/main/resources/cdstub.html.vtl
   search_server/branches/ngs/servlet/src/main/resources/freedb.html.vtl
   search_server/branches/ngs/servlet/src/main/resources/label.html.vtl
   search_server/branches/ngs/servlet/src/main/resources/release.html.vtl
   search_server/branches/ngs/servlet/src/main/resources/releasegroup.html.vtl
   search_server/branches/ngs/servlet/src/main/resources/track.html.vtl
Modified:
   search_server/branches/ngs/servlet/pom.xml
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/AnnotationSearch.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/ArtistSearch.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/CDStubSearch.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/FreeDBSearch.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/LabelSearch.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/RecordingQueryParser.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/RecordingSearch.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/ReleaseGroupSearch.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/ReleaseSearch.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/ResultsWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/SearchServer.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/SearchServerServlet.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/WorkSearch.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/Mmd1XmlWriter.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/ReleaseGroupMmd1XmlWriter.java
   search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindAnnotationTest.java
   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/FindFreeDBTest.java
   search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindLabelTest.java
   search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindRecordingTest.java
   search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindReleaseGroupTest.java
   search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindReleaseTest.java
   search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindWorkTest.java
Log:
Added support for outputting as JSON (use fmt=json)
Remove support for outputtiong as html (and velocity)

Modified: search_server/branches/ngs/servlet/pom.xml
===================================================================
--- search_server/branches/ngs/servlet/pom.xml 2009-11-04 19:15:17 UTC (rev 12287)
+++ search_server/branches/ngs/servlet/pom.xml 2009-11-04 21:00:01 UTC (rev 12288)
@@ -20,6 +20,11 @@
       <id>brainz-mmd-jaxb</id>
       <url>http://brainz-mmd-jaxb.googlecode.com/svn/trunk/repo</url>
     </repository>
+    <repository>
+        <id>maven2-repository.dev.java.net</id>
+        <name>Java.net Repository for Maven</name>
+        <url>http://download.java.net/maven/2/</url>
+      </repository>
   </repositories>
   <dependencies>
     <dependency>
@@ -64,17 +69,17 @@
       <scope>test</scope>
     </dependency>
     <dependency>
+      <groupId>com.sun.jersey</groupId>
+      <artifactId>jersey-json</artifactId>
+      <version>1.1.2-ea</version>
+    </dependency>
+    <dependency>
       <groupId>org.musicbrainz.search</groupId>
       <artifactId>index</artifactId>
       <version>2.0-SNAPSHOT</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
-      <groupId>org.apache.velocity</groupId>
-      <artifactId>velocity</artifactId>
-      <version>1.6.2</version>
-    </dependency>
-    <dependency>
       <groupId>org.tuckey</groupId>
       <artifactId>urlrewritefilter</artifactId>
       <version>3.1.0</version>

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/AnnotationSearch.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/AnnotationSearch.java 2009-11-04 19:15:17 UTC (rev 12287)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/AnnotationSearch.java 2009-11-04 21:00:01 UTC (rev 12288)
@@ -12,7 +12,6 @@
 
     private AnnotationSearch() throws Exception {
         mmd1XmlWriter = null;
-        htmlWriter = new AnnotationHtmlWriter();
         defaultFields = new ArrayList<String>();
         defaultFields.add(AnnotationIndexField.TEXT.getName());
         analyzer = new PerFieldEntityAnalyzer(AnnotationIndexField.class);

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/ArtistSearch.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/ArtistSearch.java 2009-11-04 19:15:17 UTC (rev 12287)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/ArtistSearch.java 2009-11-04 21:00:01 UTC (rev 12288)
@@ -4,7 +4,7 @@
 import org.apache.lucene.queryParser.QueryParser;
 import org.musicbrainz.search.index.ArtistIndexField;
 import org.musicbrainz.search.servlet.mmd1.ArtistMmd1XmlWriter;
-import org.musicbrainz.search.servlet.mmd2.ArtistXmlWriter;
+import org.musicbrainz.search.servlet.mmd2.ArtistWriter;
 import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
 
 import java.util.ArrayList;
@@ -13,9 +13,8 @@
 public class ArtistSearch extends SearchServer {
 
     private ArtistSearch() throws Exception {
-        xmlWriter = new ArtistXmlWriter();
+        resultsWriter = new ArtistWriter();
         mmd1XmlWriter = new ArtistMmd1XmlWriter();
-        htmlWriter = new ArtistHtmlWriter();
         defaultFields = new ArrayList<String>();
         defaultFields.add(ArtistIndexField.ARTIST.getName());
         defaultFields.add(ArtistIndexField.ALIAS.getName());

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/CDStubSearch.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/CDStubSearch.java 2009-11-04 19:15:17 UTC (rev 12287)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/CDStubSearch.java 2009-11-04 21:00:01 UTC (rev 12288)
@@ -13,7 +13,6 @@
 
     private CDStubSearch() throws Exception {
         mmd1XmlWriter = null;
-        htmlWriter = new CDStubHtmlWriter();
         defaultFields = new ArrayList<String>();
         defaultFields.add(CDStubIndexField.ARTIST.getName());
         defaultFields.add(CDStubIndexField.TITLE.getName());

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/FreeDBSearch.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/FreeDBSearch.java 2009-11-04 19:15:17 UTC (rev 12287)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/FreeDBSearch.java 2009-11-04 21:00:01 UTC (rev 12288)
@@ -13,7 +13,6 @@
 
     private FreeDBSearch() throws Exception {
         mmd1XmlWriter = null;
-        htmlWriter = new FreeDBHtmlWriter();
         defaultFields = new ArrayList<String>();
         defaultFields.add(FreeDBIndexField.ARTIST.getName());
         defaultFields.add(FreeDBIndexField.TITLE.getName());

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/LabelSearch.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/LabelSearch.java 2009-11-04 19:15:17 UTC (rev 12287)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/LabelSearch.java 2009-11-04 21:00:01 UTC (rev 12288)
@@ -4,7 +4,7 @@
 import org.apache.lucene.queryParser.QueryParser;
 import org.musicbrainz.search.index.LabelIndexField;
 import org.musicbrainz.search.servlet.mmd1.LabelMmd1XmlWriter;
-import org.musicbrainz.search.servlet.mmd2.LabelXmlWriter;
+import org.musicbrainz.search.servlet.mmd2.LabelWriter;
 import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
 
 import java.util.ArrayList;
@@ -14,9 +14,8 @@
 
     public LabelSearch() throws Exception {
 
-        xmlWriter = new LabelXmlWriter();
+        resultsWriter = new LabelWriter();
         mmd1XmlWriter = new LabelMmd1XmlWriter();
-        htmlWriter = new LabelHtmlWriter();
         defaultFields = new ArrayList<String>();
         defaultFields.add(LabelIndexField.LABEL.getName());
         defaultFields.add(LabelIndexField.ALIAS.getName());

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/RecordingQueryParser.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/RecordingQueryParser.java 2009-11-04 19:15:17 UTC (rev 12287)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/RecordingQueryParser.java 2009-11-04 21:00:01 UTC (rev 12288)
@@ -10,7 +10,7 @@
 import org.apache.lucene.util.NumericUtils;
 import org.musicbrainz.search.index.RecordingIndexField;
 import org.musicbrainz.search.index.ReleaseGroupType;
-import org.musicbrainz.search.servlet.v1support.V1TrackIndexField;
+import org.musicbrainz.search.servlet.mmd1.V1TrackIndexField;
 
 
 /**

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/RecordingSearch.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/RecordingSearch.java 2009-11-04 19:15:17 UTC (rev 12287)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/RecordingSearch.java 2009-11-04 21:00:01 UTC (rev 12288)
@@ -4,7 +4,7 @@
 import org.apache.lucene.queryParser.QueryParser;
 import org.musicbrainz.search.index.RecordingIndexField;
 import org.musicbrainz.search.servlet.mmd1.TrackMmd1XmlWriter;
-import org.musicbrainz.search.servlet.mmd2.RecordingXmlWriter;
+import org.musicbrainz.search.servlet.mmd2.RecordingWriter;
 import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
 
 import java.util.ArrayList;
@@ -14,9 +14,8 @@
 
     public RecordingSearch() throws Exception {
 
-        xmlWriter = new RecordingXmlWriter();
+        resultsWriter = new RecordingWriter();
         mmd1XmlWriter = new TrackMmd1XmlWriter();
-        htmlWriter = new TrackHtmlWriter();
         defaultFields = new ArrayList<String>();
         defaultFields.add(RecordingIndexField.RECORDING.getName());
         analyzer = new PerFieldEntityAnalyzer(RecordingIndexField.class);

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/ReleaseGroupSearch.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/ReleaseGroupSearch.java 2009-11-04 19:15:17 UTC (rev 12287)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/ReleaseGroupSearch.java 2009-11-04 21:00:01 UTC (rev 12288)
@@ -4,7 +4,7 @@
 import org.apache.lucene.queryParser.QueryParser;
 import org.musicbrainz.search.index.ReleaseGroupIndexField;
 import org.musicbrainz.search.servlet.mmd1.ReleaseGroupMmd1XmlWriter;
-import org.musicbrainz.search.servlet.mmd2.ReleaseGroupXmlWriter;
+import org.musicbrainz.search.servlet.mmd2.ReleaseGroupWriter;
 import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
 
 import java.util.ArrayList;
@@ -14,9 +14,8 @@
 
     public ReleaseGroupSearch() throws Exception
     {
-        xmlWriter = new ReleaseGroupXmlWriter();
+        resultsWriter = new ReleaseGroupWriter();
         mmd1XmlWriter = new ReleaseGroupMmd1XmlWriter();
-        htmlWriter          = new ReleaseGroupHtmlWriter();
         defaultFields       = new ArrayList<String>();
         defaultFields.add(ReleaseGroupIndexField.RELEASEGROUP.getName());
         analyzer = new PerFieldEntityAnalyzer(ReleaseGroupIndexField.class);

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/ReleaseSearch.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/ReleaseSearch.java 2009-11-04 19:15:17 UTC (rev 12287)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/ReleaseSearch.java 2009-11-04 21:00:01 UTC (rev 12288)
@@ -4,8 +4,7 @@
 import org.apache.lucene.queryParser.QueryParser;
 import org.musicbrainz.search.index.ReleaseIndexField;
 import org.musicbrainz.search.servlet.mmd1.ReleaseMmd1XmlWriter;
-import org.musicbrainz.search.servlet.mmd2.ReleaseGroupXmlWriter;
-import org.musicbrainz.search.servlet.mmd2.ReleaseXmlWriter;
+import org.musicbrainz.search.servlet.mmd2.ReleaseWriter;
 import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
 
 import java.util.ArrayList;
@@ -15,9 +14,8 @@
 
     public ReleaseSearch() throws Exception {
 
-        xmlWriter = new ReleaseXmlWriter();
+        resultsWriter = new ReleaseWriter();
         mmd1XmlWriter = new ReleaseMmd1XmlWriter();
-        htmlWriter = new ReleaseHtmlWriter();
         defaultFields = new ArrayList<String>();
         defaultFields.add(ReleaseIndexField.RELEASE.getName());
         analyzer = new PerFieldEntityAnalyzer(ReleaseIndexField.class);

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/ResultsWriter.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/ResultsWriter.java 2009-11-04 19:15:17 UTC (rev 12287)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/ResultsWriter.java 2009-11-04 21:00:01 UTC (rev 12288)
@@ -39,10 +39,9 @@
     public abstract String getMimeType();
 
     public void write(PrintWriter out, Results results) throws IOException {
-        write(out,results,new EnumMap<RequestParameter,String>(RequestParameter.class) );
+        write(out, results, SearchServerServlet.RESPONSE_XML ) ;
     }
 
+    public abstract void write(PrintWriter out, Results results,String outputFormat) throws IOException ;
 
-    public abstract void write(PrintWriter out, Results results,EnumMap<RequestParameter,String> extraInfoMap) throws IOException;
-
 }

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/SearchServer.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/SearchServer.java 2009-11-04 19:15:17 UTC (rev 12287)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/SearchServer.java 2009-11-04 21:00:01 UTC (rev 12288)
@@ -41,7 +41,7 @@
 import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.index.MetaIndexField;
 import org.musicbrainz.search.servlet.mmd1.Mmd1XmlWriter;
-import org.musicbrainz.search.servlet.mmd2.XmlWriter;
+import org.musicbrainz.search.servlet.mmd2.ResultsWriter;
 
 import java.io.File;
 import java.io.IOException;
@@ -56,13 +56,11 @@
 public abstract class SearchServer {
 
     protected PerFieldAnalyzerWrapper analyzer;
-    protected XmlWriter xmlWriter;
+    protected ResultsWriter resultsWriter;
     protected Mmd1XmlWriter mmd1XmlWriter;
-    protected HtmlWriter htmlWriter;
     protected List<String> defaultFields;
     protected IndexSearcher indexSearcher;
     protected Date          serverLastUpdatedDate;
-    protected String        htmlLastUpdated;
     protected SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm zz",Locale.US);
     protected AtomicInteger    searchCount = new AtomicInteger();
 
@@ -95,7 +93,6 @@
             serverLastUpdatedDate = new Date(NumericUtils.prefixCodedToLong(indexSearcher.getIndexReader().document(indexSearcher.getIndexReader().maxDoc()-1)
                     .getField(MetaIndexField.META.getName()).stringValue()));
             dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
-            htmlWriter.setLastUpdated(dateFormat.format(serverLastUpdatedDate));
         }
         catch(Exception e) {
             System.out.println(e);
@@ -108,18 +105,14 @@
     }
 
 
-    public XmlWriter getXmlWriter() {
-        return xmlWriter;
+    public org.musicbrainz.search.servlet.mmd2.ResultsWriter getXmlWriter() {
+        return resultsWriter;
     }
 
     public Mmd1XmlWriter getXmlV1Writer() {
         return mmd1XmlWriter;
     }
 
-    public HtmlWriter getHtmlWriter() {
-        return htmlWriter;
-    }
-
     public List<String> getSearchFields() {
         return defaultFields;
     }
@@ -129,25 +122,13 @@
     }
 
 
-    public ResultsWriter getWriter(String fmt, String version) {
-        if (SearchServerServlet.RESPONSE_XML.equals(fmt)) {
-            if(SearchServerServlet.WS_VERSION_1.equals(version)) {
-                return getXmlV1Writer();
-            }
-            else {
-                //TODO whilst in dev fall back to v1 if don't have a v2 one yet
-                ResultsWriter writer = getXmlWriter();
-                if(writer==null)  {
-                   return getXmlV1Writer();
-                } else {
-                   return writer;
-                }
-
-            }
-
-        } else {
-            return getHtmlWriter();
+    public org.musicbrainz.search.servlet.ResultsWriter getWriter(String fmt, String version) {
+        if(SearchServerServlet.WS_VERSION_1.equals(version)) {
+            return getXmlV1Writer();
         }
+        else {
+            return getXmlWriter();
+        }
     }
 
     /**

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/SearchServerServlet.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/SearchServerServlet.java 2009-11-04 19:15:17 UTC (rev 12287)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/SearchServerServlet.java 2009-11-04 21:00:01 UTC (rev 12288)
@@ -29,7 +29,7 @@
 package org.musicbrainz.search.servlet;
 
 import org.apache.lucene.queryParser.ParseException;
-import org.apache.velocity.app.Velocity;
+import org.musicbrainz.search.servlet.mmd2.ResultsWriter;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
@@ -39,9 +39,8 @@
 import java.io.IOException;
 import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
-import java.util.logging.Logger;
-import java.util.EnumMap;
 import java.lang.management.ManagementFactory;
+import java.util.logging.Logger;
 
 public class SearchServerServlet extends HttpServlet {
 
@@ -52,8 +51,8 @@
     final static int MAX_MATCHES_LIMIT = 100;
 
 
-    final static String RESPONSE_XML = "xml";
-    final static String RESPONSE_HTML = "html";
+    public final static String RESPONSE_XML    = "xml";
+    public final static String RESPONSE_JSON   = "json";
 
     final static String WS_VERSION_1 = "1";
     final static String WS_VERSION_2 = "2";
@@ -70,11 +69,8 @@
         String indexDir = getServletConfig().getInitParameter("index_dir");
         log.info("Index dir = " + indexDir);
         log.info("Max Heap = "+ ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getMax());
-        // Setup Velocity and Search server
-        setUpVelocity();
 
         try {
-            Velocity.init();
             SearchServerFactory.init(indexDir);
             isServletInitialized = true;
         } catch (Exception e1) {
@@ -85,13 +81,8 @@
 
     }
 
-    public static void setUpVelocity() {
-        Velocity.setProperty("resource.loader", "class");
-        Velocity.setProperty("class.resource.loader.class", org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader.class.getName());
-        Velocity.setProperty("eventhandler.referenceinsertion.class", "org.apache.velocity.app.event.implement.EscapeHtmlReference");
-        Velocity.setProperty(Velocity.RUNTIME_LOG_LOGSYSTEM, new VelocityLogChute());
-    }
 
+
     @Override
     public void destroy() {
         SearchServerFactory.close();
@@ -195,68 +186,30 @@
             }
         }
 
-        EnumMap<RequestParameter, String> extraInfoMap = new EnumMap<RequestParameter, String>(RequestParameter.class);
-        switch (resourceType) {
-            case RELEASE: {
-                String tport = request.getParameter(RequestParameter.TAGGER_PORT.getName());
-                String rel = request.getParameter(RequestParameter.RELATIONSHIPS.getName());
-                if (tport != null) {
-                    extraInfoMap.put(RequestParameter.TAGGER_PORT, tport);
-                    String duration = request.getParameter(RequestParameter.DURATION.getName());
-                    if (duration != null) {
-                        extraInfoMap.put(RequestParameter.DURATION, duration);
-                    }
-                } else if (rel != null) {
-                    extraInfoMap.put(RequestParameter.RELATIONSHIPS, rel);
-                }
-            }
-            break;
 
-            case RECORDING: {
-                String tport = request.getParameter(RequestParameter.TAGGER_PORT.getName());
-                String rel = request.getParameter(RequestParameter.RELATIONSHIPS.getName());
-                String oldLink = request.getParameter(RequestParameter.OLD_STYLE_LINK.getName());
-
-                if (tport != null) {
-                    extraInfoMap.put(RequestParameter.TAGGER_PORT, tport);
-                    String duration = request.getParameter(RequestParameter.DURATION.getName());
-                    if (duration != null) {
-                        extraInfoMap.put(RequestParameter.DURATION, duration);
-                    }
-                } else if (oldLink != null) {
-                    extraInfoMap.put(RequestParameter.OLD_STYLE_LINK, oldLink);
-                } else if (rel != null) {
-                    extraInfoMap.put(RequestParameter.RELATIONSHIPS, rel);
-                }
-            }
-            break;
-
-            case ARTIST: {
-                String rel = request.getParameter(RequestParameter.RELATIONSHIPS.getName());
-                if (rel != null) {
-                    extraInfoMap.put(RequestParameter.RELATIONSHIPS, rel);
-                }
-            }
-            break;
-        }
-
         // Make the search
         try {
 
             SearchServer searchServer = SearchServerFactory.getSearchServer(resourceType);
             Results results = searchServer.search(query, offset, limit);
+            org.musicbrainz.search.servlet.ResultsWriter writer = searchServer.getWriter(responseFormat, responseVersion);
 
-            ResultsWriter writer = searchServer.getWriter(responseFormat, responseVersion);
-
             if (writer == null) {
                 response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, ErrorMessage.NO_HANDLER_FOR_TYPE_AND_FORMAT.getMsg(resourceType, responseFormat));
                 return;
             }
             response.setCharacterEncoding(CHARSET);
-            response.setContentType(writer.getMimeType());
+            if(responseFormat.equals(RESPONSE_XML)) {
+                response.setContentType(writer.getMimeType());
+            }
+            else {
+                response.setContentType(((ResultsWriter)writer).getJsonMimeType());
+            }
+
             PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(response.getOutputStream(), CHARSET)));
-            writer.write(out, results, extraInfoMap);
+            writer.write(out, results,responseFormat);
             out.close();
+
         }
         catch (ParseException pe) {
             response.sendError(HttpServletResponse.SC_BAD_REQUEST, ErrorMessage.UNABLE_TO_PARSE_SEARCH.getMsg(query));

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/WorkSearch.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/WorkSearch.java 2009-11-04 19:15:17 UTC (rev 12287)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/WorkSearch.java 2009-11-04 21:00:01 UTC (rev 12288)
@@ -2,12 +2,8 @@
 
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.queryParser.QueryParser;
-import org.musicbrainz.search.index.ReleaseIndexField;
 import org.musicbrainz.search.index.WorkIndexField;
-import org.musicbrainz.search.servlet.mmd1.ReleaseMmd1XmlWriter;
-import org.musicbrainz.search.servlet.mmd2.ReleaseGroupXmlWriter;
-import org.musicbrainz.search.servlet.mmd2.ReleaseXmlWriter;
-import org.musicbrainz.search.servlet.mmd2.WorkXmlWriter;
+import org.musicbrainz.search.servlet.mmd2.WorkWriter;
 import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
 
 import java.util.ArrayList;
@@ -17,7 +13,7 @@
 
     public WorkSearch() throws Exception {
 
-        xmlWriter = new WorkXmlWriter();
+        resultsWriter = new WorkWriter();
         defaultFields = new ArrayList<String>();
         defaultFields.add(WorkIndexField.WORK.getName());
         analyzer = new PerFieldEntityAnalyzer(WorkIndexField.class);

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/Mmd1XmlWriter.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/Mmd1XmlWriter.java 2009-11-04 19:15:17 UTC (rev 12287)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/Mmd1XmlWriter.java 2009-11-04 21:00:01 UTC (rev 12288)
@@ -87,7 +87,7 @@
      * @param results
      * @throws IOException
      */
-    public void write(PrintWriter out, Results results, EnumMap<RequestParameter,String> extraInfoMap) throws IOException {
+    public void write(PrintWriter out, Results results, String outputFormat) throws IOException {
         try {
             Metadata metadata = write(results);
             Marshaller m = context.createMarshaller();

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/ReleaseGroupMmd1XmlWriter.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/ReleaseGroupMmd1XmlWriter.java 2009-11-04 19:15:17 UTC (rev 12287)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/ReleaseGroupMmd1XmlWriter.java 2009-11-04 21:00:01 UTC (rev 12288)
@@ -72,15 +72,12 @@
             //i.e http://localhost:8080/?type=release-group&query=artist:%22Cincinnati%20Pops%20Orchestra%22&fmt=xml&version=1
             String artistName = doc.get(ReleaseGroupIndexField.ARTIST_NAME);
             if (artistName != null) {
-
                 Artist artist = of.createArtist();
                 artist.setName(artistName);
                 artist.setId(doc.get(ReleaseGroupIndexField.ARTIST_ID));
                 artist.setSortName(doc.get(ReleaseGroupIndexField.ARTIST_SORTNAME));
                 releaseGroup.setArtist(artist);
             }
-
-
             releaseGroupList.getReleaseGroup().add(releaseGroup);
         }
         releaseGroupList.setCount(BigInteger.valueOf(results.totalHits));


Property changes on: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/V1TrackIndexField.java
___________________________________________________________________
Added: svn:mergeinfo
   + /search_server/branches/lucene-java/index/src/main/java/org/musicbrainz/search/index/RecordingIndexField.java:12117-12127
/search_server/trunk/index/src/main/java/org/musicbrainz/search/index/RecordingIndexField.java:12128-12159


Property changes on: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/RecordingWriter.java
___________________________________________________________________
Added: svn:mergeinfo
   + /search_server/branches/lucene-java/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/TrackMmd1XmlWriter.java:12117-12127
/search_server/trunk/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/TrackMmd1XmlWriter.java:12128-12159


Property changes on: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/ReleaseWriter.java
___________________________________________________________________
Added: svn:mergeinfo
   + /search_server/branches/lucene-java/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/ReleaseMmd1XmlWriter.java:12117-12127
/search_server/trunk/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/ReleaseMmd1XmlWriter.java:12128-12159


Property changes on: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/WorkWriter.java
___________________________________________________________________
Added: svn:mergeinfo
   + /search_server/branches/lucene-java/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/ReleaseGroupXmlWriter.java:12117-12127
/search_server/trunk/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/ReleaseGroupXmlWriter.java:12128-12159

Modified: search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindAnnotationTest.java
===================================================================
--- search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindAnnotationTest.java 2009-11-04 19:15:17 UTC (rev 12287)
+++ search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindAnnotationTest.java 2009-11-04 21:00:01 UTC (rev 12288)
@@ -5,16 +5,11 @@
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.store.RAMDirectory;
-import org.apache.velocity.app.Velocity;
 import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
 import org.musicbrainz.search.index.AnnotationIndexField;
 import org.musicbrainz.search.index.AnnotationType;
 
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.Date;
-
 /**
  * Test retrieving Annotations entries from index and Outputting as Html
  */
@@ -28,8 +23,6 @@
 
     @Override
     protected void setUp() throws Exception {
-        SearchServerServlet.setUpVelocity();
-        Velocity.init();
         RAMDirectory ramDir = new RAMDirectory();
         PerFieldAnalyzerWrapper analyzer = new PerFieldEntityAnalyzer(AnnotationIndexField.class);
         IndexWriter writer = new IndexWriter(ramDir, analyzer, true, IndexWriter.MaxFieldLength.LIMITED);
@@ -93,39 +86,4 @@
         Results res = ss.searchLucene("DiscID", 0, 10);
         assertEquals(1, res.totalHits);
     }
-
-
-    public void testOutputAsHtml() throws Exception {
-
-        Results res = ss.searchLucene("DiscID", 0, 1);
-        ResultsWriter writer = new AnnotationHtmlWriter();
-        StringWriter sw = new StringWriter();
-        PrintWriter pr = new PrintWriter(sw);
-        writer.write(pr, res);
-        pr.close();
-
-        String output = sw.toString();
-        //System.out.println(output);
-        assertTrue(output.contains("<a href=\"/release/bdb24cb5-404b-4f60-bba4-7b730325ae47.html\">Pieds nus sur la braise</a>"));
-        assertTrue(output.contains("<td>%WIKIBEGIN%EAN: 0828768226629 - DiscID: TWj6cLku360MfFYAq_MEaT_stgc-%WIKIEND%</td>"));
-    }
-
-
-
-    public void testHtmlWritingPerformance() throws Exception {
-        Results res = ss.searchLucene("DiscID", 0, 10);
-        assertEquals(1, res.totalHits);
-
-        Date start = new Date();
-        ResultsWriter writer = new AnnotationHtmlWriter();
-        StringWriter sw = new StringWriter();
-        PrintWriter pr = new PrintWriter(sw);
-        for (int i = 0; i < 1000; i++) {
-            writer.write(pr, res);
-        }
-        pr.close();
-        Date end = new Date();
-        System.out.println("HTML - Time Taken: " + (end.getTime() - start.getTime()) + "ms");
-    }
-
 }
\ No newline at end of file

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 19:15:17 UTC (rev 12287)
+++ search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindArtistTest.java 2009-11-04 21:00:01 UTC (rev 12288)
@@ -1,25 +1,18 @@
 package org.musicbrainz.search.servlet;
+
 import junit.framework.TestCase;
+import org.apache.lucene.analysis.PerFieldAnalyzerWrapper;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.store.RAMDirectory;
-import org.apache.lucene.analysis.PerFieldAnalyzerWrapper;
-import org.apache.velocity.app.Velocity;
+import org.musicbrainz.search.MbDocument;
+import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
 import org.musicbrainz.search.index.ArtistIndexField;
 import org.musicbrainz.search.index.ArtistType;
-import org.musicbrainz.search.servlet.ArtistHtmlWriter;
-import org.musicbrainz.search.servlet.ArtistSearch;
 import org.musicbrainz.search.servlet.mmd1.ArtistMmd1XmlWriter;
-import org.musicbrainz.search.MbDocument;
-import org.musicbrainz.search.servlet.Result;
-import org.musicbrainz.search.servlet.Results;
-import org.musicbrainz.search.servlet.ResultsWriter;
-import org.musicbrainz.search.servlet.SearchServer;
-import org.musicbrainz.search.servlet.SearchServerServlet;
 import org.musicbrainz.search.servlet.mmd1.Mmd1XmlWriter;
-import org.musicbrainz.search.servlet.mmd2.ArtistXmlWriter;
-import org.musicbrainz.search.servlet.mmd2.XmlWriter;
-import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
+import org.musicbrainz.search.servlet.mmd2.ArtistWriter;
+import org.musicbrainz.search.servlet.mmd2.ResultsWriter;
 
 import java.io.PrintWriter;
 import java.io.StringWriter;
@@ -38,8 +31,6 @@
 
     @Override
     protected void setUp() throws Exception {
-        SearchServerServlet.setUpVelocity();
-        Velocity.init();
         RAMDirectory ramDir = new RAMDirectory();
         PerFieldAnalyzerWrapper analyzer = new PerFieldEntityAnalyzer(ArtistIndexField.class);
         IndexWriter writer = new IndexWriter(ramDir, analyzer, true, IndexWriter.MaxFieldLength.LIMITED);
@@ -76,6 +67,8 @@
         ss = new ArtistSearch(new IndexSearcher(ramDir,true));
     }
 
+
+
     public void testFindArtistById() throws Exception {
         Results res = ss.searchLucene("arid:\"4302e264-1cf0-4d1f-aca7-2a6f89e34b36\"", 0, 10);
         assertEquals(1, res.totalHits);
@@ -293,7 +286,7 @@
     public void testOutputXml() throws Exception {
 
         Results res = ss.searchLucene("artist:\"Farming Incident\"", 0, 1);
-        XmlWriter v1Writer = new ArtistXmlWriter();
+        ResultsWriter v1Writer = new ArtistWriter();
         StringWriter sw = new StringWriter();
         PrintWriter pr = new PrintWriter(sw);
         v1Writer.write(pr, res);
@@ -323,7 +316,7 @@
     public void testOutputXml2() throws Exception {
 
         Results res = ss.searchLucene("artist:\"Echo & the Bunnymen\"", 0, 1);
-        XmlWriter v1Writer = new ArtistXmlWriter();
+        ResultsWriter v1Writer = new ArtistWriter();
         StringWriter sw = new StringWriter();
         PrintWriter pr = new PrintWriter(sw);
         v1Writer.write(pr, res);
@@ -372,7 +365,7 @@
         assertEquals(1, res.totalHits);
 
         Date start = new Date();
-        ResultsWriter writer = new ArtistMmd1XmlWriter();
+        org.musicbrainz.search.servlet.ResultsWriter writer = new ArtistMmd1XmlWriter();
         StringWriter sw = new StringWriter();
         PrintWriter pr = new PrintWriter(sw);
         for (int i = 0; i < 1000; i++) {
@@ -382,39 +375,4 @@
         Date end = new Date();
         System.out.println("XML - Time Taken: " + (end.getTime() - start.getTime()) + "ms");
     }
-
-    
-
-
-    /**
-     * Tests strips off header and footer
-     * http://musicbrainz.org/ws/1/artist/?type=xml&query=%22Farming%20Incident%22
-     *
-     * @throws Exception
-     */
-    /*
-    public void testOutputAsXmlFragment() throws Exception {
-
-        Results res = ss.searchLucene("artist:\"Farming Incident\"", 0, 1);
-        Mmd1XmlWriter writer = new ArtistMmd1XmlWriter();
-        StringWriter sw = new StringWriter();
-        PrintWriter pr = new PrintWriter(sw);
-        writer.write(pr, res);
-        pr.close();
-
-        String output = sw.toString();
-        assertFalse(output.contains("metadata"));
-        assertFalse(output.contains("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>"));
-        assertTrue(output.contains("count=\"1\""));
-        assertTrue(output.contains("offset=\"0\""));
-        assertTrue(output.contains("type=\"Group\""));
-        assertTrue(output.contains("<name>Farming Incident</name>"));
-        assertTrue(output.contains("<sort-name>Farming Incident</sort-name>"));
-        assertTrue(output.contains("<life-span begin=\"1999-04\""));
-        assertFalse(output.contains("end"));
-        assertFalse(output.contains("alias"));
-        assertFalse(output.contains("disambugation"));
-        System.out.println("Xml Fragment is" + output);
-    }
-    */
 }
\ No newline at end of file

Modified: search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindFreeDBTest.java
===================================================================
--- search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindFreeDBTest.java 2009-11-04 19:15:17 UTC (rev 12287)
+++ search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindFreeDBTest.java 2009-11-04 21:00:01 UTC (rev 12288)
@@ -1,25 +1,14 @@
 package org.musicbrainz.search.servlet;
+
 import junit.framework.TestCase;
+import org.apache.lucene.analysis.PerFieldAnalyzerWrapper;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.store.RAMDirectory;
-import org.apache.lucene.analysis.PerFieldAnalyzerWrapper;
-import org.apache.velocity.app.Velocity;
+import org.musicbrainz.search.MbDocument;
 import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
 import org.musicbrainz.search.index.FreeDBIndexField;
-import org.musicbrainz.search.servlet.FreeDBHtmlWriter;
-import org.musicbrainz.search.servlet.FreeDBSearch;
-import org.musicbrainz.search.MbDocument;
-import org.musicbrainz.search.servlet.Result;
-import org.musicbrainz.search.servlet.Results;
-import org.musicbrainz.search.servlet.ResultsWriter;
-import org.musicbrainz.search.servlet.SearchServer;
-import org.musicbrainz.search.servlet.SearchServerServlet;
 
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.Date;
-
 /**
  * Test retrieving FreeDB entries from index and Outputting as Html
  */
@@ -33,8 +22,6 @@
 
     @Override
     protected void setUp() throws Exception {
-        SearchServerServlet.setUpVelocity();
-        Velocity.init();
         RAMDirectory ramDir = new RAMDirectory();
         PerFieldAnalyzerWrapper analyzer = new PerFieldEntityAnalyzer(FreeDBIndexField.class);
         IndexWriter writer = new IndexWriter(ramDir, analyzer, true, IndexWriter.MaxFieldLength.LIMITED);
@@ -137,57 +124,7 @@
             assertEquals("2008", doc.get(FreeDBIndexField.YEAR));
         }
 
-
     }
 
-    public void testOutputAsHtml() throws Exception {
 
-        Results res = ss.searchLucene("artist:\"Ska-P\"", 0, 1);
-        ResultsWriter writer = new FreeDBHtmlWriter();
-        StringWriter sw = new StringWriter();
-        PrintWriter pr = new PrintWriter(sw);
-        writer.write(pr, res);
-        pr.close();
-
-        String output = sw.toString();
-        assertTrue(output.contains("Lágrimas & Gozos"));
-        assertTrue(output.contains("Ska-P"));
-        assertTrue(output.contains("c20c4b0d"));
-
-    }
-
-    /**
-     * Tests that & is converted to valid html
-     *
-     * @throws Exception
-     */
-    public void testOutputAsHtmlSpecialCharacters() throws Exception {
-
-        Results res = ss.searchLucene("artist:\"Ska-P\"", 0, 1);
-        ResultsWriter writer = new FreeDBHtmlWriter();
-        StringWriter sw = new StringWriter();
-        PrintWriter pr = new PrintWriter(sw);
-        writer.write(pr, res);
-        pr.close();
-
-        String output = sw.toString();
-        assertTrue(output.contains("Lágrimas & Gozos"));
-    }
-
-    public void testHtmlWritingPerformance() throws Exception {
-        Results res = ss.searchLucene("artist:\"Ska-P\"", 0, 10);
-        assertEquals(1, res.totalHits);
-
-        Date start = new Date();
-        ResultsWriter writer = new FreeDBHtmlWriter();
-        StringWriter sw = new StringWriter();
-        PrintWriter pr = new PrintWriter(sw);
-        for (int i = 0; i < 1000; i++) {
-            writer.write(pr, res);
-        }
-        pr.close();
-        Date end = new Date();
-        System.out.println("HTML - Time Taken: " + (end.getTime() - start.getTime()) + "ms");
-    }
-
 }
\ No newline at end of file

Modified: search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindLabelTest.java
===================================================================
--- search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindLabelTest.java 2009-11-04 19:15:17 UTC (rev 12287)
+++ search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindLabelTest.java 2009-11-04 21:00:01 UTC (rev 12288)
@@ -1,21 +1,16 @@
 package org.musicbrainz.search.servlet;
+
 import junit.framework.TestCase;
+import org.apache.lucene.analysis.PerFieldAnalyzerWrapper;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.store.RAMDirectory;
-import org.apache.lucene.analysis.PerFieldAnalyzerWrapper;
-import org.apache.velocity.app.Velocity;
-import org.musicbrainz.search.index.*;
-import org.musicbrainz.search.servlet.LabelSearch;
-import org.musicbrainz.search.servlet.mmd1.LabelMmd1XmlWriter;
 import org.musicbrainz.search.MbDocument;
-import org.musicbrainz.search.servlet.Result;
-import org.musicbrainz.search.servlet.Results;
-import org.musicbrainz.search.servlet.ResultsWriter;
-import org.musicbrainz.search.servlet.SearchServer;
-import org.musicbrainz.search.servlet.SearchServerServlet;
-import org.musicbrainz.search.servlet.mmd2.LabelXmlWriter;
 import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
+import org.musicbrainz.search.index.LabelIndexField;
+import org.musicbrainz.search.index.LabelType;
+import org.musicbrainz.search.servlet.mmd1.LabelMmd1XmlWriter;
+import org.musicbrainz.search.servlet.mmd2.LabelWriter;
 
 import java.io.PrintWriter;
 import java.io.StringWriter;
@@ -35,8 +30,6 @@
 
     @Override
     protected void setUp() throws Exception {
-         SearchServerServlet.setUpVelocity();
-        Velocity.init();
         RAMDirectory ramDir = new RAMDirectory();
         PerFieldAnalyzerWrapper analyzer = new PerFieldEntityAnalyzer(LabelIndexField.class);
         IndexWriter writer = new IndexWriter(ramDir, analyzer, true, IndexWriter.MaxFieldLength.LIMITED);
@@ -216,7 +209,7 @@
     public void testOutputAsXml() throws Exception {
 
         Results res = ss.searchLucene("label:\"Jockey Slut\"", 0, 1);
-        ResultsWriter writer = new LabelXmlWriter();
+        ResultsWriter writer = new LabelWriter();
         StringWriter sw = new StringWriter();
         PrintWriter pr = new PrintWriter(sw);
         writer.write(pr, res);

Modified: search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindRecordingTest.java
===================================================================
--- search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindRecordingTest.java 2009-11-04 19:15:17 UTC (rev 12287)
+++ search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindRecordingTest.java 2009-11-04 21:00:01 UTC (rev 12288)
@@ -1,16 +1,17 @@
 package org.musicbrainz.search.servlet;
+
 import junit.framework.TestCase;
+import org.apache.lucene.analysis.PerFieldAnalyzerWrapper;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.store.RAMDirectory;
-import org.apache.lucene.analysis.PerFieldAnalyzerWrapper;
 import org.apache.lucene.util.NumericUtils;
-import org.apache.velocity.app.Velocity;
 import org.musicbrainz.search.MbDocument;
-import org.musicbrainz.search.index.*;
-import org.musicbrainz.search.servlet.mmd2.RecordingXmlWriter;
+import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
+import org.musicbrainz.search.index.RecordingIndexField;
+import org.musicbrainz.search.index.ReleaseGroupType;
 import org.musicbrainz.search.servlet.mmd1.TrackMmd1XmlWriter;
-import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
+import org.musicbrainz.search.servlet.mmd2.RecordingWriter;
 
 import java.io.PrintWriter;
 import java.io.StringWriter;
@@ -32,8 +33,6 @@
 
     @Override
     protected void setUp() throws Exception {
-        SearchServerServlet.setUpVelocity();
-        Velocity.init();
         RAMDirectory ramDir = new RAMDirectory();
         PerFieldAnalyzerWrapper analyzer = new PerFieldEntityAnalyzer(RecordingIndexField.class);
         IndexWriter writer = new IndexWriter(ramDir, analyzer, true, IndexWriter.MaxFieldLength.LIMITED);
@@ -57,6 +56,7 @@
         doc.addNumericField(RecordingIndexField.TRACKNUM, 5);
         doc.addField(RecordingIndexField.TRACK_OUTPUT, "Gravitational Lens");
         doc.addField(RecordingIndexField.RECORDING, "Gravitational Lens");
+        doc.addField(RecordingIndexField.MEDIUM_POS_OUTPUT, "1");
         doc.addField(RecordingIndexField.RELEASE_TYPE, ReleaseGroupType.ALBUM.getName());
         writer.addDocument(doc.getLuceneDocument());
         writer.close();
@@ -282,7 +282,7 @@
     public void testOutputAsXml() throws Exception {
 
         Results res = ss.searchLucene("track:\"Gravitational Lenz\"", 0, 10);
-        ResultsWriter writer = new RecordingXmlWriter();
+        ResultsWriter writer = new RecordingWriter();
         StringWriter sw = new StringWriter();
         PrintWriter pr = new PrintWriter(sw);
         writer.write(pr, res);

Modified: search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindReleaseGroupTest.java
===================================================================
--- search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindReleaseGroupTest.java 2009-11-04 19:15:17 UTC (rev 12287)
+++ search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindReleaseGroupTest.java 2009-11-04 21:00:01 UTC (rev 12288)
@@ -1,21 +1,16 @@
 package org.musicbrainz.search.servlet;
+
 import junit.framework.TestCase;
+import org.apache.lucene.analysis.PerFieldAnalyzerWrapper;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.store.RAMDirectory;
-import org.apache.lucene.analysis.PerFieldAnalyzerWrapper;
-import org.apache.velocity.app.Velocity;
-import org.musicbrainz.search.index.*;
 import org.musicbrainz.search.MbDocument;
-import org.musicbrainz.search.servlet.ReleaseGroupSearch;
-import org.musicbrainz.search.servlet.mmd1.ReleaseGroupMmd1XmlWriter;
-import org.musicbrainz.search.servlet.Result;
-import org.musicbrainz.search.servlet.Results;
-import org.musicbrainz.search.servlet.ResultsWriter;
-import org.musicbrainz.search.servlet.SearchServer;
-import org.musicbrainz.search.servlet.SearchServerServlet;
-import org.musicbrainz.search.servlet.mmd2.ReleaseGroupXmlWriter;
 import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
+import org.musicbrainz.search.index.ReleaseGroupIndexField;
+import org.musicbrainz.search.index.ReleaseGroupType;
+import org.musicbrainz.search.servlet.mmd1.ReleaseGroupMmd1XmlWriter;
+import org.musicbrainz.search.servlet.mmd2.ReleaseGroupWriter;
 
 import java.io.PrintWriter;
 import java.io.StringWriter;
@@ -35,8 +30,6 @@
 
     @Override
     protected void setUp() throws Exception {
-         SearchServerServlet.setUpVelocity();
-        Velocity.init();
         RAMDirectory ramDir = new RAMDirectory();
         PerFieldAnalyzerWrapper analyzer = new PerFieldEntityAnalyzer(ReleaseGroupIndexField.class);
         IndexWriter writer = new IndexWriter(ramDir, analyzer, true, IndexWriter.MaxFieldLength.LIMITED);
@@ -295,7 +288,7 @@
     public void testOutputAsAsXml() throws Exception {
 
         Results res = ss.searchLucene("releasegroup:\"Nobody's Twisting Your Arm\"", 0, 1);
-        ResultsWriter writer = new ReleaseGroupXmlWriter();
+        ResultsWriter writer = new ReleaseGroupWriter();
         StringWriter sw = new StringWriter();
         PrintWriter pr = new PrintWriter(sw);
         writer.write(pr, res);
@@ -354,7 +347,7 @@
     public void testOutputAsAsXml2() throws Exception {
 
         Results res = ss.searchLucene("releasegroup:Epics", 0, 1);
-        ResultsWriter writer = new ReleaseGroupXmlWriter();
+        ResultsWriter writer = new ReleaseGroupWriter();
         StringWriter sw = new StringWriter();
         PrintWriter pr = new PrintWriter(sw);
         writer.write(pr, res);

Modified: search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindReleaseTest.java
===================================================================
--- search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindReleaseTest.java 2009-11-04 19:15:17 UTC (rev 12287)
+++ search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindReleaseTest.java 2009-11-04 21:00:01 UTC (rev 12288)
@@ -1,23 +1,18 @@
 package org.musicbrainz.search.servlet;
+
 import junit.framework.TestCase;
+import org.apache.lucene.analysis.PerFieldAnalyzerWrapper;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.store.RAMDirectory;
-import org.apache.lucene.analysis.PerFieldAnalyzerWrapper;
 import org.apache.lucene.util.NumericUtils;
-import org.apache.velocity.app.Velocity;
-import org.musicbrainz.search.index.*;
 import org.musicbrainz.search.MbDocument;
-import org.musicbrainz.search.servlet.ReleaseSearch;
-import org.musicbrainz.search.servlet.mmd1.ReleaseMmd1XmlWriter;
-import org.musicbrainz.search.servlet.ResourceType;
-import org.musicbrainz.search.servlet.Result;
-import org.musicbrainz.search.servlet.Results;
-import org.musicbrainz.search.servlet.ResultsWriter;
-import org.musicbrainz.search.servlet.SearchServer;
-import org.musicbrainz.search.servlet.SearchServerServlet;
-import org.musicbrainz.search.servlet.mmd2.ReleaseXmlWriter;
 import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
+import org.musicbrainz.search.index.ReleaseGroupIndexField;
+import org.musicbrainz.search.index.ReleaseGroupType;
+import org.musicbrainz.search.index.ReleaseIndexField;
+import org.musicbrainz.search.servlet.mmd1.ReleaseMmd1XmlWriter;
+import org.musicbrainz.search.servlet.mmd2.ReleaseWriter;
 
 import java.io.PrintWriter;
 import java.io.StringWriter;
@@ -39,8 +34,6 @@
 
     @Override
     protected void setUp() throws Exception {
-        SearchServerServlet.setUpVelocity();
-        Velocity.init();
         RAMDirectory ramDir = new RAMDirectory();
         PerFieldAnalyzerWrapper analyzer = new PerFieldEntityAnalyzer(ReleaseIndexField.class);
         IndexWriter writer = new IndexWriter(ramDir, analyzer, true, IndexWriter.MaxFieldLength.LIMITED);
@@ -543,7 +536,7 @@
     public void testOutputAsXml() throws Exception {
 
         Results res = ss.searchLucene("release:\"Our Glorious 5 Year Plan\"", 0, 1);
-        ResultsWriter writer = new ReleaseXmlWriter();
+        ResultsWriter writer = new ReleaseWriter();
         StringWriter sw = new StringWriter();
         PrintWriter pr = new PrintWriter(sw);
         writer.write(pr, res);

Modified: search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindWorkTest.java
===================================================================
--- search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindWorkTest.java 2009-11-04 19:15:17 UTC (rev 12287)
+++ search_server/branches/ngs/servlet/src/test/java/org/musicbrainz/search/servlet/FindWorkTest.java 2009-11-04 21:00:01 UTC (rev 12288)
@@ -1,21 +1,14 @@
 package org.musicbrainz.search.servlet;
 
 import junit.framework.TestCase;
+import org.apache.lucene.analysis.PerFieldAnalyzerWrapper;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.search.IndexSearcher;
 import org.apache.lucene.store.RAMDirectory;
-import org.apache.lucene.analysis.PerFieldAnalyzerWrapper;
-import org.apache.velocity.app.Velocity;
-import org.musicbrainz.search.index.*;
-import org.musicbrainz.search.servlet.LabelSearch;
 import org.musicbrainz.search.MbDocument;
-import org.musicbrainz.search.servlet.Result;
-import org.musicbrainz.search.servlet.Results;
-import org.musicbrainz.search.servlet.ResultsWriter;
-import org.musicbrainz.search.servlet.SearchServer;
-import org.musicbrainz.search.servlet.SearchServerServlet;
-import org.musicbrainz.search.servlet.mmd2.WorkXmlWriter;
 import org.musicbrainz.search.analysis.PerFieldEntityAnalyzer;
+import org.musicbrainz.search.index.WorkIndexField;
+import org.musicbrainz.search.servlet.mmd2.WorkWriter;
 
 import java.io.PrintWriter;
 import java.io.StringWriter;
@@ -35,8 +28,6 @@
 
     @Override
     protected void setUp() throws Exception {
-        SearchServerServlet.setUpVelocity();
-        Velocity.init();
         RAMDirectory ramDir = new RAMDirectory();
         PerFieldAnalyzerWrapper analyzer = new PerFieldEntityAnalyzer(WorkIndexField.class);
         IndexWriter writer = new IndexWriter(ramDir, analyzer, true, IndexWriter.MaxFieldLength.LIMITED);
@@ -85,7 +76,7 @@
     public void testOutputAsXml() throws Exception {
 
         Results res = ss.searchLucene("work:\"Symphony No. 5\"", 0, 1);
-        ResultsWriter writer = new WorkXmlWriter();
+        ResultsWriter writer = new WorkWriter();
         StringWriter sw = new StringWriter();
         PrintWriter pr = new PrintWriter(sw);
         writer.write(pr, res);


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