Skip to content

Commit f837996

Browse files
committed
SEARCH-629: Add secondary-type-ids to results
1 parent 6884553 commit f837996

11 files changed

Lines changed: 47 additions & 18 deletions

File tree

mb-solr/src/main/java/org/musicbrainz/search/solrwriter/moxy/StringSecondaryTypeAdapter.java renamed to mb-solr/src/main/java/org/musicbrainz/search/solrwriter/moxy/SecondaryTypeListAdapter.java

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,31 @@
2828

2929
package org.musicbrainz.search.solrwriter.moxy;
3030

31-
import org.musicbrainz.mmd2.SecondaryType;
31+
import org.musicbrainz.mmd2.SecondaryTypeList;
3232

33-
import javax.xml.bind.annotation.adapters.XmlAdapter;
33+
import javax.xml.bind.annotation.XmlElement;
34+
import java.util.ArrayList;
35+
import java.util.List;
36+
37+
public class SecondaryTypeListAdapter extends NotUnmarshallableXmlAdapter<SecondaryTypeListAdapter.AdaptedSecondaryTypeList, SecondaryTypeList> {
38+
39+
public static class AdaptedSecondaryTypeList extends SecondaryTypeList {
40+
@XmlElement(name = "secondary-types")
41+
public List<String> secondaryTypes = new ArrayList<>();
42+
43+
@XmlElement(name = "secondary-type-ids")
44+
public List<String> secondaryTypeIds = new ArrayList<>();
45+
}
3446

35-
public class StringSecondaryTypeAdapter extends NotUnmarshallableXmlAdapter<String, SecondaryType> {
3647
@Override
37-
public String marshal(SecondaryType v) throws Exception {
38-
return v.getContent();
48+
public SecondaryTypeListAdapter.AdaptedSecondaryTypeList marshal (SecondaryTypeList secondaryTypes) throws Exception
49+
{
50+
AdaptedSecondaryTypeList adaptedSecondaryTypes = new AdaptedSecondaryTypeList();
51+
secondaryTypes.getSecondaryType().forEach(secondaryType -> {
52+
adaptedSecondaryTypes.secondaryTypes.add(secondaryType.getContent());
53+
adaptedSecondaryTypes.secondaryTypeIds.add(secondaryType.getId());
54+
});
55+
return adaptedSecondaryTypes;
3956
}
4057

4158
}

mb-solr/src/main/resources/oxml.xml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -332,11 +332,7 @@
332332
</java-attributes>
333333
</java-type>
334334
<java-type name="SecondaryTypeList">
335-
<java-attributes>
336-
<xml-element java-attribute="secondaryType" name="secondary-types">
337-
<xml-java-type-adapter value="org.musicbrainz.search.solrwriter.moxy.StringSecondaryTypeAdapter"/>
338-
</xml-element>
339-
</java-attributes>
335+
<xml-java-type-adapter value="org.musicbrainz.search.solrwriter.moxy.SecondaryTypeListAdapter" />
340336
</java-type>
341337
<java-type name="ArtistCredit">
342338
<java-attributes>

mb-solr/src/test/resources/org/musicbrainz/search/solrwriter/recording-list.json

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,12 @@
5757
"primary-type": "Album",
5858
"primary-type-id": "f529b476-6e62-324f-b0aa-1f3e33d313fc",
5959
"secondary-types": [
60-
"Soundtrack"
60+
"Soundtrack",
61+
"Live"
62+
],
63+
"secondary-type-ids": [
64+
"22a628ad-c082-3c4f-b1b6-d41665107b88",
65+
"6fd474e2-6b58-3102-9d17-d6f7eb7da0a0"
6166
]
6267
},
6368
"date": "2007-11-20",
@@ -102,7 +107,12 @@
102107
"primary-type": "Album",
103108
"primary-type-id": "f529b476-6e62-324f-b0aa-1f3e33d313fc",
104109
"secondary-types": [
105-
"Soundtrack"
110+
"Soundtrack",
111+
"Live"
112+
],
113+
"secondary-type-ids": [
114+
"22a628ad-c082-3c4f-b1b6-d41665107b88",
115+
"6fd474e2-6b58-3102-9d17-d6f7eb7da0a0"
106116
]
107117
},
108118
"date": "2007-11-20",
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><metadata xmlns="http://musicbrainz.org/ns/mmd-2.0#" xmlns:ns2="http://musicbrainz.org/ns/ext#-2.0"><recording-list count="1" offset="0"><recording id="3e0bdde6-74e0-46d4-855a-4493589fd6b2" ns2:score="100"><title>Roots and Beginnings</title><length>391000</length><artist-credit><name-credit><artist id="9b58672a-e68e-4972-956e-a8985a165a1f"><name>Howard Shore</name><sort-name>Shore, Howard</sort-name><alias-list><alias sort-name="Howard Shaw">Howard Shaw</alias><alias sort-name="H. Shore">H. Shore</alias><alias sort-name="Shore">Shore</alias></alias-list></artist></name-credit></artist-credit><release-list><release id="e7fe61ca-65b8-4abb-8723-1e7c1a5e0a49"><title>The Lord of the Rings: The Return of the King: The Complete Recordings</title><status>Official</status><release-group id="f5fd971c-a1a2-33da-95b0-473e0176df83" type="Soundtrack"><primary-type id="f529b476-6e62-324f-b0aa-1f3e33d313fc">Album</primary-type><secondary-type-list><secondary-type>Soundtrack</secondary-type></secondary-type-list></release-group><date>2007-11-20</date><country>US</country><release-event-list><release-event><date>2007-11-20</date><area id="489ce91b-6658-3307-9877-795b68554c98"><name>United States</name><sort-name>United States</sort-name><iso-3166-1-code-list><iso-3166-1-code>US</iso-3166-1-code></iso-3166-1-code-list></area></release-event></release-event-list><medium-list><track-count>106</track-count><medium><position>1</position><format>CD</format><track-list count="15" offset="0"><track id="fc51bf50-c329-3d93-bb1b-e4f55cf00db8"><number>1</number><title>Roots and Beginnings</title><length>391000</length></track></track-list></medium></medium-list></release><release id="e7fe61ca-65b8-4abb-8723-1e7c1a5e0a49"><title>The Lord of the Rings: The Return of the King: The Complete Recordings</title><status>Official</status><release-group id="f5fd971c-a1a2-33da-95b0-473e0176df83" type="Soundtrack"><primary-type id="f529b476-6e62-324f-b0aa-1f3e33d313fc">Album</primary-type><secondary-type-list><secondary-type>Soundtrack</secondary-type></secondary-type-list></release-group><date>2007-11-20</date><country>US</country><release-event-list><release-event><date>2007-11-20</date><area id="489ce91b-6658-3307-9877-795b68554c98"><name>United States</name><sort-name>United States</sort-name><iso-3166-1-code-list><iso-3166-1-code>US</iso-3166-1-code></iso-3166-1-code-list></area></release-event></release-event-list><medium-list><track-count>106</track-count><medium><position>5</position><format>DVD</format><track-list count="53" offset="0"><track id="af77973d-3ca5-38e3-89ff-c742c94f59af"><number>1</number><title>Roots and Beginnings</title><length>391000</length></track></track-list></medium></medium-list></release></release-list><isrc-list><isrc id="USRE10701410"/></isrc-list><tag-list><tag count="2"><name>soundtrack</name></tag></tag-list></recording></recording-list></metadata>
1+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><metadata xmlns="http://musicbrainz.org/ns/mmd-2.0#" xmlns:ns2="http://musicbrainz.org/ns/ext#-2.0"><recording-list count="1" offset="0"><recording id="3e0bdde6-74e0-46d4-855a-4493589fd6b2" ns2:score="100"><title>Roots and Beginnings</title><length>391000</length><artist-credit><name-credit><artist id="9b58672a-e68e-4972-956e-a8985a165a1f"><name>Howard Shore</name><sort-name>Shore, Howard</sort-name><alias-list><alias sort-name="Howard Shaw">Howard Shaw</alias><alias sort-name="H. Shore">H. Shore</alias><alias sort-name="Shore">Shore</alias></alias-list></artist></name-credit></artist-credit><release-list><release id="e7fe61ca-65b8-4abb-8723-1e7c1a5e0a49"><title>The Lord of the Rings: The Return of the King: The Complete Recordings</title><status>Official</status><release-group id="f5fd971c-a1a2-33da-95b0-473e0176df83" type="Soundtrack"><primary-type id="f529b476-6e62-324f-b0aa-1f3e33d313fc">Album</primary-type><secondary-type-list><secondary-type id="22a628ad-c082-3c4f-b1b6-d41665107b88">Soundtrack</secondary-type><secondary-type id="6fd474e2-6b58-3102-9d17-d6f7eb7da0a0">Live</secondary-type></secondary-type-list></release-group><date>2007-11-20</date><country>US</country><release-event-list><release-event><date>2007-11-20</date><area id="489ce91b-6658-3307-9877-795b68554c98"><name>United States</name><sort-name>United States</sort-name><iso-3166-1-code-list><iso-3166-1-code>US</iso-3166-1-code></iso-3166-1-code-list></area></release-event></release-event-list><medium-list><track-count>106</track-count><medium><position>1</position><format>CD</format><track-list count="15" offset="0"><track id="fc51bf50-c329-3d93-bb1b-e4f55cf00db8"><number>1</number><title>Roots and Beginnings</title><length>391000</length></track></track-list></medium></medium-list></release><release id="e7fe61ca-65b8-4abb-8723-1e7c1a5e0a49"><title>The Lord of the Rings: The Return of the King: The Complete Recordings</title><status>Official</status><release-group id="f5fd971c-a1a2-33da-95b0-473e0176df83" type="Soundtrack"><primary-type id="f529b476-6e62-324f-b0aa-1f3e33d313fc">Album</primary-type><secondary-type-list><secondary-type id="22a628ad-c082-3c4f-b1b6-d41665107b88">Soundtrack</secondary-type><secondary-type id="6fd474e2-6b58-3102-9d17-d6f7eb7da0a0">Live</secondary-type></secondary-type-list></release-group><date>2007-11-20</date><country>US</country><release-event-list><release-event><date>2007-11-20</date><area id="489ce91b-6658-3307-9877-795b68554c98"><name>United States</name><sort-name>United States</sort-name><iso-3166-1-code-list><iso-3166-1-code>US</iso-3166-1-code></iso-3166-1-code-list></area></release-event></release-event-list><medium-list><track-count>106</track-count><medium><position>5</position><format>DVD</format><track-list count="53" offset="0"><track id="af77973d-3ca5-38e3-89ff-c742c94f59af"><number>1</number><title>Roots and Beginnings</title><length>391000</length></track></track-list></medium></medium-list></release></release-list><isrc-list><isrc id="USRE10701410"/></isrc-list><tag-list><tag count="2"><name>soundtrack</name></tag></tag-list></recording></recording-list></metadata>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<recording xmlns="http://musicbrainz.org/ns/mmd-2.0#" id="3e0bdde6-74e0-46d4-855a-4493589fd6b2"><title>Roots and Beginnings</title><length>391000</length><artist-credit><name-credit><artist id="9b58672a-e68e-4972-956e-a8985a165a1f"><name>Howard Shore</name><sort-name>Shore, Howard</sort-name><alias-list><alias sort-name="Howard Shaw">Howard Shaw</alias><alias sort-name="H. Shore">H. Shore</alias><alias sort-name="Shore">Shore</alias></alias-list></artist></name-credit></artist-credit><release-list><release id="e7fe61ca-65b8-4abb-8723-1e7c1a5e0a49"><title>The Lord of the Rings: The Return of the King: The Complete Recordings</title><status>Official</status><release-group id="f5fd971c-a1a2-33da-95b0-473e0176df83" type="Soundtrack"><primary-type id="f529b476-6e62-324f-b0aa-1f3e33d313fc">Album</primary-type><secondary-type-list><secondary-type>Soundtrack</secondary-type></secondary-type-list></release-group><date>2007-11-20</date><country>US</country><release-event-list><release-event><date>2007-11-20</date><area id="489ce91b-6658-3307-9877-795b68554c98"><name>United States</name><sort-name>United States</sort-name><iso-3166-1-code-list><iso-3166-1-code>US</iso-3166-1-code></iso-3166-1-code-list></area></release-event></release-event-list><medium-list><track-count>106</track-count><medium><position>1</position><format>CD</format><track-list count="15" offset="0"><track id="fc51bf50-c329-3d93-bb1b-e4f55cf00db8"><number>1</number><title>Roots and Beginnings</title><length>391000</length></track></track-list></medium></medium-list></release><release id="e7fe61ca-65b8-4abb-8723-1e7c1a5e0a49"><title>The Lord of the Rings: The Return of the King: The Complete Recordings</title><status>Official</status><release-group id="f5fd971c-a1a2-33da-95b0-473e0176df83" type="Soundtrack"><primary-type id="f529b476-6e62-324f-b0aa-1f3e33d313fc">Album</primary-type><secondary-type-list><secondary-type>Soundtrack</secondary-type></secondary-type-list></release-group><date>2007-11-20</date><country>US</country><release-event-list><release-event><date>2007-11-20</date><area id="489ce91b-6658-3307-9877-795b68554c98"><name>United States</name><sort-name>United States</sort-name><iso-3166-1-code-list><iso-3166-1-code>US</iso-3166-1-code></iso-3166-1-code-list></area></release-event></release-event-list><medium-list><track-count>106</track-count><medium><position>5</position><format>DVD</format><track-list count="53" offset="0"><track id="af77973d-3ca5-38e3-89ff-c742c94f59af"><number>1</number><title>Roots and Beginnings</title><length>391000</length></track></track-list></medium></medium-list></release></release-list><isrc-list><isrc id="USRE10701410"/></isrc-list><tag-list><tag count="2"><name>soundtrack</name></tag></tag-list></recording>
1+
<recording xmlns="http://musicbrainz.org/ns/mmd-2.0#" id="3e0bdde6-74e0-46d4-855a-4493589fd6b2"><title>Roots and Beginnings</title><length>391000</length><artist-credit><name-credit><artist id="9b58672a-e68e-4972-956e-a8985a165a1f"><name>Howard Shore</name><sort-name>Shore, Howard</sort-name><alias-list><alias sort-name="Howard Shaw">Howard Shaw</alias><alias sort-name="H. Shore">H. Shore</alias><alias sort-name="Shore">Shore</alias></alias-list></artist></name-credit></artist-credit><release-list><release id="e7fe61ca-65b8-4abb-8723-1e7c1a5e0a49"><title>The Lord of the Rings: The Return of the King: The Complete Recordings</title><status>Official</status><release-group id="f5fd971c-a1a2-33da-95b0-473e0176df83" type="Soundtrack"><primary-type id="f529b476-6e62-324f-b0aa-1f3e33d313fc">Album</primary-type><secondary-type-list><secondary-type id="22a628ad-c082-3c4f-b1b6-d41665107b88">Soundtrack</secondary-type><secondary-type id="6fd474e2-6b58-3102-9d17-d6f7eb7da0a0">Live</secondary-type></secondary-type-list></release-group><date>2007-11-20</date><country>US</country><release-event-list><release-event><date>2007-11-20</date><area id="489ce91b-6658-3307-9877-795b68554c98"><name>United States</name><sort-name>United States</sort-name><iso-3166-1-code-list><iso-3166-1-code>US</iso-3166-1-code></iso-3166-1-code-list></area></release-event></release-event-list><medium-list><track-count>106</track-count><medium><position>1</position><format>CD</format><track-list count="15" offset="0"><track id="fc51bf50-c329-3d93-bb1b-e4f55cf00db8"><number>1</number><title>Roots and Beginnings</title><length>391000</length></track></track-list></medium></medium-list></release><release id="e7fe61ca-65b8-4abb-8723-1e7c1a5e0a49"><title>The Lord of the Rings: The Return of the King: The Complete Recordings</title><status>Official</status><release-group id="f5fd971c-a1a2-33da-95b0-473e0176df83" type="Soundtrack"><primary-type id="f529b476-6e62-324f-b0aa-1f3e33d313fc">Album</primary-type><secondary-type-list><secondary-type id="22a628ad-c082-3c4f-b1b6-d41665107b88">Soundtrack</secondary-type><secondary-type id="6fd474e2-6b58-3102-9d17-d6f7eb7da0a0">Live</secondary-type></secondary-type-list></release-group><date>2007-11-20</date><country>US</country><release-event-list><release-event><date>2007-11-20</date><area id="489ce91b-6658-3307-9877-795b68554c98"><name>United States</name><sort-name>United States</sort-name><iso-3166-1-code-list><iso-3166-1-code>US</iso-3166-1-code></iso-3166-1-code-list></area></release-event></release-event-list><medium-list><track-count>106</track-count><medium><position>5</position><format>DVD</format><track-list count="53" offset="0"><track id="af77973d-3ca5-38e3-89ff-c742c94f59af"><number>1</number><title>Roots and Beginnings</title><length>391000</length></track></track-list></medium></medium-list></release></release-list><isrc-list><isrc id="USRE10701410"/></isrc-list><tag-list><tag count="2"><name>soundtrack</name></tag></tag-list></recording>

mb-solr/src/test/resources/org/musicbrainz/search/solrwriter/release-group-list.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
"secondary-types": [
1414
"Compilation"
1515
],
16+
"secondary-type-ids": [
17+
"dd2a21e1-0c00-3729-a7a0-de60b84eb5d1"
18+
],
1619
"artist-credit": [
1720
{
1821
"artist": {
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><metadata xmlns="http://musicbrainz.org/ns/mmd-2.0#" xmlns:ns2="http://musicbrainz.org/ns/ext#-2.0"><release-group-list count="1" offset="0"><release-group id="268d91a0-1a7f-4600-bfd4-74d738eb7de4" type="Compilation" ns2:score="100"><title>Chiptunes = WIN \m|♥|m/</title><primary-type id="f529b476-6e62-324f-b0aa-1f3e33d313fc">Album</primary-type><secondary-type-list><secondary-type>Compilation</secondary-type></secondary-type-list><artist-credit><name-credit><artist id="89ad4ac3-39f7-470e-963a-56509c546377"><name>Various Artists</name><sort-name>Various Artists</sort-name><disambiguation>add compilations to this artist</disambiguation></artist></name-credit></artist-credit><release-list count="1"><release id="871f12ec-6259-4e93-b440-9108559c38b1"><title>Chiptunes = WIN \m|♥|m/</title><status>Official</status></release></release-list><tag-list><tag count="1"><name>electronic</name></tag></tag-list></release-group></release-group-list></metadata>
1+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><metadata xmlns="http://musicbrainz.org/ns/mmd-2.0#" xmlns:ns2="http://musicbrainz.org/ns/ext#-2.0"><release-group-list count="1" offset="0"><release-group id="268d91a0-1a7f-4600-bfd4-74d738eb7de4" type="Compilation" ns2:score="100"><title>Chiptunes = WIN \m|♥|m/</title><primary-type id="f529b476-6e62-324f-b0aa-1f3e33d313fc">Album</primary-type><secondary-type-list><secondary-type id="dd2a21e1-0c00-3729-a7a0-de60b84eb5d1">Compilation</secondary-type></secondary-type-list><artist-credit><name-credit><artist id="89ad4ac3-39f7-470e-963a-56509c546377"><name>Various Artists</name><sort-name>Various Artists</sort-name><disambiguation>add compilations to this artist</disambiguation></artist></name-credit></artist-credit><release-list count="1"><release id="871f12ec-6259-4e93-b440-9108559c38b1"><title>Chiptunes = WIN \m|♥|m/</title><status>Official</status></release></release-list><tag-list><tag count="1"><name>electronic</name></tag></tag-list></release-group></release-group-list></metadata>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<release-group xmlns="http://musicbrainz.org/ns/mmd-2.0#" id="268d91a0-1a7f-4600-bfd4-74d738eb7de4" type="Compilation"><title>Chiptunes = WIN \m|♥|m/</title><primary-type id="f529b476-6e62-324f-b0aa-1f3e33d313fc">Album</primary-type><secondary-type-list><secondary-type>Compilation</secondary-type></secondary-type-list><artist-credit><name-credit><artist id="89ad4ac3-39f7-470e-963a-56509c546377"><name>Various Artists</name><sort-name>Various Artists</sort-name><disambiguation>add compilations to this artist</disambiguation></artist></name-credit></artist-credit><release-list count="1"><release id="871f12ec-6259-4e93-b440-9108559c38b1"><title>Chiptunes = WIN \m|♥|m/</title><status>Official</status></release></release-list><tag-list><tag count="1"><name>electronic</name></tag></tag-list></release-group>
1+
<release-group xmlns="http://musicbrainz.org/ns/mmd-2.0#" id="268d91a0-1a7f-4600-bfd4-74d738eb7de4" type="Compilation"><title>Chiptunes = WIN \m|♥|m/</title><primary-type id="f529b476-6e62-324f-b0aa-1f3e33d313fc">Album</primary-type><secondary-type-list><secondary-type id="dd2a21e1-0c00-3729-a7a0-de60b84eb5d1">Compilation</secondary-type></secondary-type-list><artist-credit><name-credit><artist id="89ad4ac3-39f7-470e-963a-56509c546377"><name>Various Artists</name><sort-name>Various Artists</sort-name><disambiguation>add compilations to this artist</disambiguation></artist></name-credit></artist-credit><release-list count="1"><release id="871f12ec-6259-4e93-b440-9108559c38b1"><title>Chiptunes = WIN \m|♥|m/</title><status>Official</status></release></release-list><tag-list><tag count="1"><name>electronic</name></tag></tag-list></release-group>

mb-solr/src/test/resources/org/musicbrainz/search/solrwriter/release-list.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@
3939
"primary-type-id": "f529b476-6e62-324f-b0aa-1f3e33d313fc",
4040
"secondary-types": [
4141
"Compilation"
42+
],
43+
"secondary-type-ids": [
44+
"dd2a21e1-0c00-3729-a7a0-de60b84eb5d1"
4245
]
4346
},
4447
"date": "2012-06-05",

0 commit comments

Comments
 (0)