public Token saveToken(Token token) throws IOException { Movie movie = token.getMovie(); if (movie != null) { MovieJson imdbMovie; if (!StringUtils.isBlank(movie.getImdbId())) { imdbMovie = imdbMovieDao.getMovieById(movie.getImdbId()); } else { imdbMovie = imdbMovieDao.getMoviesByName(movie.getName()); } if (imdbMovie != null && imdbMovie.getId() != null) { movie.setName(imdbMovie.getTitle()); movie.setDirector(imdbMovie.getDirector()); movie.setImdbId(imdbMovie.getId()); movie.setImdbRating(imdbMovie.getImdbRating()); movie.setActors(imdbMovie.getActors()); movie.setAwards(imdbMovie.getAwards()); movie.setWriter(imdbMovie.getWriter()); movie.setCountry(imdbMovie.getCountry()); } } return tokenRepo.save(token); }