[mb-commits] r13635 - in search_server/trunk/index/src: main/java/org/musicbrainz/search/index test/java/org/musicbrainz/search/index

[email protected] Wed, 27 Feb 2013 10:29:11 +0000
Newsgroups gmane.comp.audio.musicbrainz.cvs
Message-ID <E1UAeG7-0000OS-Ic@wiley>
Author: ijabz
Date: 2013-02-27 10:29:09 +0000 (Wed, 27 Feb 2013)
New Revision: 13635

Modified:
   search_server/trunk/index/src/main/java/org/musicbrainz/search/index/RecordingIndex.java
   search_server/trunk/index/src/main/java/org/musicbrainz/search/index/WorkIndex.java
   search_server/trunk/index/src/test/java/org/musicbrainz/search/index/RecordingIndexTest.java
   search_server/trunk/index/src/test/java/org/musicbrainz/search/index/WorkIndexTest.java
Log:
#SEARCH-246:Extend support for searching for blank parameters to ISWC and ISRC

Modified: search_server/trunk/index/src/main/java/org/musicbrainz/search/index/RecordingIndex.java
===================================================================
--- search_server/trunk/index/src/main/java/org/musicbrainz/search/index/RecordingIndex.java	2013-02-27 10:09:23 UTC (rev 13634)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/index/RecordingIndex.java	2013-02-27 10:29:09 UTC (rev 13635)
@@ -638,6 +638,9 @@
                 doc.addField(RecordingIndexField.ISRC, isrc);
             }
         }
+        else {
+            doc.addFieldOrNoValue(RecordingIndexField.ISRC, null);
+        }
 
         //Recording Artist Credit
         ArtistCreditWrapper ac = artistCredits.get(id);

Modified: search_server/trunk/index/src/main/java/org/musicbrainz/search/index/WorkIndex.java
===================================================================
--- search_server/trunk/index/src/main/java/org/musicbrainz/search/index/WorkIndex.java	2013-02-27 10:09:23 UTC (rev 13634)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/index/WorkIndex.java	2013-02-27 10:29:09 UTC (rev 13635)
@@ -335,6 +335,9 @@
                 doc.addField(WorkIndexField.ISWC, iswc);
             }
         }
+        else {
+            doc.addFieldOrNoValue(WorkIndexField.ISWC, null);
+        }
 
         if (tags.containsKey(id)) {
             for (Tag tag : tags.get(id)) {

Modified: search_server/trunk/index/src/test/java/org/musicbrainz/search/index/RecordingIndexTest.java
===================================================================
--- search_server/trunk/index/src/test/java/org/musicbrainz/search/index/RecordingIndexTest.java	2013-02-27 10:09:23 UTC (rev 13634)
+++ search_server/trunk/index/src/test/java/org/musicbrainz/search/index/RecordingIndexTest.java	2013-02-27 10:29:09 UTC (rev 13635)
@@ -679,7 +679,8 @@
         assertEquals(2, ir.numDocs());
         {
             Document doc = ir.document(1);
-            assertEquals(0, doc.getFields(RecordingIndexField.ISRC.getName()).length);
+            assertEquals(1, doc.getFields(RecordingIndexField.ISRC.getName()).length);
+            assertEquals("-", doc.getField(RecordingIndexField.ISRC.getName()).stringValue());
         }
         ir.close();
     }

Modified: search_server/trunk/index/src/test/java/org/musicbrainz/search/index/WorkIndexTest.java
===================================================================
--- search_server/trunk/index/src/test/java/org/musicbrainz/search/index/WorkIndexTest.java	2013-02-27 10:09:23 UTC (rev 13634)
+++ search_server/trunk/index/src/test/java/org/musicbrainz/search/index/WorkIndexTest.java	2013-02-27 10:29:09 UTC (rev 13635)
@@ -53,7 +53,6 @@
         stmt.addBatch("INSERT INTO language (id, iso_code_3, iso_code_2t, iso_code_2b, iso_code_2, name, frequency) " +
                 " VALUES (1, 'eng', 'eng', 'eng', 'en', 'English', 1)");
         stmt.addBatch("INSERT INTO work_alias (work, name) VALUES (1, 2)");
-        stmt.addBatch("INSERT INTO iswc(work,iswc) VALUES(1,'T-101779304-1')");
 
         stmt.addBatch("INSERT INTO tag (id, name, ref_count) VALUES (1, 'Classical', 2);");
         stmt.addBatch("INSERT INTO work_tag (work, tag, count) VALUES (1, 1, 10)");
@@ -114,7 +113,6 @@
             assertEquals(1, doc.getFields(WorkIndexField.WORK.getName()).length);
             assertEquals("Work", doc.getField(WorkIndexField.WORK.getName()).stringValue());
             assertEquals(1, doc.getFields(WorkIndexField.ISWC.getName()).length);
-            assertEquals("T-101779304-1", doc.getField(WorkIndexField.ISWC.getName()).stringValue());
             assertEquals(1, doc.getFields(WorkIndexField.TYPE.getName()).length);
             assertEquals("-", doc.getField(WorkIndexField.TYPE.getName()).stringValue());
             assertEquals(1, doc.getFields(WorkIndexField.ARTIST_RELATION.getName()).length);
@@ -203,7 +201,23 @@
         }
     }
 
+
     @Test
+    public void testIndexWorkWithNoIswc() throws Exception {
+
+        addWorkOne();
+        RAMDirectory ramDir = new RAMDirectory();
+        createIndex(ramDir);
+        IndexReader ir = DirectoryReader.open(ramDir);
+        assertEquals(2, ir.numDocs());
+        {
+            Document doc = ir.document(1);
+            assertEquals(1, doc.getFields(WorkIndexField.ISWC.getName()).length);
+            assertEquals("-", doc.getFields(WorkIndexField.ISWC.getName())[0].stringValue());
+            ir.close();
+        }
+    }
+    @Test
     public void testIndexWorkWithArtistRelation() throws Exception {
 
         addWorkOne();