예제 #1
0
 /**
  * Change the item
  *
  * @param old
  * @param sNewName
  * @return new album
  */
 public Album changeAlbumName(Album old, String sNewName) throws JajukException {
   // check there is actually a change
   if (old.getName2().equals(sNewName)) {
     return old;
   }
   Album newItem = registerAlbum(sNewName);
   // re apply old properties from old item
   newItem.cloneProperties(old);
   // update tracks
   for (Track track : TrackManager.getInstance().getTracks()) {
     if (track.getAlbum().equals(old)) {
       TrackManager.getInstance().changeTrackAlbum(track, sNewName, null);
     }
   }
   // if current track album name is changed, notify it
   if (FIFO.getInstance().getCurrentFile() != null
       && FIFO.getInstance().getCurrentFile().getTrack().getAlbum().equals(old)) {
     ObservationManager.notify(new Event(EventSubject.EVENT_ALBUM_CHANGED));
   }
   return newItem;
 }