@Override
protected Map<String, Number> parseStream(InputStream stream) {
XmlProvider xmlstarter = find(XmlProvider.class);
if(xmlstarter == null) {
log(Level.ERROR, "XML Provider not found");
return null;
}
Document d = xmlstarter.getDocument(stream);
if (! validateXml(xmlstarter, d)) {
return null;
}
setUptime(findUptime(xmlstarter, d));
Map<String, Number> vars = new HashMap<>(collectKeys.size());
for (Map.Entry<XPathExpression, Number> e: xmlstarter.fileFromXpaths(d, collectKeys.keySet()).entrySet()) {
vars.put(collectKeys.get(e.getKey()), e.getValue());
}
log(Level.TRACE, "Values found: %s", vars);
log(Level.TRACE, "%s", vars);
vars = dom2Map(d, vars);
log(Level.TRACE, "%s", vars);
return vars;
}