package org.lodder.subtools.sublibrary.data.OMDB; import org.lodder.subtools.sublibrary.Manager; import org.lodder.subtools.sublibrary.data.XmlHTTP; import org.lodder.subtools.sublibrary.data.OMDB.model.OMDBDetails; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; public class OMDBAPI extends XmlHTTP { public OMDBAPI(Manager manager) { super(manager); } public OMDBDetails getOMDBMovieDetails(String imdbid) throws OMDBException { final String xml = "http://www.omdbapi.com/?i=" + imdbid + "&plot=short&r=xml"; Document doc; try { doc = getXMLDisk(xml); NodeList nodeList = doc.getElementsByTagName("movie"); if (nodeList.getLength() > 0) { return parseOMDBDetails((Element) nodeList.item(0)); } } catch (Exception e) { throw new OMDBException("Error OMDBAPI", xml, e); } return null; } private OMDBDetails parseOMDBDetails(Element item) { OMDBDetails details = new OMDBDetails(); details.setTitle(item.getAttribute("title")); details.setYear(Integer.parseInt(item.getAttribute("year"))); return details; } }