/** * 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; }