@Test public void addCherSimilarTracksAndGetPlaylist() throws ApplicationException { TrackSimilarityParser tsParser = new TrackSimilarityParserImpl(new ResourceUtil(CHER_SIMILAR_TRACKS).getInputStream()); trackRelationDao.createTrackRelations(tsParser.getTrack(), tsParser.getTrackRelations()); List<File> files = new ArrayList<>(); for (TrackRelation tr : tsParser.getTrackRelations()) { String artistName = tr.getTarget().getArtist().getName(); if ("Madonna".equals(artistName)) { files.add(getFile(artistName, null, tr.getTarget().getName())); } } UnittestLibraryUtil.submitFile(additionDao, files); int trackId = musicDao.getTrackId( tsParser.getTrack().getArtist().getName(), tsParser.getTrack().getName()); playlistGeneratorDao.updateSearchIndex(); List<PlaylistItem> ts = playlistGeneratorDao.getPlaylistForTrack(trackId); Assert.assertNotNull(ts); Assert.assertEquals(2, ts.size()); }
private void logWebserviceInvocation(WebserviceInvocation wi, Date invocationTime) { StringBuilder sql = new StringBuilder( "delete from library.webservice_history where calltype_id = " + wi.getCallType().getDatabaseId()); Integer artistId = null, trackId = null, albumId = null, userId = null, groupId = null, tagId = null; if (wi.getTrack() != null) { sql.append(" and track_id = " + (trackId = musicDao.getTrackId(wi.getTrack()))); } else if (wi.getAlbum() != null) { sql.append(" and album_id = " + (albumId = musicDao.getAlbumId(wi.getAlbum()))); } else if (wi.getArtist() != null) { sql.append(" and artist_id = " + (artistId = musicDao.getArtistId(wi.getArtist()))); } else if (wi.getUser() != null) { sql.append( " and lastfmuser_id = " + (userId = lastFmDao.getLastFmUserId(wi.getUser().getLastFmUsername()))); } else if (wi.getGroup() != null) { sql.append( " and lastfmgroup_id = " + (groupId = lastFmDao.getLastFmGroupId(wi.getGroup().getName()))); } else if (wi.getTag() != null) { sql.append(" and tag_id = " + (tagId = wi.getTag().getId())); } if (wi.getPage() != null) sql.append(" and page = " + wi.getPage()); jdbcTemplate.update(sql.toString()); jdbcTemplate.update( "insert into library.webservice_history" + " (artist_id, album_id, track_id, lastfmuser_id, lastfmgroup_id," + " tag_id, calltype_id, page, invocation_time)" + " values (?, ?, ?, ?, ?, ?, ?, ?, ?)", artistId, albumId, trackId, userId, groupId, tagId, wi.getCallType().getDatabaseId(), wi.getPage(), invocationTime); }
private int prepareTestdataForArtist() throws ApplicationException { ArtistSimilarityParser asParser = new ArtistSimilarityParserImpl(new ResourceUtil(CHER_SIMILAR_ARTISTS).getInputStream()); artistRelationDao.createArtistRelations(asParser.getArtist(), asParser.getArtistRelations()); ArtistTopTracksParser attParser = new ArtistTopTracksParserImpl(new ResourceUtil(CHER_TOP_TRACKS).getInputStream()); artistTopTracksDao.createTopTracks(attParser.getArtist(), attParser.getTopTracks()); List<File> files = new ArrayList<>(); for (Track topTrack : attParser.getTopTracks()) { files.add(UnittestLibraryUtil.getFile(topTrack)); } UnittestLibraryUtil.submitFile(additionDao, files); int artistId = musicDao.getArtistId(asParser.getArtist()); playlistGeneratorDao.updateSearchIndex(); return artistId; }