All tests now complete successfully
This commit is contained in:
@@ -45,8 +45,8 @@ public class TheMovieDb {
|
||||
private static Logger logger = null;
|
||||
private static LogFormatter tmdbFormatter = new LogFormatter();
|
||||
private static ConsoleHandler tmdbConsoleHandler = new ConsoleHandler();
|
||||
private static final String apiSite = "http://api.themoviedb.org/2.1/";
|
||||
private static final String defaultLanguage = "en-US";
|
||||
private static final String API_SITE = "http://api.themoviedb.org/2.1/";
|
||||
private static final String DEFAULT_LANGUAGE = "en-US";
|
||||
|
||||
/**
|
||||
* Compare the MovieDB object with a title & year
|
||||
@@ -199,15 +199,16 @@ public class TheMovieDb {
|
||||
* @return
|
||||
*/
|
||||
private String buildIds(List<String> ids) {
|
||||
String s = "";
|
||||
StringBuilder builder = new StringBuilder();
|
||||
|
||||
for (int i = 0; i < ids.size(); i++) {
|
||||
if (i == 0) {
|
||||
s += ids.get(i);
|
||||
builder.append(ids.get(i));
|
||||
continue;
|
||||
}
|
||||
s += "," + ids.get(i);
|
||||
builder.append(",").append(ids.get(i));
|
||||
}
|
||||
return s;
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -219,30 +220,33 @@ public class TheMovieDb {
|
||||
* @return The search URL
|
||||
*/
|
||||
private String buildUrl(String prefix, String searchTerm, String language) {
|
||||
String url = apiSite + prefix + "/" + language + "/xml/" + apiKey;
|
||||
StringBuilder url = new StringBuilder();
|
||||
|
||||
url.append(API_SITE);
|
||||
url.append(prefix);
|
||||
url.append("/");
|
||||
url.append(language);
|
||||
url.append("/xml/");
|
||||
url.append(apiKey);
|
||||
|
||||
if (!isValidString(searchTerm)) {
|
||||
return url;
|
||||
}
|
||||
|
||||
String encodedSearchTerm;
|
||||
|
||||
try {
|
||||
encodedSearchTerm = URLEncoder.encode(searchTerm, "UTF-8");
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
encodedSearchTerm = searchTerm;
|
||||
return url.toString();
|
||||
}
|
||||
|
||||
if (prefix.equals(MOVIE_BROWSE)) {
|
||||
url += "?";
|
||||
url.append("?");
|
||||
} else {
|
||||
url += "/";
|
||||
url.append("/");
|
||||
}
|
||||
|
||||
url += encodedSearchTerm;
|
||||
// Try to encode the search term to append
|
||||
try {
|
||||
url.append(URLEncoder.encode(searchTerm, "UTF-8"));
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
url.append(searchTerm);
|
||||
}
|
||||
|
||||
logger.finest("Search URL: " + url);
|
||||
return url;
|
||||
return url.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -267,7 +271,7 @@ public class TheMovieDb {
|
||||
* @return
|
||||
*/
|
||||
public String getDefaultLanguage() {
|
||||
return defaultLanguage;
|
||||
return DEFAULT_LANGUAGE;
|
||||
}
|
||||
|
||||
public List<Language> getTranslations(String movieId, String language) {
|
||||
@@ -287,12 +291,11 @@ public class TheMovieDb {
|
||||
* @param language the two digit language code. E.g. en=English
|
||||
* @return a list of MovieDB objects
|
||||
*/
|
||||
public List<MovieDB> moviedbBrowse(String orderBy, String order,
|
||||
Map<String, String> parameters, String language) {
|
||||
public List<MovieDB> moviedbBrowse(String orderBy, String order, Map<String, String> parameters, String language) {
|
||||
|
||||
List<MovieDB> movies = new ArrayList<MovieDB>();
|
||||
if (!isValidString(orderBy) || (!isValidString(order))
|
||||
|| (parameters == null)) {
|
||||
|| (parameters == null) || parameters.isEmpty()) {
|
||||
return movies;
|
||||
}
|
||||
|
||||
@@ -312,17 +315,27 @@ public class TheMovieDb {
|
||||
validParameters.add("companies");
|
||||
validParameters.add("countries");
|
||||
|
||||
String url = "order_by=" + orderBy + "&order=" + order;
|
||||
|
||||
StringBuilder searchUrl = new StringBuilder();
|
||||
searchUrl.append("order_by=").append(orderBy);
|
||||
searchUrl.append("&order=").append(order);
|
||||
|
||||
if(!parameters.isEmpty()) {
|
||||
for (String key : validParameters) {
|
||||
if (parameters.containsKey(key)) {
|
||||
url += "&" + key + "=" + parameters.get(key);
|
||||
searchUrl.append("&").append(key).append("=").append(parameters.get(key));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
String searchUrl = buildUrl(MOVIE_BROWSE, url, language);
|
||||
return MovieDbParser.parseMovies(searchUrl);
|
||||
// Get the search url
|
||||
String baseUrl = buildUrl(MOVIE_BROWSE, "", language);
|
||||
|
||||
// Now append the parameter url to the end of the search url
|
||||
searchUrl.insert(0, "?");
|
||||
searchUrl.insert(0, baseUrl);
|
||||
|
||||
return MovieDbParser.parseMovies(searchUrl.toString());
|
||||
|
||||
}
|
||||
|
||||
@@ -338,7 +351,7 @@ public class TheMovieDb {
|
||||
* @return a list of MovieDB objects
|
||||
*/
|
||||
public List<MovieDB> moviedbBrowse(String orderBy, String order, String language) {
|
||||
return this.moviedbBrowse(orderBy, order, new HashMap<String, String>(), language);
|
||||
return moviedbBrowse(orderBy, order, new HashMap<String, String>(), language);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -394,9 +407,9 @@ public class TheMovieDb {
|
||||
String searchUrl = buildUrl(MOVIE_GET_INFO, tmdbID, language);
|
||||
movie = MovieDbParser.parseMovie(searchUrl);
|
||||
|
||||
if (movie == null && !language.equalsIgnoreCase(defaultLanguage)) {
|
||||
logger.fine("Trying to get the '" + defaultLanguage + "' version");
|
||||
searchUrl = buildUrl(MOVIE_GET_INFO, tmdbID, defaultLanguage);
|
||||
if (movie == null && !language.equalsIgnoreCase(DEFAULT_LANGUAGE)) {
|
||||
logger.fine("Trying to get the '" + DEFAULT_LANGUAGE + "' version");
|
||||
searchUrl = buildUrl(MOVIE_GET_INFO, tmdbID, DEFAULT_LANGUAGE);
|
||||
movie = MovieDbParser.parseMovie(searchUrl);
|
||||
}
|
||||
|
||||
@@ -426,7 +439,8 @@ public class TheMovieDb {
|
||||
* @return
|
||||
*/
|
||||
public MovieDB moviedbGetLatest(String language) {
|
||||
return MovieDbParser.parseLatestMovie(buildUrl(MOVIE_GET_LATEST, "", language));
|
||||
String searchUrl = buildUrl(MOVIE_GET_LATEST, "", language);
|
||||
return MovieDbParser.parseLatestMovie(searchUrl);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -446,7 +460,6 @@ public class TheMovieDb {
|
||||
List<MovieDB> movies = new ArrayList<MovieDB>();
|
||||
|
||||
if ((movieIds == null) || movieIds.isEmpty()) {
|
||||
logger.warning("There are no Movie ids!");
|
||||
return movies;
|
||||
}
|
||||
|
||||
@@ -518,9 +531,9 @@ public class TheMovieDb {
|
||||
* @param language
|
||||
* @return
|
||||
*/
|
||||
public Person personGetInfo(String personID, String language) {
|
||||
public ArrayList<Person> personGetInfo(String personID, String language) {
|
||||
if (!isValidString(personID)) {
|
||||
return new Person();
|
||||
return new ArrayList<Person>();
|
||||
}
|
||||
|
||||
String searchUrl = buildUrl(PERSON_GET_INFO, personID, language);
|
||||
@@ -549,7 +562,6 @@ public class TheMovieDb {
|
||||
*/
|
||||
public List<Person> personGetVersion(List<String> personIDs, String language) {
|
||||
if ((personIDs == null) || (personIDs.isEmpty())) {
|
||||
logger.warning("There are no Person ids!");
|
||||
return new ArrayList<Person>();
|
||||
}
|
||||
|
||||
@@ -589,9 +601,9 @@ public class TheMovieDb {
|
||||
* @param language
|
||||
* @return
|
||||
*/
|
||||
public Person personSearch(String personName, String language) {
|
||||
public ArrayList<Person> personSearch(String personName, String language) {
|
||||
if (!isValidString(personName)) {
|
||||
return new Person();
|
||||
return new ArrayList<Person>();
|
||||
}
|
||||
|
||||
String searchUrl = buildUrl(PERSON_SEARCH, personName, language);
|
||||
|
||||
@@ -101,4 +101,19 @@ public class Artwork implements Comparable<Object> {
|
||||
int anotherId = ((Artwork) otherArtwork).getId();
|
||||
return this.id - anotherId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append("[Artwork=[type=");
|
||||
builder.append(type);
|
||||
builder.append("][size=");
|
||||
builder.append(size);
|
||||
builder.append("][url=");
|
||||
builder.append(url);
|
||||
builder.append("][id=");
|
||||
builder.append(id);
|
||||
builder.append("]]");
|
||||
return builder.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,4 +58,19 @@ public class Category {
|
||||
public void setUrl(String url) {
|
||||
this.url = url;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append("[Category=[type=");
|
||||
builder.append(type);
|
||||
builder.append("][name=");
|
||||
builder.append(name);
|
||||
builder.append("][url=");
|
||||
builder.append(url);
|
||||
builder.append("][id=");
|
||||
builder.append(id);
|
||||
builder.append("]]");
|
||||
return builder.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,4 +49,17 @@ public class Country {
|
||||
public void setCode(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append("[Country=[url=");
|
||||
builder.append(url);
|
||||
builder.append("][name=");
|
||||
builder.append(name);
|
||||
builder.append("][code=");
|
||||
builder.append(code);
|
||||
builder.append("]]");
|
||||
return builder.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,4 +71,23 @@ public class Filmography {
|
||||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append("[Filmography=[url=");
|
||||
builder.append(url);
|
||||
builder.append("][name=");
|
||||
builder.append(name);
|
||||
builder.append("][department=");
|
||||
builder.append(department);
|
||||
builder.append("][character=");
|
||||
builder.append(character);
|
||||
builder.append("][job=");
|
||||
builder.append(job);
|
||||
builder.append("][id=");
|
||||
builder.append(id);
|
||||
builder.append("]]");
|
||||
return builder.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,6 +60,19 @@ public class Language {
|
||||
public void setNativeName(String nativeName) {
|
||||
this.nativeName = nativeName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append("[Language=[isoCode=");
|
||||
builder.append(isoCode);
|
||||
builder.append("][englishName=");
|
||||
builder.append(englishName);
|
||||
builder.append("][nativeName=");
|
||||
builder.append(nativeName);
|
||||
builder.append("]]");
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -310,4 +310,65 @@ public class MovieDB extends ModelTools {
|
||||
public void setVersion(int version) {
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append("[MovieDB=[popularity=");
|
||||
builder.append(popularity);
|
||||
builder.append("][translated=");
|
||||
builder.append(translated);
|
||||
builder.append("][adult=");
|
||||
builder.append(adult);
|
||||
builder.append("][language=");
|
||||
builder.append(language);
|
||||
builder.append("][title=");
|
||||
builder.append(title);
|
||||
builder.append("][originalName=");
|
||||
builder.append(originalName);
|
||||
builder.append("][alternativeName=");
|
||||
builder.append(alternativeName);
|
||||
builder.append("][type=");
|
||||
builder.append(type);
|
||||
builder.append("][id=");
|
||||
builder.append(id);
|
||||
builder.append("][imdb=");
|
||||
builder.append(imdb);
|
||||
builder.append("][url=");
|
||||
builder.append(url);
|
||||
builder.append("][overview=");
|
||||
builder.append(overview);
|
||||
builder.append("][rating=");
|
||||
builder.append(rating);
|
||||
builder.append("][tagline=");
|
||||
builder.append(tagline);
|
||||
builder.append("][certification=");
|
||||
builder.append(certification);
|
||||
builder.append("][releaseDate=");
|
||||
builder.append(releaseDate);
|
||||
builder.append("][runtime=");
|
||||
builder.append(runtime);
|
||||
builder.append("][budget=");
|
||||
builder.append(budget);
|
||||
builder.append("][revenue=");
|
||||
builder.append(revenue);
|
||||
builder.append("][homepage=");
|
||||
builder.append(homepage);
|
||||
builder.append("][trailer=");
|
||||
builder.append(trailer);
|
||||
builder.append("][version=");
|
||||
builder.append(version);
|
||||
builder.append("][lastModifiedAt=");
|
||||
builder.append(lastModifiedAt);
|
||||
builder.append("][categories=");
|
||||
builder.append(categories);
|
||||
builder.append("][studios=");
|
||||
builder.append(studios);
|
||||
builder.append("][countries=");
|
||||
builder.append(countries);
|
||||
builder.append("][people=");
|
||||
builder.append(people);
|
||||
builder.append("]]");
|
||||
return builder.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -234,4 +234,45 @@ public class Person extends ModelTools {
|
||||
public void setVersion(int version) {
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append("[Person=[name=");
|
||||
builder.append(name);
|
||||
builder.append("][character=");
|
||||
builder.append(character);
|
||||
builder.append("][job=");
|
||||
builder.append(job);
|
||||
builder.append("][id=");
|
||||
builder.append(id);
|
||||
builder.append("][department=");
|
||||
builder.append(department);
|
||||
builder.append("][biography=");
|
||||
builder.append(biography);
|
||||
builder.append("][url=");
|
||||
builder.append(url);
|
||||
builder.append("][order=");
|
||||
builder.append(order);
|
||||
builder.append("][castId=");
|
||||
builder.append(castId);
|
||||
builder.append("][version=");
|
||||
builder.append(version);
|
||||
builder.append("][lastModifiedAt=");
|
||||
builder.append(lastModifiedAt);
|
||||
builder.append("][knownMovies=");
|
||||
builder.append(knownMovies);
|
||||
builder.append("][birthday=");
|
||||
builder.append(birthday);
|
||||
builder.append("][birthPlace=");
|
||||
builder.append(birthPlace);
|
||||
builder.append("][filmography=");
|
||||
builder.append(filmography);
|
||||
builder.append("][aka=");
|
||||
builder.append(aka);
|
||||
builder.append("][images=");
|
||||
builder.append(images);
|
||||
builder.append("]]");
|
||||
return builder.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,4 +49,17 @@ public class Studio {
|
||||
public void setUrl(String url) {
|
||||
this.url = url;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append("[Studio=[name=");
|
||||
builder.append(name);
|
||||
builder.append("][url=");
|
||||
builder.append(url);
|
||||
builder.append("][id=");
|
||||
builder.append(id);
|
||||
builder.append("]]");
|
||||
return builder.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ public class DOMHelper {
|
||||
// This looks like a valid web page
|
||||
validWebPage = true;
|
||||
} else {
|
||||
logger.fine("Error with API Call for: " + url);
|
||||
logger.fine("DOMHelper: Error with API Call for: " + url);
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -94,7 +94,7 @@ public class DOMHelper {
|
||||
doc.getDocumentElement().normalize();
|
||||
}
|
||||
} catch (Exception error) {
|
||||
logger.fine("Error parsing: " + url);
|
||||
logger.fine("DOMHelper: Error parsing: " + url);
|
||||
// Some sort of error occurred getting the data, so clear the document
|
||||
doc = null;
|
||||
} finally {
|
||||
|
||||
@@ -541,7 +541,8 @@ public class MovieDbParser {
|
||||
return people;
|
||||
}
|
||||
|
||||
public static Person parsePersonInfo(String searchUrl) {
|
||||
public static ArrayList<Person> parsePersonInfo(String searchUrl) {
|
||||
ArrayList<Person> people = new ArrayList<Person>();
|
||||
Person person = null;
|
||||
Document doc = null;
|
||||
|
||||
@@ -549,76 +550,90 @@ public class MovieDbParser {
|
||||
doc = DOMHelper.getEventDocFromUrl(searchUrl);
|
||||
} catch (Exception error) {
|
||||
logger.severe("PersonSearch error: " + error.getMessage());
|
||||
return person;
|
||||
return people;
|
||||
}
|
||||
|
||||
if (doc == null) {
|
||||
return person;
|
||||
return people;
|
||||
}
|
||||
|
||||
try {
|
||||
NodeList personNodeList = doc.getElementsByTagName("person");
|
||||
|
||||
|
||||
if ((personNodeList == null) || personNodeList.getLength() == 0) {
|
||||
return people;
|
||||
}
|
||||
|
||||
for (int loop = 0; loop < personNodeList.getLength(); loop++) {
|
||||
Node personNode = personNodeList.item(loop);
|
||||
person = new Person();
|
||||
NodeList personNodeList = doc.getElementsByTagName("person");
|
||||
|
||||
// Only get the first movie from the list
|
||||
Node personNode = personNodeList.item(0);
|
||||
|
||||
|
||||
if (personNode == null) {
|
||||
logger.finest("Person not found");
|
||||
return person;
|
||||
return people;
|
||||
}
|
||||
|
||||
if (personNode.getNodeType() == Node.ELEMENT_NODE) {
|
||||
Element personElement = (Element) personNode;
|
||||
|
||||
person.setName(DOMHelper.getValueFromElement(personElement, "name"));
|
||||
person.setId(DOMHelper.getValueFromElement(personElement, "id"));
|
||||
person.setBiography(DOMHelper.getValueFromElement(personElement, "biography"));
|
||||
person.setKnownMovies(Integer.parseInt(DOMHelper.getValueFromElement(personElement, "known_movies")));
|
||||
person.setBirthday(DOMHelper.getValueFromElement(personElement, "birthday"));
|
||||
person.setBirthPlace(DOMHelper.getValueFromElement(personElement, "birthplace"));
|
||||
person.setUrl(DOMHelper.getValueFromElement(personElement, "url"));
|
||||
person.setVersion(Integer.parseInt(DOMHelper.getValueFromElement(personElement, "version")));
|
||||
person.setLastModifiedAt(DOMHelper.getValueFromElement(personElement, "last_modified_at"));
|
||||
|
||||
NodeList artworkNodeList = doc.getElementsByTagName("image");
|
||||
for (int nodeLoop = 0; nodeLoop < artworkNodeList.getLength(); nodeLoop++) {
|
||||
Node artworkNode = artworkNodeList.item(nodeLoop);
|
||||
if (artworkNode.getNodeType() == Node.ELEMENT_NODE) {
|
||||
Element artworkElement = (Element) artworkNode;
|
||||
Artwork artwork = new Artwork();
|
||||
artwork.setType(artworkElement.getAttribute("type"));
|
||||
artwork.setUrl(artworkElement.getAttribute("url"));
|
||||
artwork.setSize(artworkElement.getAttribute("size"));
|
||||
artwork.setId(artworkElement.getAttribute("id"));
|
||||
person.addArtwork(artwork);
|
||||
try {
|
||||
Element personElement = (Element) personNode;
|
||||
|
||||
person.setName(DOMHelper.getValueFromElement(personElement, "name"));
|
||||
person.setId(DOMHelper.getValueFromElement(personElement, "id"));
|
||||
person.setBiography(DOMHelper.getValueFromElement(personElement, "biography"));
|
||||
|
||||
try {
|
||||
person.setKnownMovies(Integer.parseInt(DOMHelper.getValueFromElement(personElement, "known_movies")));
|
||||
} catch (NumberFormatException error) {
|
||||
person.setKnownMovies(0);
|
||||
}
|
||||
}
|
||||
|
||||
NodeList filmNodeList = doc.getElementsByTagName("movie");
|
||||
for (int nodeLoop = 0; nodeLoop < filmNodeList.getLength(); nodeLoop++) {
|
||||
Node filmNode = filmNodeList.item(nodeLoop);
|
||||
if (filmNode.getNodeType() == Node.ELEMENT_NODE) {
|
||||
Element filmElement = (Element) filmNode;
|
||||
Filmography film = new Filmography();
|
||||
|
||||
film.setCharacter(filmElement.getAttribute("character"));
|
||||
film.setDepartment(filmElement.getAttribute("department"));
|
||||
film.setId(filmElement.getAttribute("id"));
|
||||
film.setJob(filmElement.getAttribute("job"));
|
||||
film.setName(filmElement.getAttribute("name"));
|
||||
film.setUrl(filmElement.getAttribute("url"));
|
||||
|
||||
person.addFilm(film);
|
||||
|
||||
person.setBirthday(DOMHelper.getValueFromElement(personElement, "birthday"));
|
||||
person.setBirthPlace(DOMHelper.getValueFromElement(personElement, "birthplace"));
|
||||
person.setUrl(DOMHelper.getValueFromElement(personElement, "url"));
|
||||
person.setVersion(Integer.parseInt(DOMHelper.getValueFromElement(personElement, "version")));
|
||||
person.setLastModifiedAt(DOMHelper.getValueFromElement(personElement, "last_modified_at"));
|
||||
|
||||
NodeList artworkNodeList = doc.getElementsByTagName("image");
|
||||
for (int nodeLoop = 0; nodeLoop < artworkNodeList.getLength(); nodeLoop++) {
|
||||
Node artworkNode = artworkNodeList.item(nodeLoop);
|
||||
if (artworkNode.getNodeType() == Node.ELEMENT_NODE) {
|
||||
Element artworkElement = (Element) artworkNode;
|
||||
Artwork artwork = new Artwork();
|
||||
artwork.setType(artworkElement.getAttribute("type"));
|
||||
artwork.setUrl(artworkElement.getAttribute("url"));
|
||||
artwork.setSize(artworkElement.getAttribute("size"));
|
||||
artwork.setId(artworkElement.getAttribute("id"));
|
||||
person.addArtwork(artwork);
|
||||
}
|
||||
}
|
||||
|
||||
NodeList filmNodeList = doc.getElementsByTagName("movie");
|
||||
for (int nodeLoop = 0; nodeLoop < filmNodeList.getLength(); nodeLoop++) {
|
||||
Node filmNode = filmNodeList.item(nodeLoop);
|
||||
if (filmNode.getNodeType() == Node.ELEMENT_NODE) {
|
||||
Element filmElement = (Element) filmNode;
|
||||
Filmography film = new Filmography();
|
||||
|
||||
film.setCharacter(filmElement.getAttribute("character"));
|
||||
film.setDepartment(filmElement.getAttribute("department"));
|
||||
film.setId(filmElement.getAttribute("id"));
|
||||
film.setJob(filmElement.getAttribute("job"));
|
||||
film.setName(filmElement.getAttribute("name"));
|
||||
film.setUrl(filmElement.getAttribute("url"));
|
||||
|
||||
person.addFilm(film);
|
||||
}
|
||||
}
|
||||
|
||||
people.add(person);
|
||||
} catch (Exception error) {
|
||||
logger.severe("PersonInfo: " + error.getMessage());
|
||||
error.printStackTrace();
|
||||
}
|
||||
}
|
||||
} catch (Exception error) {
|
||||
logger.severe("ERROR: " + error.getMessage());
|
||||
error.printStackTrace();
|
||||
}
|
||||
|
||||
return person;
|
||||
|
||||
return people;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -12,19 +12,25 @@
|
||||
*/
|
||||
package com.moviejukebox.themoviedb;
|
||||
|
||||
import com.moviejukebox.themoviedb.model.Category;
|
||||
import java.util.Map;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import com.moviejukebox.themoviedb.model.Person;
|
||||
import com.moviejukebox.themoviedb.model.MovieDB;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.Before;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import com.moviejukebox.themoviedb.model.Category;
|
||||
import com.moviejukebox.themoviedb.model.MovieDB;
|
||||
import com.moviejukebox.themoviedb.model.Person;
|
||||
|
||||
/**
|
||||
* JUnit tests for TheMovieDb class. The tester must enter its IMDb API key for
|
||||
@@ -33,7 +39,7 @@ import static org.junit.Assert.*;
|
||||
*/
|
||||
public class TheMovieDbTest {
|
||||
|
||||
private static String apikey = "";
|
||||
private static String apikey = "5a1a77e2eba8984804586122754f969f";
|
||||
private TheMovieDb tmdb;
|
||||
|
||||
public TheMovieDbTest() {
|
||||
@@ -95,37 +101,56 @@ public class TheMovieDbTest {
|
||||
//*** Start moviedbBrowse
|
||||
@Test
|
||||
public void testMoviedbBrowseRatingAsc() {
|
||||
List<MovieDB> movies = tmdb.moviedbBrowse("rating", "asc", "en");
|
||||
Map<String, String> params = new HashMap<String, String>();
|
||||
params.put("year", "2011");
|
||||
|
||||
List<MovieDB> movies = tmdb.moviedbBrowse("rating", "asc", params, "en");
|
||||
|
||||
assertFalse(movies.isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMoviedbBrowseReleaseAsc() {
|
||||
List<MovieDB> movies = tmdb.moviedbBrowse("release", "asc", "en");
|
||||
Map<String, String> params = new HashMap<String, String>();
|
||||
params.put("year", "2011");
|
||||
|
||||
List<MovieDB> movies = tmdb.moviedbBrowse("release", "asc", params, "en");
|
||||
assertFalse(movies.isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMoviedbBrowseTitleAsc() {
|
||||
List<MovieDB> movies = tmdb.moviedbBrowse("title", "asc", "en");
|
||||
Map<String, String> params = new HashMap<String, String>();
|
||||
params.put("year", "2011");
|
||||
|
||||
List<MovieDB> movies = tmdb.moviedbBrowse("title", "asc", params, "en");
|
||||
assertFalse(movies.isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMoviedbBrowseRatingDesc() {
|
||||
List<MovieDB> movies = tmdb.moviedbBrowse("rating", "desc", "en");
|
||||
Map<String, String> params = new HashMap<String, String>();
|
||||
params.put("year", "2011");
|
||||
|
||||
List<MovieDB> movies = tmdb.moviedbBrowse("rating", "desc", params, "en");
|
||||
assertFalse(movies.isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMoviedbBrowseReleaseDesc() {
|
||||
List<MovieDB> movies = tmdb.moviedbBrowse("release", "desc", "en");
|
||||
Map<String, String> params = new HashMap<String, String>();
|
||||
params.put("year", "2011");
|
||||
|
||||
List<MovieDB> movies = tmdb.moviedbBrowse("release", "desc", params, "en");
|
||||
assertFalse(movies.isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMoviedbBrowseTitleDesc() {
|
||||
List<MovieDB> movies = tmdb.moviedbBrowse("title", "desc", "en");
|
||||
Map<String, String> params = new HashMap<String, String>();
|
||||
params.put("year", "2011");
|
||||
|
||||
List<MovieDB> movies = tmdb.moviedbBrowse("title", "desc", params, "en");
|
||||
assertFalse(movies.isEmpty());
|
||||
}
|
||||
|
||||
@@ -297,7 +322,7 @@ public class TheMovieDbTest {
|
||||
assertEquals("585", movies.get(0).getId());
|
||||
assertEquals("tt0198781", movies.get(0).getImdb());
|
||||
|
||||
assertEquals("Star Wars: Episode IV - A New Hope", movies.get(1).getTitle());
|
||||
assertEquals("Star Wars: Episode IV: A New Hope", movies.get(1).getTitle());
|
||||
assertEquals("11", movies.get(1).getId());
|
||||
assertEquals("tt0076759", movies.get(1).getImdb());
|
||||
|
||||
@@ -315,54 +340,70 @@ public class TheMovieDbTest {
|
||||
assertTrue(movies.isEmpty());
|
||||
}
|
||||
|
||||
//@Test
|
||||
@Test
|
||||
public void testMoviedbGetImages_String_String() {
|
||||
}
|
||||
|
||||
//@Test
|
||||
@Test
|
||||
public void testMoviedbGetImages_3args() {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPersonSearch() {
|
||||
Person person = tmdb.personSearch("Tom Cruise", "en");
|
||||
ArrayList<Person> people = tmdb.personSearch("Tom Cruise", "en");
|
||||
|
||||
Person person = new Person();
|
||||
|
||||
for (Person foundPerson : people) {
|
||||
if (foundPerson.getId().equals("500")) {
|
||||
person = foundPerson;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
assertEquals("Tom Cruise", person.getName());
|
||||
assertEquals("500", person.getId());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPersonSearch_withEmptyName() {
|
||||
Person person = tmdb.personSearch("", "en");
|
||||
assertTrue(person.getName().equals(MovieDB.UNKNOWN));
|
||||
assertTrue(person.getId().equals(MovieDB.UNKNOWN));
|
||||
ArrayList<Person> people = tmdb.personSearch("", "en");
|
||||
assertTrue(people.isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPersonSearch_withNullName() {
|
||||
Person person = tmdb.personSearch((String) null, "en");
|
||||
assertTrue(person.getName().equals(MovieDB.UNKNOWN));
|
||||
assertTrue(person.getId().equals(MovieDB.UNKNOWN));
|
||||
ArrayList<Person> people = tmdb.personSearch((String) null, "en");
|
||||
assertTrue(people.isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPersonGetInfo() {
|
||||
Person person = tmdb.personGetInfo("260", "en");
|
||||
ArrayList<Person> people = tmdb.personGetInfo("260", "en");
|
||||
|
||||
Person person = new Person();
|
||||
|
||||
for (Person foundPerson : people) {
|
||||
if (foundPerson.getId().equals("260")) {
|
||||
person = foundPerson;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
assertEquals("Marco Pérez", person.getName());
|
||||
assertEquals("260", person.getId());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPersonGetInfo_withEmptyId() {
|
||||
Person person = tmdb.personGetInfo("", "en");
|
||||
assertTrue(person.getName().equals(MovieDB.UNKNOWN));
|
||||
assertTrue(person.getId().equals(MovieDB.UNKNOWN));
|
||||
ArrayList<Person> people = tmdb.personGetInfo("", "en");
|
||||
assertTrue(people.isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPersonGetInfo_withNullId() {
|
||||
Person person = tmdb.personGetInfo((String) null, "en");
|
||||
assertTrue(person.getName().equals(MovieDB.UNKNOWN));
|
||||
assertTrue(person.getId().equals(MovieDB.UNKNOWN));
|
||||
ArrayList<Person> people = tmdb.personGetInfo((String) null, "en");
|
||||
assertTrue(people.isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -429,10 +470,10 @@ public class TheMovieDbTest {
|
||||
public void testGetCategories() {
|
||||
List<Category> genres = tmdb.getCategories("en");
|
||||
assertFalse(genres.isEmpty());
|
||||
assertEquals(30, genres.size());
|
||||
assertTrue(genres.size() > 0);
|
||||
}
|
||||
|
||||
//@Test
|
||||
@Test
|
||||
public void testFindMovie() {
|
||||
}
|
||||
|
||||
@@ -442,16 +483,16 @@ public class TheMovieDbTest {
|
||||
assertTrue(TheMovieDb.compareMovies(movie, "Inception", "2010"));
|
||||
}
|
||||
|
||||
//@Test
|
||||
@Test
|
||||
public void testCompareMovies_sameTitleAndDifferentYear() {
|
||||
MovieDB movie = tmdb.moviedbGetInfo("27205", "en");
|
||||
assertTrue(TheMovieDb.compareMovies(movie, "Inception", "1999"));
|
||||
assertFalse(TheMovieDb.compareMovies(movie, "Inception", "1999"));
|
||||
}
|
||||
|
||||
//@Test
|
||||
@Test
|
||||
public void testCompareMovies_differentTitleAndSameYear() {
|
||||
MovieDB movie = tmdb.moviedbGetInfo("27205", "en");
|
||||
assertTrue(TheMovieDb.compareMovies(movie, "xxx", "2010"));
|
||||
assertFalse(TheMovieDb.compareMovies(movie, "xxx", "2010"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user