@Override
public void savePredefinedValidationStamp(PredefinedValidationStamp validationStamp) {
try {
getNamedParameterJdbcTemplate().update(
"UPDATE PREDEFINED_VALIDATION_STAMPS SET NAME = :name, DESCRIPTION = :description, DATA_TYPE_ID = :dataTypeId, DATA_TYPE_CONFIG = :dataTypeConfig WHERE ID = :id",
params("name", validationStamp.getName())
.addValue("description", Objects.toString(validationStamp.getDescription(), ""))
.addValue("id", validationStamp.id())
.addValue("dataTypeId", validationStamp.getDataType() != null ? validationStamp.getDataType().getDescriptor().getId() : null)
.addValue("dataTypeConfig", validationStamp.getDataType() != null ? writeJson(validationStamp.getDataType().getConfig()) : null)
);
} catch (DuplicateKeyException ex) {
throw new PredefinedValidationStampNameAlreadyDefinedException(validationStamp.getName());
}
}