@Override public ID newPredefinedValidationStamp(PredefinedValidationStamp stamp) { try { return ID.of( dbCreate( "INSERT INTO PREDEFINED_VALIDATION_STAMPS(NAME, DESCRIPTION, DATA_TYPE_ID, DATA_TYPE_CONFIG) VALUES (:name, :description, :dataTypeId, :dataTypeConfig)", params("name", stamp.getName()) .addValue("description", Objects.toString(stamp.getDescription(), "")) .addValue("dataTypeId", stamp.getDataType() != null ? stamp.getDataType().getDescriptor().getId() : null) .addValue("dataTypeConfig", stamp.getDataType() != null ? writeJson(stamp.getDataType().getConfig()) : null) ) ); } catch (DuplicateKeyException ex) { throw new PredefinedValidationStampNameAlreadyDefinedException(stamp.getName()); } }
@Override public void savePredefinedValidationStamp(PredefinedValidationStamp validationStamp) { // Update 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()); } }