diff --git a/veo-persistence/src/main/java/org/veo/persistence/entity/jpa/RiskAffectedData.java b/veo-persistence/src/main/java/org/veo/persistence/entity/jpa/RiskAffectedData.java index bbc104a7f..5b49de561 100644 --- a/veo-persistence/src/main/java/org/veo/persistence/entity/jpa/RiskAffectedData.java +++ b/veo-persistence/src/main/java/org/veo/persistence/entity/jpa/RiskAffectedData.java @@ -242,6 +242,7 @@ public boolean removeFromDomains(Domain domain) { boolean removed = super.removeFromDomains(domain); if (removed) { Set.copyOf(getRisks()).stream().forEach(risk -> risk.removeFromDomains(domain)); + setImpactValues(domain, Collections.emptyMap()); } return removed; } diff --git a/veo-persistence/src/main/java/org/veo/persistence/entity/jpa/ScenarioData.java b/veo-persistence/src/main/java/org/veo/persistence/entity/jpa/ScenarioData.java index 1a3bdaa52..d54b78f2c 100644 --- a/veo-persistence/src/main/java/org/veo/persistence/entity/jpa/ScenarioData.java +++ b/veo-persistence/src/main/java/org/veo/persistence/entity/jpa/ScenarioData.java @@ -124,6 +124,15 @@ public Set getRiskDefinitions(Domain domain) { .collect(Collectors.toSet()); } + @Override + public boolean removeFromDomains(Domain domain) { + boolean removed = super.removeFromDomains(domain); + if (removed) { + setPotentialProbability(domain, Collections.emptyMap()); + } + return removed; + } + @Override public boolean removeRiskDefinition(RiskDefinitionRef riskDefinition, Domain domain) { return findAspectByDomain(riskValuesAspects, domain) diff --git a/veo-persistence/src/main/java/org/veo/persistence/entity/jpa/ScopeData.java b/veo-persistence/src/main/java/org/veo/persistence/entity/jpa/ScopeData.java index a70c141a3..96aa95573 100644 --- a/veo-persistence/src/main/java/org/veo/persistence/entity/jpa/ScopeData.java +++ b/veo-persistence/src/main/java/org/veo/persistence/entity/jpa/ScopeData.java @@ -140,6 +140,15 @@ public Optional getRiskDefinition(Domain domain) { .map(ScopeRiskValuesAspectData::getRiskDefinitionRef); } + @Override + public boolean removeFromDomains(Domain domain) { + boolean removed = super.removeFromDomains(domain); + if (removed) { + removeAspectByDomain(scopeRiskValuesAspects, domain); + } + return removed; + } + @Override public void transferToDomain(Domain oldDomain, Domain newDomain) { findAspectByDomain(scopeRiskValuesAspects, oldDomain).ifPresent(a -> a.setDomain(newDomain));