MovieJukeboxXMLReader { public boolean parseSetXML(File xmlSetFile, Movie setMaster, List<Movie> moviesList) { boolean forceDirtyFlag = Boolean.FALSE; Document xmlDoc; try { xmlDoc = DOMHelper.getDocFromFile(xmlSetFile); } catch (MalformedURLException error) { LOG.error(ERROR_FIXIT, xmlSetFile.getName(), "movie"); LOG.error(SystemTools.getStackTrace(error)); return Boolean.FALSE; } catch (IOException error) { LOG.error(ERROR_FIXIT, xmlSetFile.getName(), "movie"); LOG.error(SystemTools.getStackTrace(error)); return Boolean.FALSE; } catch (ParserConfigurationException | SAXException error) { LOG.error(ERROR_FIXIT, xmlSetFile.getName(), "movie"); LOG.error(SystemTools.getStackTrace(error)); return Boolean.FALSE; } Node nFilename; NodeList nlFilenames = xmlDoc.getElementsByTagName("baseFilename"); Collection<String> xmlSetMovieNames = new ArrayList<>(); for (int loopMovie = 0; loopMovie < nlFilenames.getLength(); loopMovie++) { nFilename = nlFilenames.item(loopMovie); if (nFilename.getNodeType() == Node.ELEMENT_NODE) { Element eFilename = (Element) nFilename; xmlSetMovieNames.add(eFilename.getTextContent()); } } int counter = setMaster.getSetSize(); if (counter == xmlSetMovieNames.size()) { for (String movieName : xmlSetMovieNames) { for (Movie movie : moviesList) { if (movie.getBaseName().equals(movieName)) { forceDirtyFlag |= (!movie.isTVShow() && !movie.getSetsKeys().contains(setMaster.getTitle())) || movie.isDirty(DirtyFlag.INFO); counter--; break; } } if (forceDirtyFlag) { break; } } forceDirtyFlag |= counter != 0; } else { forceDirtyFlag = Boolean.TRUE; } setMaster.setDirty(DirtyFlag.INFO, forceDirtyFlag); return Boolean.TRUE; }  boolean parseMovieXML(File xmlFile, Movie movie); boolean parseSetXML(File xmlSetFile, Movie setMaster, List<Movie> moviesList); boolean parsePersonXML(File xmlFile, Person person);  }
@Test public void testParseSetXML() { LOG.info("parseSetXML - no test written"); }