Updated parseMovieInfo

master
Omertron 15 years ago
parent ef4e2a0fa0
commit ce52629e8c

@ -160,6 +160,14 @@ public class Person extends ModelTools {
public void setCastId(int castId) { public void setCastId(int castId) {
this.castId = castId; this.castId = castId;
} }
public void setCastId(String castId) {
try {
this.castId = Integer.parseInt(castId);
} catch (Exception ignore) {
this.castId = -1;
}
}
public void setCharacter(String character) { public void setCharacter(String character) {
this.character = character; this.character = character;
@ -211,6 +219,14 @@ public class Person extends ModelTools {
public void setOrder(int order) { public void setOrder(int order) {
this.order = order; this.order = order;
} }
public void setOrder(String order) {
try {
this.order = Integer.parseInt(order);
} catch (Exception ignore) {
this.order = -1;
}
}
public void setUrl(String url) { public void setUrl(String url) {
this.url = url; this.url = url;

@ -27,12 +27,13 @@ import com.moviejukebox.themoviedb.model.Country;
import com.moviejukebox.themoviedb.model.Filmography; import com.moviejukebox.themoviedb.model.Filmography;
import com.moviejukebox.themoviedb.model.MovieDB; import com.moviejukebox.themoviedb.model.MovieDB;
import com.moviejukebox.themoviedb.model.Person; import com.moviejukebox.themoviedb.model.Person;
import com.moviejukebox.themoviedb.model.Studio;
public class DOMParser { public class DOMParser {
static Logger logger = TheMovieDb.getLogger(); static Logger logger = TheMovieDb.getLogger();
public static MovieDB parseMovieInfo(Document doc) { public static MovieDB parseMovieInfo(Document doc) {
// Borrowed from http://www.java-tips.org/java-se-tips/javax.xml.parsers/how-to-read-xml-file-in-java.html // Inspired by http://www.java-tips.org/java-se-tips/javax.xml.parsers/how-to-read-xml-file-in-java.html
MovieDB movie = null; MovieDB movie = null;
NodeList movieNodeList, subNodeList; NodeList movieNodeList, subNodeList;
Node movieNode, subNode; Node movieNode, subNode;
@ -52,15 +53,24 @@ public class DOMParser {
if (movieNode.getNodeType() == Node.ELEMENT_NODE) { if (movieNode.getNodeType() == Node.ELEMENT_NODE) {
movieElement = (Element) movieNode; movieElement = (Element) movieNode;
movie.setTitle(DOMHelper.getValueFromElement(movieElement, "name")); // DOMHelper.getValueFromElement(movieElement, "")
movie.setPopularity(DOMHelper.getValueFromElement(movieElement, "popularity")); movie.setPopularity(DOMHelper.getValueFromElement(movieElement, "popularity"));
movie.setTranslated(DOMHelper.getValueFromElement(movieElement, "translated"));
movie.setAdult(DOMHelper.getValueFromElement(movieElement, "adult"));
movie.setLanguage(DOMHelper.getValueFromElement(movieElement, "language"));
movie.setOriginalName(DOMHelper.getValueFromElement(movieElement, "original_name"));
movie.setTitle(DOMHelper.getValueFromElement(movieElement, "name"));
movie.setAlternativeName(DOMHelper.getValueFromElement(movieElement, "alternative_name"));
movie.setType(DOMHelper.getValueFromElement(movieElement, "type")); movie.setType(DOMHelper.getValueFromElement(movieElement, "type"));
movie.setId(DOMHelper.getValueFromElement(movieElement, "id")); movie.setId(DOMHelper.getValueFromElement(movieElement, "id"));
movie.setImdb(DOMHelper.getValueFromElement(movieElement, "imdb_id")); movie.setImdb(DOMHelper.getValueFromElement(movieElement, "imdb_id"));
movie.setUrl(DOMHelper.getValueFromElement(movieElement, "url")); movie.setUrl(DOMHelper.getValueFromElement(movieElement, "url"));
movie.setOverview(DOMHelper.getValueFromElement(movieElement, "overview")); movie.setOverview(DOMHelper.getValueFromElement(movieElement, "overview"));
movie.setRating(DOMHelper.getValueFromElement(movieElement, "rating")); movie.setRating(DOMHelper.getValueFromElement(movieElement, "rating"));
movie.setTagline(DOMHelper.getValueFromElement(movieElement, "tagline"));
movie.setCertification(DOMHelper.getValueFromElement(movieElement, "certification"));
movie.setReleaseDate(DOMHelper.getValueFromElement(movieElement, "released")); movie.setReleaseDate(DOMHelper.getValueFromElement(movieElement, "released"));
movie.setRuntime(DOMHelper.getValueFromElement(movieElement, "runtime")); movie.setRuntime(DOMHelper.getValueFromElement(movieElement, "runtime"));
movie.setBudget(DOMHelper.getValueFromElement(movieElement, "budget")); movie.setBudget(DOMHelper.getValueFromElement(movieElement, "budget"));
@ -86,12 +96,39 @@ public class DOMParser {
category.setType(subElement.getAttribute("type")); category.setType(subElement.getAttribute("type"));
category.setUrl(subElement.getAttribute("url")); category.setUrl(subElement.getAttribute("url"));
category.setName(subElement.getAttribute("name")); category.setName(subElement.getAttribute("name"));
category.setId(subElement.getAttribute("id"));
movie.addCategory(category); movie.addCategory(category);
} }
} }
} }
} }
// Process the "studios"
subNodeList = doc.getElementsByTagName("studios");
for (int nodeLoop = 0; nodeLoop < subNodeList.getLength(); nodeLoop++) {
subNode = subNodeList.item(nodeLoop);
if (subNode.getNodeType() == Node.ELEMENT_NODE) {
subElement = (Element) subNode;
NodeList studioList = subNode.getChildNodes();
for (int i = 0; i < studioList.getLength(); i++) {
Node studioNode = studioList.item(i);
if (studioNode.getNodeType() == Node.ELEMENT_NODE) {
subElement = (Element) studioNode;
Studio studio = new Studio();
studio.setUrl(subElement.getAttribute("url"));
studio.setName(subElement.getAttribute("name"));
studio.setId(subElement.getAttribute("id"));
movie.addStudio(studio);
}
}
}
}
// Process the "countries" // Process the "countries"
subNodeList = doc.getElementsByTagName("countries"); subNodeList = doc.getElementsByTagName("countries");
@ -101,9 +138,9 @@ public class DOMParser {
subElement = (Element) subNode; subElement = (Element) subNode;
Country country = new Country(); Country country = new Country();
country.setName(DOMHelper.getValueFromElement(subElement, "name"));
country.setCode(DOMHelper.getValueFromElement(subElement, "code")); country.setCode(DOMHelper.getValueFromElement(subElement, "code"));
country.setUrl(DOMHelper.getValueFromElement(subElement, "url")); country.setUrl(DOMHelper.getValueFromElement(subElement, "url"));
country.setName(DOMHelper.getValueFromElement(subElement, "name"));
movie.addProductionCountry(country); movie.addProductionCountry(country);
} }
@ -124,11 +161,18 @@ public class DOMParser {
subElement = (Element) personNode; subElement = (Element) personNode;
Person person = new Person(); Person person = new Person();
person.setUrl(subElement.getAttribute("url"));
person.setName(subElement.getAttribute("name")); person.setName(subElement.getAttribute("name"));
person.setJob(subElement.getAttribute("job"));
person.setCharacter(subElement.getAttribute("character")); person.setCharacter(subElement.getAttribute("character"));
person.setJob(subElement.getAttribute("job"));
person.setId(subElement.getAttribute("id")); person.setId(subElement.getAttribute("id"));
person.addArtwork(Artwork.ARTWORK_TYPE_PERSON,
Artwork.ARTWORK_SIZE_THUMB,
subElement.getAttribute("thumb"), "-1");
person.setDepartment(subElement.getAttribute("department"));
person.setUrl(subElement.getAttribute("url"));
person.setOrder(subElement.getAttribute("order"));
person.setCastId(subElement.getAttribute("cast_id"));
movie.addPerson(person); movie.addPerson(person);
} }
} }
@ -201,7 +245,7 @@ public class DOMParser {
} }
} else { } else {
// This is a classic, it should never happen error // This is a classic, it should never happen error
logger.severe("UNKNOWN Image type"); logger.severe("UNKNOWN Image type: " + subElement.getNodeName());
} }
} }
} }

Loading…
Cancel
Save