Author: ijabz
Date: 2009-11-03 14:29:20 +0000 (Tue, 03 Nov 2009)
New Revision: 12286
Modified:
search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/RecordingIndex.java
search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/RecordingIndexField.java
search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/TrackWrapper.java
search_server/branches/ngs/index/src/test/java/org/musicbrainz/search/index/RecordingIndexTest.java
search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/RecordingXmlWriter.java
Log:
Sore Medium Pos, this is required for output otherwise it is not clear which medium a particular track is on when a recording links to a release with multiple mediums.
Modified: search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/RecordingIndex.java
===================================================================
--- search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/RecordingIndex.java 2009-11-03 13:29:32 UTC (rev 12285)
+++ search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/RecordingIndex.java 2009-11-03 14:29:20 UTC (rev 12286)
@@ -84,8 +84,8 @@
"order by re.id,acn.position ");
addPreparedStatement("TRACKS",
- "SELECT tn.name as trackname, t.recording, t.position,tl.trackcount, " +
- "r.gid as releaseid,rn.name as releasename,rgt.name as type " +
+ "SELECT tn.name as trackname, t.recording, t.position as trackposition,tl.trackcount, " +
+ "r.gid as releaseid,rn.name as releasename,rgt.name as type,m.position as mediumposition " +
"FROM track t " +
"INNER JOIN track_name tn " +
"ON t.name=tn.id " +
@@ -182,8 +182,9 @@
tw.setReleaseId(rs.getString("releaseid"));
tw.setReleaseName(rs.getString("releasename"));
tw.setTrackCount(rs.getInt("trackcount"));
- tw.setTrackPosition(rs.getInt("position"));
+ tw.setTrackPosition(rs.getInt("trackposition"));
tw.setTrackName(rs.getString("trackname"));
+ tw.setMediumPosition(rs.getInt("mediumposition"));
list.add(tw);
}
return tracks;
@@ -247,6 +248,7 @@
//Added to TRACK_OUTPUT for outputting xml, and to recording for searching
doc.addField(RecordingIndexField.TRACK_OUTPUT, track.getTrackName());
doc.addField(RecordingIndexField.RECORDING, track.getTrackName());
+ doc.addField(RecordingIndexField.MEDIUM_POS_OUTPUT, String.valueOf(track.getMediumPosition()));
}
}
Modified: search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/RecordingIndexField.java
===================================================================
--- search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/RecordingIndexField.java 2009-11-03 13:29:32 UTC (rev 12285)
+++ search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/RecordingIndexField.java 2009-11-03 14:29:20 UTC (rev 12286)
@@ -21,12 +21,13 @@
RELEASE ("release", Field.Store.YES, Field.Index.ANALYZED),
NUM_TRACKS ("tracks", Field.Store.YES, Field.Index.NOT_ANALYZED, new KeywordAnalyzer()),
DURATION ("dur", Field.Store.YES, Field.Index.NOT_ANALYZED, new KeywordAnalyzer()),
- QUANTIZED_DURATION ("qdur", Field.Store.YES, Field.Index.NOT_ANALYZED, new KeywordAnalyzer()),
+ QUANTIZED_DURATION ("qdur", Field.Store.NO, Field.Index.NOT_ANALYZED, new KeywordAnalyzer()),
TRACKNUM ("tnum", Field.Store.YES, Field.Index.NOT_ANALYZED, new KeywordAnalyzer()),
RELEASE_TYPE ("type", Field.Store.YES, Field.Index.NOT_ANALYZED, new KeywordAnalyzer()),
ARTIST_COMMENT ("comment", Field.Store.YES, Field.Index.ANALYZED),
TRACK_OUTPUT ("trackoutoutput", Field.Store.YES, Field.Index.NO),
- RECORDING_OUTPUT ("recordinungoutput", Field.Store.YES, Field.Index.NO),
+ RECORDING_OUTPUT ("recordingoutput", Field.Store.YES, Field.Index.NO),
+ MEDIUM_POS_OUTPUT ("mediumposoutput", Field.Store.YES, Field.Index.NO),
;
private String name;
Modified: search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/TrackWrapper.java
===================================================================
--- search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/TrackWrapper.java 2009-11-03 13:29:32 UTC (rev 12285)
+++ search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/TrackWrapper.java 2009-11-03 14:29:20 UTC (rev 12286)
@@ -12,8 +12,8 @@
private String releaseName;
private String releaseGroupType;
private String trackName;
+ private int mediumPosition;
-
public int getTrackPosition() {
return trackPosition;
}
@@ -61,4 +61,12 @@
public void setTrackName(String trackName) {
this.trackName = trackName;
}
+
+ public int getMediumPosition() {
+ return mediumPosition;
+ }
+
+ public void setMediumPosition(int mediumPosition) {
+ this.mediumPosition = mediumPosition;
+ }
}
\ No newline at end of file
Modified: search_server/branches/ngs/index/src/test/java/org/musicbrainz/search/index/RecordingIndexTest.java
===================================================================
--- search_server/branches/ngs/index/src/test/java/org/musicbrainz/search/index/RecordingIndexTest.java 2009-11-03 13:29:32 UTC (rev 12285)
+++ search_server/branches/ngs/index/src/test/java/org/musicbrainz/search/index/RecordingIndexTest.java 2009-11-03 14:29:20 UTC (rev 12286)
@@ -173,7 +173,7 @@
assertEquals(2, NumericUtils.prefixCodedToInt(doc.getField(RecordingIndexField.NUM_TRACKS.getName()).stringValue()));
assertEquals(4, NumericUtils.prefixCodedToInt(doc.getField(RecordingIndexField.TRACKNUM.getName()).stringValue()));
assertEquals(33000, NumericUtils.prefixCodedToInt(doc.getField(RecordingIndexField.DURATION.getName()).stringValue()));
- assertEquals(16, NumericUtils.prefixCodedToInt(doc.getField(RecordingIndexField.QUANTIZED_DURATION.getName()).stringValue()));
+
}
ir.close();
}
Modified: 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/RecordingXmlWriter.java 2009-11-03 13:29:32 UTC (rev 12285)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/RecordingXmlWriter.java 2009-11-03 14:29:20 UTC (rev 12286)
@@ -99,6 +99,7 @@
String[] trackNos = doc.getValues(RecordingIndexField.TRACKNUM);
String[] numTracks = doc.getValues(RecordingIndexField.NUM_TRACKS);
String[] trackName = doc.getValues(RecordingIndexField.TRACK_OUTPUT);
+ String[] mediumPos = doc.getValues(RecordingIndexField.MEDIUM_POS_OUTPUT);
if(releaseNames.length>0)
{
@@ -122,8 +123,9 @@
releaseTrackList.setCount(BigInteger.valueOf(NumericUtils.prefixCodedToInt(numTracks[i])));
releaseTrackList.getTrack().add(track);
Medium medium = of.createMedium();
+ medium.setPosition(new BigInteger(mediumPos[i]));
medium.setTrackList(releaseTrackList);
-
+
MediumList mediumList = of.createMediumList();
mediumList.getMedium().add(medium);
release.setMediumList(mediumList);
_______________________________________________
MusicBrainz-commits mailing list
MusicBrainz-commits@...
http://lists.musicbrainz.org/mailman/listinfo/musicbrainz-commits