Fix issue with non present Element in ACM-intermediary 85/139585/1
authorFrancescoFioraEst <francesco.fiora@est.tech>
Wed, 27 Nov 2024 14:43:10 +0000 (14:43 +0000)
committerFrancesco Fiora <francesco.fiora@est.tech>
Wed, 27 Nov 2024 15:48:46 +0000 (15:48 +0000)
Fix sonar issue with non present Element in ACM-intermediary.

Issue-ID: POLICY-5185
Change-Id: I0530e649b7546205b7e04eccc929e53f6bc69f21
Signed-off-by: FrancescoFioraEst <francesco.fiora@est.tech>
participant/participant-intermediary/src/main/java/org/onap/policy/clamp/acm/participant/intermediary/handler/CacheProvider.java
participant/participant-intermediary/src/test/java/org/onap/policy/clamp/acm/participant/intermediary/handler/CacheProviderTest.java

index b9e33c9..c691502 100644 (file)
@@ -305,7 +305,7 @@ public class CacheProvider {
         var definitions = acElementsDefinitions.get(compositionId);
         Map<UUID, CompositionElementDto> map = new HashMap<>();
         for (var element : automationComposition.getElements().values()) {
-            var definition = getAcElementDefinition(definitions, element.getDefinition());
+            var definition = definitions.get(element.getDefinition());
             var compositionElement = (definition != null)
                     ? new CompositionElementDto(compositionId, element.getDefinition(),
                             definition.getAutomationCompositionElementToscaNodeTemplate().getProperties(),
index 96add20..1d4e3df 100644 (file)
@@ -27,6 +27,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 import java.util.Map;
 import java.util.UUID;
 import org.junit.jupiter.api.Test;
+import org.onap.policy.clamp.acm.participant.intermediary.api.ElementState;
 import org.onap.policy.clamp.acm.participant.intermediary.main.parameters.CommonTestData;
 import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
 
@@ -203,7 +204,12 @@ class CacheProviderTest {
         for (var element : automationComposition.getElements().values()) {
             var compositionElementDto = result.get(element.getId());
             assertEquals(element.getDefinition(), compositionElementDto.elementDefinitionId());
+            assertEquals(ElementState.PRESENT, result.get(element.getId()).state());
         }
+        var element = automationComposition.getElements().values().iterator().next();
+        element.setDefinition(new ToscaConceptIdentifier("NotExist", "0.0.0"));
+        result = cacheProvider.getCompositionElementDtoMap(automationComposition);
+        assertEquals(ElementState.NOT_PRESENT, result.get(element.getId()).state());
     }
 
     @Test