From 6667b4679ad014c7ca7b3cd859371d23d88cf3e0 Mon Sep 17 00:00:00 2001 From: Omertron Date: Mon, 26 Mar 2012 20:27:30 +0000 Subject: [PATCH] Added exception information --- .../themoviedb/MovieDbException.java | 31 +++ .../moviejukebox/themoviedb/TheMovieDb.java | 209 ++++++++++-------- .../themoviedb/tools/WebBrowser.java | 48 ++-- .../themoviedb/TheMovieDbTest.java | 37 ++-- 4 files changed, 201 insertions(+), 124 deletions(-) create mode 100644 themoviedbapi/src/main/java/com/moviejukebox/themoviedb/MovieDbException.java diff --git a/themoviedbapi/src/main/java/com/moviejukebox/themoviedb/MovieDbException.java b/themoviedbapi/src/main/java/com/moviejukebox/themoviedb/MovieDbException.java new file mode 100644 index 000000000..fcd9a938d --- /dev/null +++ b/themoviedbapi/src/main/java/com/moviejukebox/themoviedb/MovieDbException.java @@ -0,0 +1,31 @@ +package com.moviejukebox.themoviedb; + +public class MovieDbException extends Exception { + + private static final long serialVersionUID = -8952129102483143278L; + + public enum MovieDbExceptionType { + + UNKNOWN_CAUSE, INVALID_URL, HTTP_404_ERROR, MOVIE_ID_NOT_FOUND, MAPPING_FAILED, CONNECTION_ERROR; + } + private final MovieDbExceptionType exceptionType; + private final String response; + + public MovieDbException(final MovieDbExceptionType exceptionType, + final String response) { + + super(); + this.exceptionType = exceptionType; + this.response = response; + } + + public MovieDbExceptionType getExceptionType() { + + return exceptionType; + } + + public String getResponse() { + + return response; + } +} diff --git a/themoviedbapi/src/main/java/com/moviejukebox/themoviedb/TheMovieDb.java b/themoviedbapi/src/main/java/com/moviejukebox/themoviedb/TheMovieDb.java index 76059d7e6..e4b7e0b15 100644 --- a/themoviedbapi/src/main/java/com/moviejukebox/themoviedb/TheMovieDb.java +++ b/themoviedbapi/src/main/java/com/moviejukebox/themoviedb/TheMovieDb.java @@ -12,6 +12,7 @@ */ package com.moviejukebox.themoviedb; +import com.moviejukebox.themoviedb.MovieDbException.MovieDbExceptionType; import com.moviejukebox.themoviedb.model.*; import com.moviejukebox.themoviedb.tools.ApiUrl; import com.moviejukebox.themoviedb.tools.FilteringLayout; @@ -71,13 +72,18 @@ public class TheMovieDb { * @param apiKey * @throws IOException */ - public TheMovieDb(String apiKey) throws IOException { + public TheMovieDb(String apiKey) throws MovieDbException { this.apiKey = apiKey; URL configUrl = tmdbConfigUrl.getQueryUrl(""); String webPage = WebBrowser.request(configUrl); - WrapperConfig wc = mapper.readValue(webPage, WrapperConfig.class); - tmdbConfig = wc.getTmdbConfiguration(); FilteringLayout.addApiKey(apiKey); + + try { + WrapperConfig wc = mapper.readValue(webPage, WrapperConfig.class); + tmdbConfig = wc.getTmdbConfiguration(); + } catch (IOException error) { + throw new MovieDbException(MovieDbExceptionType.MAPPING_FAILED, "Failed to read configuration"); + } } /** @@ -90,11 +96,12 @@ public class TheMovieDb { } /** - * Set the proxy information + * Set the proxy information + * * @param host * @param port * @param username - * @param password + * @param password */ public void setProxy(String host, String port, String username, String password) { WebBrowser.setProxyHost(host); @@ -105,8 +112,9 @@ public class TheMovieDb { /** * Set the connection and read time out values + * * @param connect - * @param read + * @param read */ public void setTimeout(int connect, int read) { WebBrowser.setWebTimeoutConnect(connect); @@ -119,15 +127,16 @@ public class TheMovieDb { * through movies quickly. http://help.themoviedb.org/kb/api/search-movies * TODO: Make the allResults work */ - public List searchMovie(String movieName, String language, boolean allResults) { + public List searchMovie(String movieName, String language, boolean allResults) throws MovieDbException { + + URL url = tmdbSearchMovie.getQueryUrl(movieName, language, 1); + String webPage = WebBrowser.request(url); try { - URL url = tmdbSearchMovie.getQueryUrl(movieName, language, 1); - String webPage = WebBrowser.request(url); WrapperResultList resultList = mapper.readValue(webPage, WrapperResultList.class); return resultList.getResults(); - } catch (IOException ex) { - LOGGER.warn("Failed to find movie: " + ex.getMessage()); - return new ArrayList(); + } catch (IOException error) { + LOGGER.warn("Failed to find movie: " + error.getMessage()); + throw new MovieDbException(MovieDbExceptionType.MAPPING_FAILED, webPage); } } @@ -139,15 +148,16 @@ public class TheMovieDb { * @param language * @return */ - public MovieDb getMovieInfo(int movieId, String language) { + public MovieDb getMovieInfo(int movieId, String language) throws MovieDbException { + + URL url = tmdbMovieInfo.getIdUrl(movieId, language); + String webPage = WebBrowser.request(url); try { - URL url = tmdbMovieInfo.getIdUrl(movieId, language); - String webPage = WebBrowser.request(url); return mapper.readValue(webPage, MovieDb.class); - } catch (IOException ex) { - LOGGER.warn("Failed to get movie info: " + ex.getMessage()); + } catch (IOException error) { + LOGGER.warn("Failed to get movie info: " + error.getMessage()); + throw new MovieDbException(MovieDbExceptionType.MAPPING_FAILED, webPage); } - return new MovieDb(); } /** @@ -158,15 +168,16 @@ public class TheMovieDb { * @param language * @return */ - public MovieDb getMovieInfoImdb(String imdbId, String language) { + public MovieDb getMovieInfoImdb(String imdbId, String language) throws MovieDbException { + + URL url = tmdbMovieInfo.getIdUrl(imdbId, language); + String webPage = WebBrowser.request(url); try { - URL url = tmdbMovieInfo.getIdUrl(imdbId, language); - String webPage = WebBrowser.request(url); return mapper.readValue(webPage, MovieDb.class); - } catch (IOException ex) { - LOGGER.warn("Failed to get movie info: " + ex.getMessage()); + } catch (IOException error) { + LOGGER.warn("Failed to get movie info: " + error.getMessage()); + throw new MovieDbException(MovieDbExceptionType.MAPPING_FAILED, webPage); } - return new MovieDb(); } /** @@ -177,16 +188,17 @@ public class TheMovieDb { * @param country * @return */ - public List getMovieAlternativeTitles(int movieId, String country) { + public List getMovieAlternativeTitles(int movieId, String country) throws MovieDbException { + + URL url = tmdbMovieAltTitles.getIdUrl(movieId, country); + String webPage = WebBrowser.request(url); try { - URL url = tmdbMovieAltTitles.getIdUrl(movieId, country); - String webPage = WebBrowser.request(url); WrapperAlternativeTitles at = mapper.readValue(webPage, WrapperAlternativeTitles.class); return at.getTitles(); - } catch (IOException ex) { - LOGGER.warn("Failed to get movie alternative titles: " + ex.getMessage()); + } catch (IOException error) { + LOGGER.warn("Failed to get movie alternative titles: " + error.getMessage()); + throw new MovieDbException(MovieDbExceptionType.MAPPING_FAILED, webPage); } - return new ArrayList(); } /** @@ -196,12 +208,13 @@ public class TheMovieDb { * @param movieId * @return */ - public List getMovieCasts(int movieId) { + public List getMovieCasts(int movieId) throws MovieDbException { + List people = new ArrayList(); + URL url = tmdbMovieCasts.getIdUrl(movieId); + String webPage = WebBrowser.request(url); try { - URL url = tmdbMovieCasts.getIdUrl(movieId); - String webPage = WebBrowser.request(url); WrapperMovieCasts mc = mapper.readValue(webPage, WrapperMovieCasts.class); // Add a cast member @@ -219,10 +232,10 @@ public class TheMovieDb { } return people; - } catch (IOException ex) { - LOGGER.warn("Failed to get movie casts: " + ex.getMessage()); + } catch (IOException error) { + LOGGER.warn("Failed to get movie casts: " + error.getMessage()); + throw new MovieDbException(MovieDbExceptionType.MAPPING_FAILED, webPage); } - return people; } /** @@ -233,11 +246,12 @@ public class TheMovieDb { * @param language * @return */ - public List getMovieImages(int movieId, String language) { + public List getMovieImages(int movieId, String language) throws MovieDbException { + List artwork = new ArrayList(); + URL url = tmdbMovieImages.getIdUrl(movieId, language); + String webPage = WebBrowser.request(url); try { - URL url = tmdbMovieImages.getIdUrl(movieId, language); - String webPage = WebBrowser.request(url); WrapperImages mi = mapper.readValue(webPage, WrapperImages.class); // Add all the posters to the list @@ -253,10 +267,10 @@ public class TheMovieDb { } return artwork; - } catch (IOException ex) { - LOGGER.warn("Failed to get movie images: " + ex.getMessage()); + } catch (IOException error) { + LOGGER.warn("Failed to get movie images: " + error.getMessage()); + throw new MovieDbException(MovieDbExceptionType.MAPPING_FAILED, webPage); } - return artwork; } /** @@ -266,16 +280,18 @@ public class TheMovieDb { * @param movieId * @return */ - public List getMovieKeywords(int movieId) { + public List getMovieKeywords(int movieId) throws MovieDbException { + + URL url = tmdbMovieKeywords.getIdUrl(movieId); + String webPage = WebBrowser.request(url); + try { - URL url = tmdbMovieKeywords.getIdUrl(movieId); - String webPage = WebBrowser.request(url); WrapperMovieKeywords mk = mapper.readValue(webPage, WrapperMovieKeywords.class); return mk.getKeywords(); } catch (IOException ex) { LOGGER.warn("Failed to get movie keywords: " + ex.getMessage()); + throw new MovieDbException(MovieDbExceptionType.MAPPING_FAILED, webPage); } - return new ArrayList(); } /** @@ -286,16 +302,18 @@ public class TheMovieDb { * @param language * @return */ - public List getMovieReleaseInfo(int movieId, String language) { + public List getMovieReleaseInfo(int movieId, String language) throws MovieDbException { + + URL url = tmdbMovieReleaseInfo.getIdUrl(movieId); + String webPage = WebBrowser.request(url); + try { - URL url = tmdbMovieReleaseInfo.getIdUrl(movieId); - String webPage = WebBrowser.request(url); WrapperReleaseInfo ri = mapper.readValue(webPage, WrapperReleaseInfo.class); return ri.getCountries(); } catch (IOException ex) { LOGGER.warn("Failed to get movie release information: " + ex.getMessage()); + throw new MovieDbException(MovieDbExceptionType.MAPPING_FAILED, webPage); } - return new ArrayList(); } /** @@ -306,11 +324,13 @@ public class TheMovieDb { * @param language * @return */ - public List getMovieTrailers(int movieId, String language) { + public List getMovieTrailers(int movieId, String language) throws MovieDbException { + List trailers = new ArrayList(); + URL url = tmdbMovieTrailers.getIdUrl(movieId, language); + String webPage = WebBrowser.request(url); + try { - URL url = tmdbMovieTrailers.getIdUrl(movieId); - String webPage = WebBrowser.request(url); WrapperTrailers wt = mapper.readValue(webPage, WrapperTrailers.class); // Add the trailer to the return list along with it's source @@ -318,7 +338,6 @@ public class TheMovieDb { trailer.setWebsite(Trailer.WEBSITE_QUICKTIME); trailers.add(trailer); } - // Add the trailer to the return list along with it's source for (Trailer trailer : wt.getYoutube()) { trailer.setWebsite(Trailer.WEBSITE_YOUTUBE); @@ -327,8 +346,8 @@ public class TheMovieDb { return trailers; } catch (IOException ex) { LOGGER.warn("Failed to get movie trailers: " + ex.getMessage()); + throw new MovieDbException(MovieDbExceptionType.MAPPING_FAILED, webPage); } - return trailers; } /** @@ -338,16 +357,18 @@ public class TheMovieDb { * @param movieId * @return */ - public List getMovieTranslations(int movieId) { + public List getMovieTranslations(int movieId) throws MovieDbException { + + URL url = tmdbMovieTranslations.getIdUrl(movieId); + String webPage = WebBrowser.request(url); + try { - URL url = tmdbMovieTranslations.getIdUrl(movieId); - String webPage = WebBrowser.request(url); WrapperTranslations wt = mapper.readValue(webPage, WrapperTranslations.class); return wt.getTranslations(); } catch (IOException ex) { LOGGER.warn("Failed to get movie tranlations: " + ex.getMessage()); + throw new MovieDbException(MovieDbExceptionType.MAPPING_FAILED, webPage); } - return new ArrayList(); } /** @@ -359,13 +380,16 @@ public class TheMovieDb { * @param language * @return */ - public CollectionInfo getCollectionInfo(int movieId, String language) { + public CollectionInfo getCollectionInfo(int movieId, String language) throws MovieDbException { + + URL url = tmdbCollectionInfo.getIdUrl(movieId); + String webPage = WebBrowser.request(url); + try { - URL url = tmdbCollectionInfo.getIdUrl(movieId); - String webPage = WebBrowser.request(url); return mapper.readValue(webPage, CollectionInfo.class); } catch (IOException ex) { - return new CollectionInfo(); + LOGGER.warn("Failed to get movie tranlations: " + ex.getMessage()); + throw new MovieDbException(MovieDbExceptionType.MAPPING_FAILED, webPage); } } @@ -385,7 +409,7 @@ public class TheMovieDb { * @param requiredSize * @return */ - public URL createImageUrl(String imagePath, String requiredSize) { + public URL createImageUrl(String imagePath, String requiredSize) throws MovieDbException { URL returnUrl = null; StringBuilder sb; @@ -400,12 +424,11 @@ public class TheMovieDb { sb = new StringBuilder(tmdbConfig.getBaseUrl()); sb.append(requiredSize); sb.append(imagePath); - returnUrl = new URL(sb.toString()); + return (new URL(sb.toString())); } catch (MalformedURLException ex) { LOGGER.warn("Failed to create image URL: " + ex.getMessage()); + throw new MovieDbException(MovieDbExceptionType.INVALID_URL, returnUrl.toString()); } - - return returnUrl; } /** @@ -413,16 +436,17 @@ public class TheMovieDb { * is to be a quick and light method so you can iterate through people * quickly. TODO: Fix allResults */ - public List searchPeople(String personName, boolean allResults) { + public List searchPeople(String personName, boolean allResults) throws MovieDbException { + + URL url = tmdbSearchPeople.getQueryUrl(personName, "", 1); + String webPage = WebBrowser.request(url); try { - URL url = tmdbSearchPeople.getQueryUrl(personName, "", 1); - String webPage = WebBrowser.request(url); WrapperPerson resultList = mapper.readValue(webPage, WrapperPerson.class); return resultList.getResults(); } catch (IOException ex) { LOGGER.warn("Failed to find person: " + ex.getMessage()); - return new ArrayList(); + throw new MovieDbException(MovieDbExceptionType.MAPPING_FAILED, webPage); } } @@ -433,14 +457,16 @@ public class TheMovieDb { * @param personId * @return */ - public Person getPersonInfo(int personId) { + public Person getPersonInfo(int personId) throws MovieDbException { + + URL url = tmdbPersonInfo.getIdUrl(personId); + String webPage = WebBrowser.request(url); + try { - URL url = tmdbPersonInfo.getIdUrl(personId); - String webPage = WebBrowser.request(url); return mapper.readValue(webPage, Person.class); } catch (IOException ex) { LOGGER.warn("Failed to get movie info: " + ex.getMessage()); - return new Person(); + throw new MovieDbException(MovieDbExceptionType.MAPPING_FAILED, webPage); } } @@ -452,12 +478,14 @@ public class TheMovieDb { * @param personId * @return */ - public List getPersonCredits(int personId) { + public List getPersonCredits(int personId) throws MovieDbException { + List personCredits = new ArrayList(); + URL url = tmdbPersonCredits.getIdUrl(personId); + String webPage = WebBrowser.request(url); + try { - URL url = tmdbPersonCredits.getIdUrl(personId); - String webPage = WebBrowser.request(url); WrapperPersonCredits pc = mapper.readValue(webPage, WrapperPersonCredits.class); // Add a cast member @@ -465,17 +493,15 @@ public class TheMovieDb { cast.setPersonType(PersonType.CAST); personCredits.add(cast); } - // Add a crew member for (PersonCredit crew : pc.getCrew()) { crew.setPersonType(PersonType.CREW); personCredits.add(crew); } - return personCredits; } catch (IOException ex) { LOGGER.warn("Failed to get person credits: " + ex.getMessage()); - return personCredits; + throw new MovieDbException(MovieDbExceptionType.MAPPING_FAILED, webPage); } } @@ -485,12 +511,14 @@ public class TheMovieDb { * @param personId * @return */ - public List getPersonImages(int personId) { + public List getPersonImages(int personId) throws MovieDbException { + List personImages = new ArrayList(); + URL url = tmdbPersonImages.getIdUrl(personId); + String webPage = WebBrowser.request(url); + try { - URL url = tmdbPersonImages.getIdUrl(personId); - String webPage = WebBrowser.request(url); WrapperImages images = mapper.readValue(webPage, WrapperImages.class); // Update the image type @@ -498,11 +526,10 @@ public class TheMovieDb { artwork.setArtworkType(ArtworkType.PROFILE); personImages.add(artwork); } - return personImages; } catch (IOException ex) { LOGGER.warn("Failed to get person images: " + ex.getMessage()); - return personImages; + throw new MovieDbException(MovieDbExceptionType.MAPPING_FAILED, webPage); } } @@ -511,14 +538,16 @@ public class TheMovieDb { * * @return */ - public MovieDb getLatestMovie() { + public MovieDb getLatestMovie() throws MovieDbException { + + URL url = tmdbLatestMovie.getIdUrl(""); + String webPage = WebBrowser.request(url); + try { - URL url = tmdbLatestMovie.getIdUrl(""); - String webPage = WebBrowser.request(url); return mapper.readValue(webPage, MovieDb.class); } catch (IOException ex) { LOGGER.warn("Failed to get latest movie: " + ex.getMessage()); - return new MovieDb(); + throw new MovieDbException(MovieDbExceptionType.MAPPING_FAILED, webPage); } } diff --git a/themoviedbapi/src/main/java/com/moviejukebox/themoviedb/tools/WebBrowser.java b/themoviedbapi/src/main/java/com/moviejukebox/themoviedb/tools/WebBrowser.java index 9574be267..809458dec 100644 --- a/themoviedbapi/src/main/java/com/moviejukebox/themoviedb/tools/WebBrowser.java +++ b/themoviedbapi/src/main/java/com/moviejukebox/themoviedb/tools/WebBrowser.java @@ -12,11 +12,13 @@ */ package com.moviejukebox.themoviedb.tools; +import com.moviejukebox.themoviedb.MovieDbException; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.StringWriter; import java.net.HttpURLConnection; +import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.nio.charset.Charset; @@ -27,12 +29,14 @@ import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.apache.commons.codec.binary.Base64; +import org.apache.log4j.Logger; /** * Web browser with simple cookies support */ public final class WebBrowser { + private static final Logger LOGGER = Logger.getLogger(WebBrowser.class); private static Map browserProperties = new HashMap(); private static Map> cookies = new HashMap>(); private static String proxyHost = null; @@ -58,27 +62,35 @@ public final class WebBrowser { } } - public static String request(String url) throws IOException { - return request(new URL(url)); + public static String request(String url) throws MovieDbException { + try { + return request(new URL(url)); + } catch (MalformedURLException ex) { + throw new MovieDbException(MovieDbException.MovieDbExceptionType.INVALID_URL, null); + } } - public static URLConnection openProxiedConnection(URL url) throws IOException { - if (proxyHost != null) { - System.getProperties().put("proxySet", "true"); - System.getProperties().put("proxyHost", proxyHost); - System.getProperties().put("proxyPort", proxyPort); - } + public static URLConnection openProxiedConnection(URL url) throws MovieDbException { + try { + if (proxyHost != null) { + System.getProperties().put("proxySet", "true"); + System.getProperties().put("proxyHost", proxyHost); + System.getProperties().put("proxyPort", proxyPort); + } - URLConnection cnx = url.openConnection(); + URLConnection cnx = url.openConnection(); - if (proxyUsername != null) { - cnx.setRequestProperty("Proxy-Authorization", proxyEncodedPassword); - } + if (proxyUsername != null) { + cnx.setRequestProperty("Proxy-Authorization", proxyEncodedPassword); + } - return cnx; + return cnx; + } catch (IOException ex) { + throw new MovieDbException(MovieDbException.MovieDbExceptionType.INVALID_URL, null); + } } - public static String request(URL url) throws IOException { + public static String request(URL url) throws MovieDbException { StringWriter content = null; try { @@ -106,9 +118,15 @@ public final class WebBrowser { } } return content.toString(); + } catch (IOException error) { + throw new MovieDbException(MovieDbException.MovieDbExceptionType.CONNECTION_ERROR, null); } finally { if (content != null) { - content.close(); + try { + content.close(); + } catch (IOException ex) { + LOGGER.debug("Failed to close connection: " + ex.getMessage()); + } } } } diff --git a/themoviedbapi/src/test/java/com/moviejukebox/themoviedb/TheMovieDbTest.java b/themoviedbapi/src/test/java/com/moviejukebox/themoviedb/TheMovieDbTest.java index 1c7c06b4c..7a8fc4a5e 100644 --- a/themoviedbapi/src/test/java/com/moviejukebox/themoviedb/TheMovieDbTest.java +++ b/themoviedbapi/src/test/java/com/moviejukebox/themoviedb/TheMovieDbTest.java @@ -14,7 +14,6 @@ package com.moviejukebox.themoviedb; import com.moviejukebox.themoviedb.model.*; import java.io.IOException; -import java.io.UnsupportedEncodingException; import java.util.List; import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; @@ -38,7 +37,7 @@ public class TheMovieDbTest { private static final int ID_STAR_WARS_COLLECTION = 10; private static final int ID_BRUCE_WILLIS = 62; - public TheMovieDbTest() throws IOException { + public TheMovieDbTest() throws MovieDbException { tmdb = new TheMovieDb(API_KEY); } @@ -78,7 +77,7 @@ public class TheMovieDbTest { * Test of searchMovie method, of class TheMovieDb. */ @Test - public void testSearchMovie() throws UnsupportedEncodingException { + public void testSearchMovie() throws MovieDbException { LOGGER.info("searchMovie"); // Try a movie with less than 1 page of results @@ -98,7 +97,7 @@ public class TheMovieDbTest { * Test of getMovieInfo method, of class TheMovieDb. */ @Test - public void testGetMovieInfo() { + public void testGetMovieInfo() throws MovieDbException { LOGGER.info("getMovieInfo"); String language = "en"; MovieDb result = tmdb.getMovieInfo(ID_BLADE_RUNNER, language); @@ -109,7 +108,7 @@ public class TheMovieDbTest { * Test of getMovieAlternativeTitles method, of class TheMovieDb. */ @Test - public void testGetMovieAlternativeTitles() { + public void testGetMovieAlternativeTitles() throws MovieDbException { LOGGER.info("getMovieAlternativeTitles"); String country = ""; List results = tmdb.getMovieAlternativeTitles(ID_BLADE_RUNNER, country); @@ -125,7 +124,7 @@ public class TheMovieDbTest { * Test of getMovieCasts method, of class TheMovieDb. */ @Test - public void testGetMovieCasts() { + public void testGetMovieCasts() throws MovieDbException { LOGGER.info("getMovieCasts"); List people = tmdb.getMovieCasts(ID_BLADE_RUNNER); assertTrue("No cast information", people.size() > 0); @@ -152,7 +151,7 @@ public class TheMovieDbTest { * Test of getMovieImages method, of class TheMovieDb. */ @Test - public void testGetMovieImages() { + public void testGetMovieImages() throws MovieDbException { LOGGER.info("getMovieImages"); String language = ""; List result = tmdb.getMovieImages(ID_BLADE_RUNNER, language); @@ -163,7 +162,7 @@ public class TheMovieDbTest { * Test of getMovieKeywords method, of class TheMovieDb. */ @Test - public void testGetMovieKeywords() { + public void testGetMovieKeywords() throws MovieDbException { LOGGER.info("getMovieKeywords"); List result = tmdb.getMovieKeywords(ID_BLADE_RUNNER); assertFalse("No keywords found", result.isEmpty()); @@ -173,7 +172,7 @@ public class TheMovieDbTest { * Test of getMovieReleaseInfo method, of class TheMovieDb. */ @Test - public void testGetMovieReleaseInfo() { + public void testGetMovieReleaseInfo() throws MovieDbException { LOGGER.info("getMovieReleaseInfo"); List result = tmdb.getMovieReleaseInfo(ID_BLADE_RUNNER, ""); assertFalse("Release information missing", result.isEmpty()); @@ -183,7 +182,7 @@ public class TheMovieDbTest { * Test of getMovieTrailers method, of class TheMovieDb. */ @Test - public void testGetMovieTrailers() { + public void testGetMovieTrailers() throws MovieDbException { LOGGER.info("getMovieTrailers"); List result = tmdb.getMovieTrailers(ID_BLADE_RUNNER, ""); assertFalse("Movie trailers missing", result.isEmpty()); @@ -193,7 +192,7 @@ public class TheMovieDbTest { * Test of getMovieTranslations method, of class TheMovieDb. */ @Test - public void testGetMovieTranslations() { + public void testGetMovieTranslations() throws MovieDbException { LOGGER.info("getMovieTranslations"); List result = tmdb.getMovieTranslations(ID_BLADE_RUNNER); assertFalse("No translations found", result.isEmpty()); @@ -203,7 +202,7 @@ public class TheMovieDbTest { * Test of getCollectionInfo method, of class TheMovieDb. */ @Test - public void testGetCollectionInfo() { + public void testGetCollectionInfo() throws MovieDbException { LOGGER.info("getCollectionInfo"); String language = ""; CollectionInfo result = tmdb.getCollectionInfo(ID_STAR_WARS_COLLECTION, language); @@ -211,7 +210,7 @@ public class TheMovieDbTest { } @Test - public void testCreateImageUrl() { + public void testCreateImageUrl() throws MovieDbException { LOGGER.info("createImageUrl"); MovieDb movie = tmdb.getMovieInfo(ID_BLADE_RUNNER, ""); String result = tmdb.createImageUrl(movie.getPosterPath(), "original").toString(); @@ -222,7 +221,7 @@ public class TheMovieDbTest { * Test of getMovieInfoImdb method, of class TheMovieDb. */ @Test - public void testGetMovieInfoImdb() { + public void testGetMovieInfoImdb() throws MovieDbException { LOGGER.info("getMovieInfoImdb"); MovieDb result = tmdb.getMovieInfoImdb("tt0076759", "en-US"); assertTrue("Error getting the movie from IMDB ID", result.getId() == 11); @@ -256,7 +255,7 @@ public class TheMovieDbTest { * Test of searchPeople method, of class TheMovieDb. */ @Test - public void testSearchPeople() { + public void testSearchPeople() throws MovieDbException { LOGGER.info("searchPeople"); String personName = "Bruce Willis"; boolean allResults = false; @@ -268,7 +267,7 @@ public class TheMovieDbTest { * Test of getPersonInfo method, of class TheMovieDb. */ @Test - public void testGetPersonInfo() { + public void testGetPersonInfo() throws MovieDbException { LOGGER.info("getPersonInfo"); Person result = tmdb.getPersonInfo(ID_BRUCE_WILLIS); assertTrue("Wrong actor returned", result.getId() == ID_BRUCE_WILLIS); @@ -278,7 +277,7 @@ public class TheMovieDbTest { * Test of getPersonCredits method, of class TheMovieDb. */ @Test - public void testGetPersonCredits() { + public void testGetPersonCredits() throws MovieDbException { LOGGER.info("getPersonCredits"); List people = tmdb.getPersonCredits(ID_BRUCE_WILLIS); @@ -289,7 +288,7 @@ public class TheMovieDbTest { * Test of getPersonImages method, of class TheMovieDb. */ @Test - public void testGetPersonImages() { + public void testGetPersonImages() throws MovieDbException { LOGGER.info("getPersonImages"); List artwork = tmdb.getPersonImages(ID_BRUCE_WILLIS); @@ -300,7 +299,7 @@ public class TheMovieDbTest { * Test of getLatestMovie method, of class TheMovieDb. */ @Test - public void testGetLatestMovie() { + public void testGetLatestMovie() throws MovieDbException { LOGGER.info("getLatestMovie"); MovieDb result = tmdb.getLatestMovie(); LOGGER.info(result.toString());