Check for required fields before update (#13308)

This commit is contained in:
Pere Miquel Brull 2023-09-22 15:27:17 +02:00 committed by GitHub
parent a7dd7012ea
commit 880907f8c8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 22 additions and 10 deletions

View File

@ -335,11 +335,14 @@ public class MlModelRepository extends EntityRepository<MlModel> {
private void updateAlgorithm(MlModel origModel, MlModel updatedModel) {
// Updating an algorithm should be flagged for an ML Model
// Algorithm is a required field. Cannot be null.
if (updated.getAlgorithm() != null) {
if (recordChange("algorithm", origModel.getAlgorithm(), updatedModel.getAlgorithm())) {
// Mark the EntityUpdater version change to major
majorVersionChange = true;
}
}
}
private void updateMlFeatures(MlModel origModel, MlModel updatedModel) {
List<MlFeature> addedList = new ArrayList<>();

View File

@ -235,6 +235,8 @@ public class QueryRepository extends EntityRepository<Query> {
// Store Query Used in Relation
recordChange("usedBy", original.getUsedBy(), updated.getUsedBy(), true);
storeQueryUsedIn(updated.getId(), added, deleted);
// Query is a required field. Cannot be removed.
if (updated.getQuery() != null) {
String originalChecksum = EntityUtil.hash(original.getQuery());
String updatedChecksum = EntityUtil.hash(updated.getQuery());
if (!originalChecksum.equals(updatedChecksum)) {
@ -244,3 +246,4 @@ public class QueryRepository extends EntityRepository<Query> {
}
}
}
}

View File

@ -112,7 +112,10 @@ public class StoredProcedureRepository extends EntityRepository<StoredProcedure>
@Override
public void entitySpecificUpdate() {
// storedProcedureCode is a required field. Cannot be null.
if (updated.getStoredProcedureCode() != null) {
recordChange("storedProcedureCode", original.getStoredProcedureCode(), updated.getStoredProcedureCode());
}
recordChange("sourceUrl", original.getSourceUrl(), updated.getSourceUrl());
}
}

View File

@ -383,7 +383,10 @@ public class TopicRepository extends EntityRepository<Topic> {
public void entitySpecificUpdate() {
recordChange("maximumMessageSize", original.getMaximumMessageSize(), updated.getMaximumMessageSize());
recordChange("minimumInSyncReplicas", original.getMinimumInSyncReplicas(), updated.getMinimumInSyncReplicas());
// Partitions is a required field. Cannot be null.
if (updated.getPartitions() != null) {
recordChange("partitions", original.getPartitions(), updated.getPartitions());
}
recordChange("replicationFactor", original.getReplicationFactor(), updated.getReplicationFactor());
recordChange("retentionTime", original.getRetentionTime(), updated.getRetentionTime());
recordChange("retentionSize", original.getRetentionSize(), updated.getRetentionSize());