@NonNull protected MovieSearchResult parseJson(String jsonResponse) throws MovieService.MovieServiceException { try { JsonVisitable visitable = this.jsonVisitableProvider.use(new JSONObject(jsonResponse)); MovieVisitor movieVisitor = new MovieVisitor(); TotalResultVisitor totalResultVisitor = new TotalResultVisitor(); visitable.accept(movieVisitor); visitable.accept(totalResultVisitor); return new MovieSearchResultImpl( totalResultVisitor.getPage(), totalResultVisitor.getTotalPages(), totalResultVisitor.getTotalResults(), movieVisitor.getMovies()); } catch (JSONException e) { throw new MovieService.MovieServiceException(e); } }
public void visitMovies(MovieVisitor visitor) { for (MovieDTO m : movieService.getAllMovies()) { visitor.visit( m.getId(), m.getTitle(), m.getReleaseDate(), m.isRented(), m.getPriceCategory()); } }