@Override public Option<List<MediaPackageElement>> apply(HttpResponse response) { try { final String xml = IOUtils.toString(response.getEntity().getContent(), Charset.forName("utf-8")); List<MediaPackageElement> result = new ArrayList<>(MediaPackageElementParser.getArrayFromXml(xml)); return some(result); } catch (Exception e) { logger.error("Error parsing Job from HTTP response", e); return none(); } } };
/** * Same as getArrayFromXml(), but throwing a RuntimeException instead of a checked exception. Useful in streams. * * @param xml * String to be parsed * @return parsed media package element list * * @throws MediaPackageRuntimeException * if de-serialization fails */ public static List<? extends MediaPackageElement> getArrayFromXmlUnchecked(String xml) { try { return getArrayFromXml(xml); } catch (MediaPackageException e) { throw new MediaPackageRuntimeException(e); } }