@RequestMapping(method = RequestMethod.GET, value = "/artist/{artistName}/listeners") public String viewArtistListeners( @PathVariable("artistName") String artistName, Model map, HttpSession session) { artistName = UtilImpl.rewriteParams(artistName); Integer pageSize = 6; Integer fanNumberOfArtist; Integer fanPageNumberOfArtist; Integer artistID; Artist artist = serviceFactory.getArtistService().getArtistByName(artistName); artistID = artist.getArtistid(); List<ArtistFans> artistFans = serviceFactory.getArtistService().getArtistFans(artist, 0, pageSize.intValue()); fanNumberOfArtist = serviceFactory.getArtistService().getFanNumberOfAnArtist(artistID); if ((fanNumberOfArtist % pageSize) == 0) { fanPageNumberOfArtist = (fanNumberOfArtist / pageSize); } else { fanPageNumberOfArtist = (fanNumberOfArtist / pageSize) + 1; } map.addAttribute("fanPageNumberOfArtist", fanPageNumberOfArtist); map.addAttribute("artistId", artistID); map.addAttribute("artistFans", artistFans); return "artist/artist_listeners"; }
@RequestMapping(method = RequestMethod.GET, value = "/artist/{artistName}/albums") public String viewArtistAlbums( @PathVariable("artistName") String artistName, Model map, HttpSession session) { artistName = UtilImpl.rewriteParams(artistName); Integer artistID; Integer pageSize = 4; Integer albumNumberOfArtist; Integer albumPageNumberOfArtist; Artist artist = serviceFactory.getArtistService().getArtistByName(artistName); artistID = artist.getArtistid(); albumNumberOfArtist = serviceFactory.getAlbumService().getAlbumNumberOfArtist(artistID); List<Album> albums = serviceFactory.getAlbumService().getAlbumsByArtist(artist, 0, pageSize.intValue()); if ((albumNumberOfArtist % pageSize) == 0) { albumPageNumberOfArtist = (albumNumberOfArtist / pageSize); } else { albumPageNumberOfArtist = (albumNumberOfArtist / pageSize) + 1; } map.addAttribute("albums", albums); map.addAttribute("artistId", artistID); map.addAttribute("albumPageNumberOfArtist", albumPageNumberOfArtist); return "artist/artist_albums"; }
@RequestMapping(method = RequestMethod.GET, value = "/artist/{artistName}/more_info") public String viewArtistMoreInfo( @PathVariable("artistName") String artistName, Model map, HttpSession session) { artistName = UtilImpl.rewriteParams(artistName); Artist artist = serviceFactory.getArtistService().getArtistByName(artistName); map.addAttribute("moreInfo", artist.getMoreInfo()); return "artist/artist_more_information"; }
@RequestMapping(method = RequestMethod.GET, value = "/artist/{artistName}/biography") public String viewArtistBiography( @PathVariable("artistName") String artistName, Model map, HttpSession session) { artistName = UtilImpl.rewriteParams(artistName); Artist artist = serviceFactory.getArtistService().getArtistByName(artistName); map.addAttribute("biography", artist.getBiography()); return "artist/artist_biography"; }
@RequestMapping(method = RequestMethod.GET, value = "/artist/{artistName}/general") public String viewArtistGeneral( @PathVariable("artistName") String artistName, Model map, HttpSession session) { artistName = UtilImpl.rewriteParams(artistName); Artist artist = serviceFactory.getArtistService().getArtistByName(artistName); List<UserActivity> activities = serviceFactory.getUserService().getArtistActivity(artist, 0, 10); List<Album> albums = serviceFactory.getAlbumService().getAlbumsByArtist(artist, 0, 4); List<ArtistFans> artistFans = serviceFactory.getArtistService().getArtistFans(artist, 0, 5); // List songs = serviceFactory.getListenHistoryService().getMostListenedSongsByArtist(artist, 0, // 10); List<SongStats> songs = serviceFactory.getSongService().getTopSongsByArtist(artist, 0, 10); List<ArtistSimiliar> similiars = serviceFactory.getArtistService().getSimiliarArtists(artist, 0, 5); serviceFactory.getArtistService().saveArtistBioAndPicture(artist); for (ArtistSimiliar similiar : similiars) { serviceFactory.getArtistService().saveArtistBioAndPicture(similiar.getSimiliarArtistid()); } // List<ArtistSimiliar> similiars = new ArrayList<ArtistSimiliar>(); ArtistStats stats = artist.getArtistStats(); map.addAttribute("artist", artist); map.addAttribute("activities", activities); map.addAttribute("albums", albums); String biography = artist.getBiography(); if (biography != null && artist.getBiography().length() > 800) { biography = biography.substring(0, 800); } String moreInfo = artist.getMoreInfo(); if (moreInfo != null && moreInfo.length() > 400) { moreInfo = moreInfo.substring(0, 400); } map.addAttribute("moreInfo", moreInfo); map.addAttribute("biography", biography); map.addAttribute("artistFans", artistFans); map.addAttribute("songs", songs); map.addAttribute("similiars", similiars); return "artist/artist_general"; }
@RequestMapping(method = RequestMethod.GET, value = "/artist/{artistName}/songs") public String viewArtistSongs( @PathVariable("artistName") String artistName, Model map, HttpSession session) { artistName = UtilImpl.rewriteParams(artistName); Integer artistId; Integer songNumberOfArtist; Integer songPageNumberOfArtist; Artist artist = serviceFactory.getArtistService().getArtistByName(artistName); artistId = artist.getArtistid(); songNumberOfArtist = serviceFactory.getSongService().getSongNumberOfArtist(artistId); // List songs = serviceFactory.getListenHistoryService().getMostListenedSongsByArtist(artist, 0, // 10); // List<SongStats> songs = serviceFactory.getSongService().getTopSongsByArtist(artist, 0, 10); List<SongStats> songs = serviceFactory.getSongService().getSongsOfArtistByPage(artist, 1); songPageNumberOfArtist = (songNumberOfArtist / 10) + 1; map.addAttribute("songs", songs); map.addAttribute("artistId", artistId); map.addAttribute("songPageNumberOfArtist", songPageNumberOfArtist); return "artist/artist_popular_songs"; }
@RequestMapping(method = RequestMethod.GET, value = "/artist/{artistName}/similiars") public String viewArtistSimiliars( @PathVariable("artistName") String artistName, Model map, HttpSession session) { artistName = UtilImpl.rewriteParams(artistName); Integer artistID; Integer similiarArtistPageNumberOfArtist; Integer similiarArtistNumberOfArtist; Integer pageSize = 5; Artist artist = serviceFactory.getArtistService().getArtistByName(artistName); List<ArtistSimiliar> similiars = serviceFactory.getArtistService().getSimiliarArtists(artist, 0, pageSize.intValue()); for (ArtistSimiliar similiar : similiars) { serviceFactory.getArtistService().saveArtistBioAndPicture(similiar.getSimiliarArtistid()); } String biography = artist.getBiography(); if (biography != null && artist.getBiography().length() > 50) { biography = biography.substring(0, 50); } artistID = artist.getArtistid(); similiarArtistNumberOfArtist = serviceFactory.getArtistService().getSimiliarArtistNumberOfAnArtist(artistID); if ((similiarArtistNumberOfArtist % pageSize) == 0) { similiarArtistPageNumberOfArtist = (similiarArtistNumberOfArtist / pageSize); } else { similiarArtistPageNumberOfArtist = (similiarArtistNumberOfArtist / pageSize) + 1; } map.addAttribute("similiars", similiars); map.addAttribute("artistId", artistID); map.addAttribute("similiarArtistPageNumberOfArtist", similiarArtistPageNumberOfArtist); return "artist/artist_similiar_artists"; }