|
|
|
|
@ -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);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|