Add Reviews

master
Stuart Boston 11 years ago
parent 1e01a4e7df
commit 3078d12005

@ -1249,10 +1249,6 @@ public class TheMovieDbApi {
return tmdbMovies.getSimilarMovies(movieId, language, page, appendToResponse);
}
public TmdbResultsList<Reviews> getReviews(int movieId, String language, int page, String... appendToResponse) throws MovieDbException {
return tmdbMovies.getReviews(movieId, language, page, appendToResponse);
}
/**
* Get the lists that the movie belongs to
*
@ -1447,11 +1443,25 @@ public class TheMovieDbApi {
return tmdbPeople.getPersonLatest();
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc="Reviews">
/**
*
* @param movieId
* @param language
* @param page
* @param appendToResponse
* @return
* @throws MovieDbException
*/
public TmdbResultsList<Reviews> getReviews(int movieId, String language, int page, String... appendToResponse) throws MovieDbException {
return tmdbReviews.getReviews(movieId, language, page, appendToResponse);
}
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc="Search">
//</editor-fold>
//<editor-fold defaultstate="collapsed" desc="TV">
//</editor-fold>
}

@ -27,7 +27,6 @@ import com.omertron.themoviedbapi.model.MovieDb;
import com.omertron.themoviedbapi.model.MovieList;
import com.omertron.themoviedbapi.model.Person;
import com.omertron.themoviedbapi.model.ReleaseInfo;
import com.omertron.themoviedbapi.model.Reviews;
import com.omertron.themoviedbapi.model.StatusCode;
import com.omertron.themoviedbapi.model.Translation;
import com.omertron.themoviedbapi.model.Video;
@ -47,7 +46,6 @@ import com.omertron.themoviedbapi.wrapper.WrapperMovieCasts;
import com.omertron.themoviedbapi.wrapper.WrapperMovieKeywords;
import com.omertron.themoviedbapi.wrapper.WrapperMovieList;
import com.omertron.themoviedbapi.wrapper.WrapperReleaseInfo;
import com.omertron.themoviedbapi.wrapper.WrapperReviews;
import com.omertron.themoviedbapi.wrapper.WrapperTranslations;
import com.omertron.themoviedbapi.wrapper.WrapperVideos;
import java.io.IOException;
@ -368,26 +366,6 @@ public class TmdbMovies extends AbstractMethod {
}
}
public TmdbResultsList<Reviews> getReviews(int movieId, String language, int page, String... appendToResponse) throws MovieDbException {
TmdbParameters parameters = new TmdbParameters();
parameters.add(Param.ID, movieId);
parameters.add(Param.LANGUAGE, language);
parameters.add(Param.PAGE, page);
parameters.add(Param.APPEND, appendToResponse);
URL url = new ApiUrl(apiKey, MethodBase.MOVIE).setSubMethod(MethodSub.REVIEWS).buildUrl(parameters);
String webpage = httpTools.getRequest(url);
try {
WrapperReviews wrapper = MAPPER.readValue(webpage, WrapperReviews.class);
TmdbResultsList<Reviews> results = new TmdbResultsList<Reviews>(wrapper.getReviews());
results.copyWrapper(wrapper);
return results;
} catch (IOException ex) {
throw new MovieDbException(ApiExceptionType.MAPPING_FAILED, "Failed to get reviews", url, ex);
}
}
/**
* Get the lists that the movie belongs to
*

@ -19,7 +19,20 @@
*/
package com.omertron.themoviedbapi.methods;
import com.omertron.themoviedbapi.MovieDbException;
import static com.omertron.themoviedbapi.methods.AbstractMethod.MAPPER;
import com.omertron.themoviedbapi.model.Reviews;
import com.omertron.themoviedbapi.results.TmdbResultsList;
import com.omertron.themoviedbapi.tools.ApiUrl;
import com.omertron.themoviedbapi.tools.HttpTools;
import com.omertron.themoviedbapi.tools.MethodBase;
import com.omertron.themoviedbapi.tools.MethodSub;
import com.omertron.themoviedbapi.tools.Param;
import com.omertron.themoviedbapi.tools.TmdbParameters;
import com.omertron.themoviedbapi.wrapper.WrapperReviews;
import java.io.IOException;
import java.net.URL;
import org.yamj.api.common.exception.ApiExceptionType;
/**
* Class to hold the Review Methods
@ -37,4 +50,35 @@ public class TmdbReviews extends AbstractMethod {
public TmdbReviews(String apiKey, HttpTools httpTools) {
super(apiKey, httpTools);
}
/**
* Get the full details of a review by ID.
*
* @param id
* @param language
* @param page
* @param appendToResponse
* @return
* @throws MovieDbException
*/
public TmdbResultsList<Reviews> getReviews(int id, String language, int page, String... appendToResponse) throws MovieDbException {
TmdbParameters parameters = new TmdbParameters();
parameters.add(Param.ID, id);
parameters.add(Param.LANGUAGE, language);
parameters.add(Param.PAGE, page);
parameters.add(Param.APPEND, appendToResponse);
URL url = new ApiUrl(apiKey, MethodBase.MOVIE).setSubMethod(MethodSub.REVIEWS).buildUrl(parameters);
String webpage = httpTools.getRequest(url);
try {
WrapperReviews wrapper = MAPPER.readValue(webpage, WrapperReviews.class);
TmdbResultsList<Reviews> results = new TmdbResultsList<Reviews>(wrapper.getReviews());
results.copyWrapper(wrapper);
return results;
} catch (IOException ex) {
throw new MovieDbException(ApiExceptionType.MAPPING_FAILED, "Failed to get reviews", url, ex);
}
}
}

Loading…
Cancel
Save