public long fuseGenres( User user, List<Long> genreSids, String newGenreName ) { MDOUser mdouser = daoUser.getUserByLogin( user.getLogin() ); // 1st, creating the new genre MDOGenre newGenre = new MDOGenre( newGenreName, mdouser ); daoGenre.save( newGenre ); for ( int i = 0; i < genreSids.size(); i++ ) { // second, replacing current genre by the new one MDOGenre genre = this.daoGenre.getGenre( user.getLogin(), genreSids.get( i ) ); List<MDOAlbum> albums = this.daoAlbum.getAll( user.getLogin(), genre ); for ( MDOAlbum mdoAlbum : albums ) { mdoAlbum.setGenre( newGenre ); daoAlbum.save( mdoAlbum ); } // third, removing all olds genres daoGenre.remove( genre ); } return daoGenre.getByName( user.getLogin(), newGenreName ).getSid(); } }
&& album.getGenre().getName().trim().length() > 0 ) mdoGenre = daoGenre.getByName( user.getLogin(), album.getGenre().getName() );