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

[email protected] Fri, 10 May 2013 13:14:08 +0000
Newsgroups gmane.comp.audio.musicbrainz.cvs
Message-ID <E1Uan9E-0008Oe-Pj@wiley>
Author: ijabz
Date: 2013-05-10 13:14:08 +0000 (Fri, 10 May 2013)
New Revision: 13685

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/ReleaseEventHelper.java
   search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ReleaseIndex.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/ReleaseIndexTest.java
   search_server/trunk/servlet/src/main/resources/oxml.xml
   search_server/trunk/servlet/src/test/java/org/musicbrainz/search/servlet/FindRecordingTest.java
   search_server/trunk/servlet/src/test/java/org/musicbrainz/search/servlet/FindReleaseTest.java
Log:
SEARCH-274:Updated to reflect latest changes to schema for areas

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-05-09 21:01:54 UTC (rev 13684)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/index/RecordingIndex.java	2013-05-10 13:14:08 UTC (rev 13685)
@@ -592,7 +592,14 @@
             }
             ReleaseEvent re = of.createReleaseEvent();
             re.setDate(Strings.emptyToNull(Utils.formatDate(rs.getInt("date_year"), rs.getInt("date_month"), rs.getInt("date_day"))));
-            re.setCountry((rs.getString("country")));
+            String iso_code=rs.getString("country");
+            if(iso_code!=null) {
+                Iso31661CodeList isoList = of.createIso31661CodeList();
+                isoList.getIso31661Code().add(iso_code);
+                DefAreaElementInner area = of.createDefAreaElementInner();
+                area.setIso31661CodeList(isoList);
+                re.setArea(area);
+            }
             release.getReleaseEventList().getReleaseEvent().add(re);
         }
 
@@ -805,15 +812,22 @@
                             ) {
                         for (ReleaseEvent re : release.getReleaseEventList().getReleaseEvent()) {
                             doc.addNonEmptyField(RecordingIndexField.RELEASE_DATE, re.getDate());
-                            doc.addNonEmptyField(RecordingIndexField.COUNTRY, re.getCountry());
+                            if(re.getArea()!=null) {
+                                if(re.getArea().getIso31661CodeList()!=null) {
+                                    doc.addNonEmptyField(RecordingIndexField.COUNTRY, re.getArea().getIso31661CodeList().getIso31661Code().get(0));
+                                }
+                            }
                         }
                         Collections.sort(release.getReleaseEventList().getReleaseEvent(), new ReleaseEventComparator());
                         ReleaseEvent firstReleaseEvent = release.getReleaseEventList().getReleaseEvent().get(0);
                         if (!Strings.isNullOrEmpty(firstReleaseEvent.getDate())) {
                             release.setDate(firstReleaseEvent.getDate());
                         }
-                        if (!Strings.isNullOrEmpty(firstReleaseEvent.getCountry())) {
-                            release.setCountry(firstReleaseEvent.getCountry());
+                        if(firstReleaseEvent.getArea()!=null) {
+                            if(firstReleaseEvent.getArea().getIso31661CodeList()!=null)
+                            {
+                                release.setCountry(firstReleaseEvent.getArea().getIso31661CodeList().getIso31661Code().get(0));
+                            }
                         }
 
                     } else {

Modified: search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ReleaseEventHelper.java
===================================================================
--- search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ReleaseEventHelper.java	2013-05-09 21:01:54 UTC (rev 13684)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ReleaseEventHelper.java	2013-05-10 13:14:08 UTC (rev 13685)
@@ -30,10 +30,7 @@
 package org.musicbrainz.search.index;
 
 import com.google.common.base.Strings;
-import org.musicbrainz.mmd2.ObjectFactory;
-import org.musicbrainz.mmd2.Release;
-import org.musicbrainz.mmd2.ReleaseEvent;
-import org.musicbrainz.mmd2.Tag;
+import org.musicbrainz.mmd2.*;
 
 import java.math.BigInteger;
 import java.sql.ResultSet;
@@ -59,8 +56,15 @@
                 releaseEventList = releaseEvents.get(entityId);
             }
 
+            String iso_code = rs.getString("country");
             ReleaseEvent releaseEvent = of.createReleaseEvent();
-            releaseEvent.setCountry(rs.getString("country"));
+            if(iso_code!=null) {
+                Iso31661CodeList isoList = of.createIso31661CodeList();
+                isoList.getIso31661Code().add(iso_code);
+                DefAreaElementInner area = of.createDefAreaElementInner();
+                area.setIso31661CodeList(isoList);
+                releaseEvent.setArea(area);
+            }
             releaseEvent.setDate(Strings.emptyToNull(Utils.formatDate(rs.getInt("date_year"), rs.getInt("date_month"), rs.getInt("date_day"))));
             releaseEventList.add(releaseEvent);
         }

Modified: search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ReleaseIndex.java
===================================================================
--- search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ReleaseIndex.java	2013-05-09 21:01:54 UTC (rev 13684)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ReleaseIndex.java	2013-05-10 13:14:08 UTC (rev 13685)
@@ -620,9 +620,10 @@
             ReleaseEventList rel = of.createReleaseEventList();
             for (ReleaseEvent releaseEvent : releaseEvents.get(id)) {
 
-                String nextCountry  = releaseEvent.getCountry();
-                doc.addNonEmptyField(ReleaseIndexField.COUNTRY,nextCountry);
-
+                if(releaseEvent.getArea()!=null) {
+                    String nextCountry  = releaseEvent.getArea().getIso31661CodeList().getIso31661Code().get(0);
+                    doc.addNonEmptyField(ReleaseIndexField.COUNTRY,nextCountry);
+                }
                 String nextDate     = releaseEvent.getDate();
                 doc.addNonEmptyField(ReleaseIndexField.DATE, nextDate );
                 rel.getReleaseEvent().add(releaseEvent);
@@ -633,8 +634,8 @@
 
             //backwards compatibility
             ReleaseEvent firstReleaseEvent = rel.getReleaseEvent().get(0);
-            if (!Strings.isNullOrEmpty(firstReleaseEvent.getCountry())) {
-                release.setCountry(firstReleaseEvent.getCountry());
+            if (firstReleaseEvent.getArea()!=null) {
+                release.setCountry(firstReleaseEvent.getArea().getIso31661CodeList().getIso31661Code().get(0));
             }
             if (!Strings.isNullOrEmpty(firstReleaseEvent.getDate())) {
                 release.setDate(firstReleaseEvent.getDate());

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-05-09 21:01:54 UTC (rev 13684)
+++ search_server/trunk/index/src/test/java/org/musicbrainz/search/index/RecordingIndexTest.java	2013-05-10 13:14:08 UTC (rev 13685)
@@ -864,13 +864,13 @@
             assertEquals(4, rel.getReleaseEvent().size());
             assertEquals(null, release.getCountry());
             assertEquals("1950", release.getDate());
-            assertEquals(null, rel.getReleaseEvent().get(0).getCountry());
+            assertEquals(null, rel.getReleaseEvent().get(0).getArea());
             assertEquals("1950", rel.getReleaseEvent().get(0).getDate());
-            assertEquals("GB", rel.getReleaseEvent().get(1).getCountry());
+            assertEquals("GB", rel.getReleaseEvent().get(1).getArea().getIso31661CodeList().getIso31661Code().get(0));
             assertEquals("1970-01-01", rel.getReleaseEvent().get(1).getDate());
-            assertEquals("AF", rel.getReleaseEvent().get(2).getCountry());
+            assertEquals("AF", rel.getReleaseEvent().get(2).getArea().getIso31661CodeList().getIso31661Code().get(0));
             assertEquals(null, rel.getReleaseEvent().get(2).getDate());
-            assertEquals("AN", rel.getReleaseEvent().get(3).getCountry());
+            assertEquals("AN", rel.getReleaseEvent().get(3).getArea().getIso31661CodeList().getIso31661Code().get(0));
             assertEquals(null, rel.getReleaseEvent().get(3).getDate());
 
             ReleaseGroup releaseGroup = release.getReleaseGroup();

Modified: search_server/trunk/index/src/test/java/org/musicbrainz/search/index/ReleaseIndexTest.java
===================================================================
--- search_server/trunk/index/src/test/java/org/musicbrainz/search/index/ReleaseIndexTest.java	2013-05-09 21:01:54 UTC (rev 13684)
+++ search_server/trunk/index/src/test/java/org/musicbrainz/search/index/ReleaseIndexTest.java	2013-05-10 13:14:08 UTC (rev 13685)
@@ -920,13 +920,13 @@
             assertEquals(4,rel.getReleaseEvent().size());
             assertEquals(null, release.getCountry());
             assertEquals("1950", release.getDate());
-            assertEquals(null, rel.getReleaseEvent().get(0).getCountry());
+            assertEquals(null, rel.getReleaseEvent().get(0).getArea());
             assertEquals("1950", rel.getReleaseEvent().get(0).getDate());
-            assertEquals("GB", rel.getReleaseEvent().get(1).getCountry());
+            assertEquals("GB", rel.getReleaseEvent().get(1).getArea().getIso31661CodeList().getIso31661Code().get(0));
             assertEquals("1970-01-01", rel.getReleaseEvent().get(1).getDate());
-            assertEquals("AF", rel.getReleaseEvent().get(2).getCountry());
+            assertEquals("AF", rel.getReleaseEvent().get(2).getArea().getIso31661CodeList().getIso31661Code().get(0));
             assertEquals(null, rel.getReleaseEvent().get(2).getDate());
-            assertEquals("AN", rel.getReleaseEvent().get(3).getCountry());
+            assertEquals("AN", rel.getReleaseEvent().get(3).getArea().getIso31661CodeList().getIso31661Code().get(0));
             assertEquals(null, rel.getReleaseEvent().get(3).getDate());
 
         }

Modified: search_server/trunk/servlet/src/main/resources/oxml.xml
===================================================================
--- search_server/trunk/servlet/src/main/resources/oxml.xml	2013-05-09 21:01:54 UTC (rev 13684)
+++ search_server/trunk/servlet/src/main/resources/oxml.xml	2013-05-10 13:14:08 UTC (rev 13685)
@@ -29,6 +29,11 @@
                 <xml-element java-attribute="recordingList" xml-path="."/>
             </java-attributes>
         </java-type>
+        <java-type name="DefAreaElementInner">
+            <java-attributes>
+                <xml-element java-attribute="iso31661CodeList" xml-path="."/>
+            </java-attributes>
+        </java-type>
         <java-type name="Metadata">
             <java-attributes>
                 <xml-element java-attribute="releaseList" xml-path="."/>
@@ -324,5 +329,10 @@
                 <xml-element java-attribute="releaseEvent" name="release-events"/>
             </java-attributes>
         </java-type>
+        <java-type name="Iso31661CodeList">
+            <java-attributes>
+                <xml-element java-attribute="iso31661Code" name="iso-3166-1-codes"/>
+            </java-attributes>
+        </java-type>
     </java-types>
 </xml-bindings>

Modified: search_server/trunk/servlet/src/test/java/org/musicbrainz/search/servlet/FindRecordingTest.java
===================================================================
--- search_server/trunk/servlet/src/test/java/org/musicbrainz/search/servlet/FindRecordingTest.java	2013-05-09 21:01:54 UTC (rev 13684)
+++ search_server/trunk/servlet/src/test/java/org/musicbrainz/search/servlet/FindRecordingTest.java	2013-05-10 13:14:08 UTC (rev 13685)
@@ -149,7 +149,11 @@
             release.setCountry("UK");
             ReleaseEventList rel = of.createReleaseEventList();
             ReleaseEvent     re  = of.createReleaseEvent();
-            re.setCountry("UK");
+            DefAreaElementInner areaInner = of.createDefAreaElementInner();
+            Iso31661CodeList    isoList   = of.createIso31661CodeList();
+            isoList.getIso31661Code().add("UK");
+            areaInner.setIso31661CodeList(isoList);
+            re.setArea(areaInner);
             re.setDate("1970-01-01");
             rel.getReleaseEvent().add(re);
             release.setReleaseEventList(rel);
@@ -541,7 +545,7 @@
         assertTrue(output.contains("indie</name>"));
         assertTrue(output.contains("<track><number>A4</number><title>Gravitational Lens</title><length>233000</length><artist-credit><name-credit><artist id=\"2302e264-1cf0-4d1f-aca7-2a6f89e34b36\"><name>Pig Incident</name><sort-name>Incident, Pig</sort-name></artist></name-credit></artist-credit></track>"));
         assertTrue(output.contains("<puid-list><puid id=\"1d9e8ed6-3893-4d3b-aa7d-72e79609e386\"/></puid-list>"));
-        assertTrue(output.contains("<release-event><country>UK</country><date>1970-01-01</date></release-event></release-event-list>"));
+        assertTrue(output.contains("<release-event-list><release-event><date>1970-01-01</date><area><iso-3166-1-code-list><iso-3166-1-code>UK</iso-3166-1-code></iso-3166-1-code-list></area></release-event>"));
     }
 
 
@@ -576,7 +580,7 @@
         assertTrue(output.contains("\"tag\":[{\"count\":101,\"name\":\"indie\"}"));
         assertTrue(output.contains("\"puid-list\":{\"puid\":[{\"id\":\"1d9e8ed6-3893-4d3b-aa7d-72e79609e386\"}]}"));
         assertTrue(output.contains("\"artist-credit\":{\"name-credit\":[{\"artist\":{\"id\":\"89ad4ac3-39f7-470e-963a-56509c546377\",\"name\":\"Various Artists\"}"));
-        assertTrue(output.contains("\"release-event-list\":{\"release-event\":[{\"country\":\"UK\",\"date\":\"1970-01-01\"}]}"));
+        assertTrue(output.contains("\"release-event-list\":{\"release-event\":[{\"date\":\"1970-01-01\",\"area\":{\"iso-3166-1-code-list\":{\"iso-3166-1-code\":[\"UK\"]}}}]}"));
     }
 
     @Test
@@ -612,7 +616,7 @@
         assertTrue(output.contains("\"position\":1"));
         assertTrue(output.contains("\"track-count\":10"));
         assertTrue(output.contains("\"secondary-types\":[\"Compilation\"]}"));
-        assertTrue(output.contains("\"release-events\":[{\"country\":\"UK\",\"date\":\"1970-01-01\"}]"));
+        assertTrue(output.contains("\"release-events\":[{\"date\":\"1970-01-01\",\"area\":{\"iso-3166-1-codes\":[\"UK\"]}}]"));
     }
 
     @Test

Modified: search_server/trunk/servlet/src/test/java/org/musicbrainz/search/servlet/FindReleaseTest.java
===================================================================
--- search_server/trunk/servlet/src/test/java/org/musicbrainz/search/servlet/FindReleaseTest.java	2013-05-09 21:01:54 UTC (rev 13684)
+++ search_server/trunk/servlet/src/test/java/org/musicbrainz/search/servlet/FindReleaseTest.java	2013-05-10 13:14:08 UTC (rev 13685)
@@ -164,8 +164,12 @@
             doc.addField(ReleaseIndexField.DATE, "2005");
             ReleaseEventList rel = of.createReleaseEventList();
             ReleaseEvent     re  = of.createReleaseEvent();
+            DefAreaElementInner areaInner = of.createDefAreaElementInner();
+            Iso31661CodeList    isoList   = of.createIso31661CodeList();
+            isoList.getIso31661Code().add("GB");
+            areaInner.setIso31661CodeList(isoList);
             re.setDate("2005");
-            re.setCountry("GB");
+            re.setArea(areaInner);
             rel.getReleaseEvent().add(re);
             release.setReleaseEventList(rel);
             release.setDate("2005");
@@ -805,7 +809,7 @@
         assertTrue(output.contains("\"asin\":\"B00004Y6O9\""));
         assertTrue(output.contains("\"track-count\":17"));
         assertTrue(output.contains("\"secondary-type-list\":{\"secondary-type\":[\"Live\",\"Compilation\"]}}"));
-        assertTrue(output.contains("\"release-event-list\":{\"release-event\":[{\"country\":\"GB\",\"date\":\"2005\"}]}"));
+        assertTrue(output.contains("{\"release-event\":[{\"date\":\"2005\",\"area\":{\"iso-3166-1-code-list\":{\"iso-3166-1-code\":[\"GB\"]}}}]}"));
     }
 
     @Test
@@ -838,7 +842,7 @@
         assertTrue(output.contains("\"label-info\""));
         assertTrue(output.contains("\"catalog-number\":\"WRATHCD-25\""));
         assertTrue(output.contains("\"primary-type\":\"Album\""));
-        assertTrue(output.contains("\"release-events\":[{\"country\":\"GB\",\"date\":\"2005\"}]"));
+        assertTrue(output.contains("\"release-events\":[{\"date\":\"2005\",\"area\":{\"iso-3166-1-codes\":[\"GB\"]}}]"));
         assertTrue(output.contains("\"secondary-types\":[\"Live\",\"Compilation\"]}"));
     }