aboutsummaryrefslogtreecommitdiffstats
path: root/models/src/main/java/org/onap
diff options
context:
space:
mode:
authorsaul.gill <saul.gill@est.tech>2023-02-15 12:39:43 +0000
committersaul.gill <saul.gill@est.tech>2023-02-15 12:55:23 +0000
commita85118152983dbc53ce1d0e14712bc66c4177f65 (patch)
tree5202356c6fb39b4bbb2f78e22c1f26de92eac04a /models/src/main/java/org/onap
parent06339bee0cf891144ca781983ba99d170b10b2b7 (diff)
Add undeploy on deregister (acm-side)
State of Ac Elements associated with participant changed on deregister Issue-ID: POLICY-4499 Change-Id: I54265c13deebd77d654fb843a33f7267d4276b76 Signed-off-by: saul.gill <saul.gill@est.tech>
Diffstat (limited to 'models/src/main/java/org/onap')
-rw-r--r--models/src/main/java/org/onap/policy/clamp/models/acm/persistence/provider/ParticipantProvider.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/provider/ParticipantProvider.java b/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/provider/ParticipantProvider.java
index 65b72c436..25d72cb06 100644
--- a/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/provider/ParticipantProvider.java
+++ b/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/provider/ParticipantProvider.java
@@ -29,6 +29,8 @@ import javax.ws.rs.core.Response.Status;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionElement;
+import org.onap.policy.clamp.models.acm.concepts.DeployState;
+import org.onap.policy.clamp.models.acm.concepts.LockState;
import org.onap.policy.clamp.models.acm.concepts.NodeTemplateState;
import org.onap.policy.clamp.models.acm.concepts.Participant;
import org.onap.policy.clamp.models.acm.persistence.concepts.JpaParticipant;
@@ -180,4 +182,19 @@ public class ParticipantProvider {
return ProviderUtils.asEntityList(nodeTemplateStateRepository
.findByParticipantId(participantId.toString()));
}
+
+ /**
+ * Reset the Deploy and Lock states of all the ac elements associated with a participant.
+ *
+ * @param participantId the participant id associated with the automation composition elements
+ */
+ public void resetParticipantAcElementState(@NonNull final UUID participantId) {
+ var participantAcElementList = automationCompositionElementRepository
+ .findByParticipantId(participantId.toString());
+ participantAcElementList.forEach(e -> {
+ e.setDeployState(DeployState.UNDEPLOYED);
+ e.setLockState(LockState.NONE);
+ });
+ automationCompositionElementRepository.saveAll(participantAcElementList);
+ }
}