Example #1
0
  public void loadDataTrack(String path) {

    allTracks = new HashMap<Integer, Track>();
    List<String> data = loadData(path);
    for (String str : data) {
      Track track = new Track();
      String[] strArray = str.split("\\|");
      int trackId = Integer.parseInt(strArray[0]);
      int trackAlbum = -1; // -1 means none
      int trackArtist = -1;
      List<Integer> trackGenres = new LinkedList<Integer>();
      if (!strArray[1].equals("None")) {
        trackAlbum = Integer.parseInt(strArray[1]);
        if (allAlbums.containsKey(trackAlbum)) {
          Album album = allAlbums.get(trackAlbum);
          List<Integer> tracksInList = album.getTracks();
          tracksInList.add(trackId);
          album.setTracks(tracksInList);
          allAlbums.put(trackAlbum, album);
        }
      }
      if (!strArray[2].equals("None")) {
        trackArtist = Integer.parseInt(strArray[2]);
        if (allArtists.containsKey(trackArtist)) {
          Artist artist = allArtists.get(trackArtist);
          List<Integer> tracksInList = artist.getTracks();
          tracksInList.add(trackId);
          artist.setTracks(tracksInList);
          allArtists.put(trackArtist, artist);
        }
      }
      if (strArray.length > 3) {
        for (int i = 0; i < strArray.length - 3; i++) {
          int trackGenre = Integer.parseInt(strArray[i + 3]);
          trackGenres.add(trackGenre);
          if (allGenres.containsKey(trackGenre)) {
            Genre genre = allGenres.get(trackGenre);
            List<Integer> tracksInList = genre.getTracks();
            tracksInList.add(trackId);
            genre.setTracks(tracksInList);
            allGenres.put(trackGenre, genre);
          }
        }
      } else {
        trackGenres.add(-1);
      }
      track.setId(trackId);
      track.setAlbumId(trackAlbum);
      track.setArtistId(trackArtist);
      track.setGenreId(trackGenres);
      allTracks.put(trackId, track);
    }
  }