private static void updateMetric(Connection connection, String template, String id, Metric metric, boolean insert)
throws SQLException {
Preconditions.checkArgument(!Strings.isNullOrEmpty(id));
Preconditions.checkArgument(metric.hasGroup());
Preconditions.checkArgument(metric.hasName());
Preconditions.checkArgument(metric.hasType());
Preconditions.checkArgument(metric.hasValue());
try (PreparedStatement updateStatement = connection.prepareStatement(template)) {
int index = 0;
if (insert) {
updateStatement.setString(++index, id);
updateStatement.setString(++index, metric.getGroup());
updateStatement.setString(++index, metric.getName());
updateStatement.setString(++index, metric.getType().name());
updateStatement.setString(++index, metric.getValue());
} else {
updateStatement.setString(++index, metric.getValue());
updateStatement.setString(++index, id);
updateStatement.setString(++index, metric.getGroup());
updateStatement.setString(++index, metric.getName());
updateStatement.setString(++index, metric.getType().name());
}
updateStatement.executeUpdate();
}
}