public void validateSetup(Server server, Query query) throws ValidationException {
}
public void doWrite(Server server, Query query, ImmutableList<Result> results) throws Exception {
RrdDb db = null;
try {
db = createOrOpenDatabase();
Sample sample = db.createSample();
List<String> dsNames = Arrays.asList(db.getDsNames());
// go over all the results and look for datasource names that map to
// keys from the result values
for (Result res : results) {
Map<String, Object> values = res.getValues();
if (values != null) {
for (Entry<String, Object> entry : values.entrySet()) {
if (dsNames.contains(entry.getKey()) && NumberUtils.isNumeric(entry.getValue())) {
sample.setValue(entry.getKey(), Double.valueOf(entry.getValue().toString()));
}
}
}
}
sample.update();
} finally {
if (db != null) {
db.close();
}
}
}