From 09d8a86e2126ccc9a12456ddead12a5fe8f58697 Mon Sep 17 00:00:00 2001 From: brunomilitzer Date: Mon, 30 Aug 2021 18:40:01 +0100 Subject: Fixed Delete Instance Properties Endpoint Fixed issue regarding that control loops was not getting instantiated Fixed issue regarding state change that was not receiving paramaters Added appropriate Camel Endpoints Unit tests will be applied on POLICY-3568 and POLICY-3567 Issue-ID: POLICY-3558 Change-Id: I11a1093bdb16651fe1c0ad8e267ded5390267a30 Signed-off-by: brunomilitzer --- .../models/controlloop/concepts/ControlLoops.java | 3 +- .../persistence/provider/ControlLoopProvider.java | 34 ++++++++++++++++++---- .../instantiation/InstancePropertiesResponse.java | 3 +- 3 files changed, 32 insertions(+), 8 deletions(-) (limited to 'models') diff --git a/models/src/main/java/org/onap/policy/clamp/controlloop/models/controlloop/concepts/ControlLoops.java b/models/src/main/java/org/onap/policy/clamp/controlloop/models/controlloop/concepts/ControlLoops.java index 691ce95db..4ab406f3b 100644 --- a/models/src/main/java/org/onap/policy/clamp/controlloop/models/controlloop/concepts/ControlLoops.java +++ b/models/src/main/java/org/onap/policy/clamp/controlloop/models/controlloop/concepts/ControlLoops.java @@ -18,6 +18,7 @@ package org.onap.policy.clamp.controlloop.models.controlloop.concepts; +import java.util.ArrayList; import java.util.List; import lombok.AllArgsConstructor; import lombok.EqualsAndHashCode; @@ -34,7 +35,7 @@ import org.onap.policy.models.base.PfUtils; @AllArgsConstructor @EqualsAndHashCode public class ControlLoops { - private List controlLoopList; + private List controlLoopList = new ArrayList<>(); /** * Copy constructor, does a deep copy. diff --git a/models/src/main/java/org/onap/policy/clamp/controlloop/models/controlloop/persistence/provider/ControlLoopProvider.java b/models/src/main/java/org/onap/policy/clamp/controlloop/models/controlloop/persistence/provider/ControlLoopProvider.java index 762b927ab..b4f99a51e 100644 --- a/models/src/main/java/org/onap/policy/clamp/controlloop/models/controlloop/persistence/provider/ControlLoopProvider.java +++ b/models/src/main/java/org/onap/policy/clamp/controlloop/models/controlloop/persistence/provider/ControlLoopProvider.java @@ -45,6 +45,7 @@ import org.onap.policy.models.tosca.authorative.concepts.ToscaNodeTemplate; import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate; import org.onap.policy.models.tosca.authorative.concepts.ToscaTypedEntityFilter; import org.onap.policy.models.tosca.simple.concepts.JpaToscaNodeTemplate; +import org.onap.policy.models.tosca.simple.concepts.JpaToscaNodeTemplates; import org.springframework.stereotype.Component; /** @@ -197,17 +198,38 @@ public class ControlLoopProvider extends AbstractModelsProvider { Map savedNodeTemplates = new HashMap<>(); - serviceTemplate.getToscaTopologyTemplate().getNodeTemplates().forEach((key, template) -> { - var jpaToscaNodeTemplate = new JpaToscaNodeTemplate(template); - - getPfDao().create(jpaToscaNodeTemplate); + var jpaToscaNodeTemplates = new JpaToscaNodeTemplates(); + jpaToscaNodeTemplates.fromAuthorative(Collections.singletonList(serviceTemplate.getToscaTopologyTemplate() + .getNodeTemplates())); - savedNodeTemplates.put(key, template); - }); + getPfDao().create(jpaToscaNodeTemplates); + serviceTemplate.getToscaTopologyTemplate().getNodeTemplates().forEach(savedNodeTemplates::put); return savedNodeTemplates; } + /** + * Deletes Instance Properties on the database. + * + * @param filteredToscaNodeTemplateMap filtered node templates map to delete + * @param filteredToscaNodeTemplateList filtered node template list to delete + */ + public void deleteInstanceProperties( + Map filteredToscaNodeTemplateMap, + List filteredToscaNodeTemplateList) { + + var jpaToscaNodeTemplates = new JpaToscaNodeTemplates(); + jpaToscaNodeTemplates.fromAuthorative(Collections.singletonList(filteredToscaNodeTemplateMap)); + + getPfDao().create(jpaToscaNodeTemplates); + + filteredToscaNodeTemplateList.forEach(template -> { + var jpaToscaNodeTemplate = new JpaToscaNodeTemplate(template); + + getPfDao().delete(jpaToscaNodeTemplate); + }); + } + /** * Get Node Templates. * diff --git a/models/src/main/java/org/onap/policy/clamp/controlloop/models/messages/rest/instantiation/InstancePropertiesResponse.java b/models/src/main/java/org/onap/policy/clamp/controlloop/models/messages/rest/instantiation/InstancePropertiesResponse.java index eed339447..d8974d6e3 100644 --- a/models/src/main/java/org/onap/policy/clamp/controlloop/models/messages/rest/instantiation/InstancePropertiesResponse.java +++ b/models/src/main/java/org/onap/policy/clamp/controlloop/models/messages/rest/instantiation/InstancePropertiesResponse.java @@ -19,6 +19,7 @@ package org.onap.policy.clamp.controlloop.models.messages.rest.instantiation; +import java.util.ArrayList; import java.util.List; import lombok.Getter; import lombok.Setter; @@ -33,5 +34,5 @@ import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier; @Setter @ToString(callSuper = true) public class InstancePropertiesResponse extends SimpleResponse { - private List affectedInstanceProperties; + private List affectedInstanceProperties = new ArrayList<>(); } -- cgit 1.2.3-korg