Search in sources :

Example 1 with Cast

use of com.furyviewer.service.dto.TheMovieDB.Episode.Cast in project FuryViewer by TheDoctor-95.

the class ArtistService method importActorsTMdb.

/**
 * Metodo que se encarga de convertir un String en los objetos de la clase Artist necesarios que contiene su nombre
 * y main_actor como tipo de artista.
 *
 * @param casting String | Contiene el nombre de los artistas.
 * @return Set | Set que contiene la informacion de los artistas.
 */
public Set<Artist> importActorsTMdb(List<Cast> casting) {
    Set<Artist> artists = new HashSet<>();
    for (Cast cast : casting) {
        Optional<Artist> optionalActor = artistRepository.findByName(cast.getName());
        Artist artist;
        // En caso de que el artista exista se comprueba si ya tiene asignado el tipo main_actor.
        if (optionalActor.isPresent()) {
            artist = optionalActor.get();
            if (!artist.getArtistTypes().contains(artistTypeRepository.findByName(ArtistTypeEnum.MAIN_ACTOR))) {
                artist.addArtistType(artistTypeRepository.findByName(ArtistTypeEnum.MAIN_ACTOR));
                artist = artistRepository.save(artist);
            }
        } else {
            // Se crea un artista desde cero.
            artist = artistTmdbDTOService.importArtist(cast.getName(), artistTypeRepository.findByName(ArtistTypeEnum.MAIN_ACTOR));
        }
        artists.add(artist);
    }
    return artists;
}
Also used : Artist(com.furyviewer.domain.Artist) Cast(com.furyviewer.service.dto.TheMovieDB.Episode.Cast)

Aggregations

Artist (com.furyviewer.domain.Artist)1 Cast (com.furyviewer.service.dto.TheMovieDB.Episode.Cast)1