WinterShParser extends BaseAdditionalInfoParser { @NotNull static AdditionalInfo handleXML(String xml) { AdditionalInfo info = new AdditionalInfo(); info.setTitle(TITLE); Document doc = Jsoup.parse(xml, "", Parser.xmlParser()); doc.outputSettings(new Document.OutputSettings().prettyPrint(false)); String text = doc.select("item description").first().html().replace("\r\n", "<br>").trim(); if (text.startsWith("Zurzeit gibt es keine Hinweise auf witterungsbedingten Unterrichtsausfall.") || text.startsWith("Aktuell gibt es keine Hinweise auf witterungsbedingten Unterrichtsausfall.")) { info.setHasInformation(false); info.setText("Aktuell gibt es keine Hinweise auf witterungsbedingten Unterrichtsausfall."); } if (text.endsWith("<br>")) { text = text.substring(0, text.length() - 4); } info.setTitle(TITLE + " (Stand: " + doc.select("pubDate").first().text() + ")"); info.setText(text); return info; }  @Override AdditionalInfo getAdditionalInfo();  }
@Test public void testNoInfo() throws Exception { String xml = readResource("/winter-sh/no-info.xml"); AdditionalInfo info = WinterShParser.handleXML(xml); assertFalse(info.hasInformation()); assertEquals("Witterungsbedingter Unterrichtsausfall (Stand: 23.11.2015 14:15)", info.getTitle()); }