private void populateModel(final Map<String, Object> model, final Actor actor) { if (actor == null) { model.put("actorName", "No actor found"); model.put("kevinBaconNumber", ""); model.put("movieTitles", Collections.emptyList()); } else { model.put("actorName", actor.getName()); final List<?> baconPathList = imdbService.getBaconPath(actor); model.put("kevinBaconNumber", baconPathList.size() / 2); final Collection<MovieInfo> movieInfo = new TreeSet<MovieInfo>(); for (Movie movie : actor.getMovies()) { movieInfo.add(new MovieInfo(movie, actor.getRole(movie))); } model.put("movieInfo", movieInfo); final List<String> baconPath = new LinkedList<String>(); for (Object actorOrMovie : baconPathList) { if (actorOrMovie instanceof Actor) { baconPath.add(((Actor) actorOrMovie).getName()); } else if (actorOrMovie instanceof Movie) { baconPath.add(((Movie) actorOrMovie).getTitle()); } } model.put("baconPath", baconPath); } }
@Override @Transactional public void getModel(final Object command, final Map<String, Object> model) throws ServletException { final String name = ((ActorForm) command).getName(); final Actor actor = imdbService.getActor(name); populateModel(model, actor); }