From f25247386d9cf1e669c9ce0fc2ad0d31216b566c Mon Sep 17 00:00:00 2001 From: FrancescoFioraEst Date: Thu, 30 Jan 2025 11:28:26 +0000 Subject: Improvement related to Updating ACM-r message Improvement related to Updating ACM-r message, and add transactional message handling. Issue-ID: POLICY-5287 Change-Id: Ib1e1a3c6873694e26536257b0346f703dcc89648 Signed-off-by: FrancescoFioraEst --- .../concepts/JpaAutomationComposition.java | 25 +++++++--------------- .../persistence/provider/AcDefinitionProvider.java | 2 +- .../AutomationCompositionElementRepository.java | 10 +-------- .../provider/AcDefinitionProviderTest.java | 5 ++--- 4 files changed, 12 insertions(+), 30 deletions(-) (limited to 'models') diff --git a/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationComposition.java b/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationComposition.java index 001f2e7f3..cb05eda65 100644 --- a/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationComposition.java +++ b/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationComposition.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2021-2024 Nordix Foundation. + * Copyright (C) 2021-2025 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -207,22 +207,6 @@ public class JpaAutomationComposition extends Validated @Override public void fromAuthorative(@NonNull final AutomationComposition automationComposition) { - this.fromAuthorativeBase(automationComposition); - this.elements = new ArrayList<>(automationComposition.getElements().size()); - for (var elementEntry : automationComposition.getElements().entrySet()) { - var jpaAutomationCompositionElement = - new JpaAutomationCompositionElement(elementEntry.getKey().toString(), this.instanceId); - jpaAutomationCompositionElement.fromAuthorative(elementEntry.getValue()); - this.elements.add(jpaAutomationCompositionElement); - } - } - - /** - * Set an instance of the persist concept to the equivalent values as the other concept without copy the elements. - * - * @param automationComposition the authorative concept - */ - public void fromAuthorativeBase(@NonNull final AutomationComposition automationComposition) { this.instanceId = automationComposition.getInstanceId().toString(); this.name = automationComposition.getName(); this.version = automationComposition.getVersion(); @@ -237,6 +221,13 @@ public class JpaAutomationComposition extends Validated this.subState = automationComposition.getSubState(); this.description = automationComposition.getDescription(); this.stateChangeResult = automationComposition.getStateChangeResult(); + this.elements = new ArrayList<>(automationComposition.getElements().size()); + for (var elementEntry : automationComposition.getElements().entrySet()) { + var jpaAutomationCompositionElement = + new JpaAutomationCompositionElement(elementEntry.getKey().toString(), this.instanceId); + jpaAutomationCompositionElement.fromAuthorative(elementEntry.getValue()); + this.elements.add(jpaAutomationCompositionElement); + } } @Override diff --git a/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/provider/AcDefinitionProvider.java b/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/provider/AcDefinitionProvider.java index bd99a756b..b8f7be93e 100644 --- a/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/provider/AcDefinitionProvider.java +++ b/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/provider/AcDefinitionProvider.java @@ -148,7 +148,7 @@ public class AcDefinitionProvider { * @param compositionId The UUID of the automation composition definition to delete * @return the TOSCA service template that was deleted */ - public ToscaServiceTemplate deleteAcDefintion(UUID compositionId) { + public ToscaServiceTemplate deleteAcDefinition(UUID compositionId) { var jpaDelete = acmDefinitionRepository.findById(compositionId.toString()); if (jpaDelete.isEmpty()) { String errorMessage = "delete of Automation Composition Definition \"" + compositionId diff --git a/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/repository/AutomationCompositionElementRepository.java b/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/repository/AutomationCompositionElementRepository.java index d0a996e20..e375e1f34 100644 --- a/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/repository/AutomationCompositionElementRepository.java +++ b/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/repository/AutomationCompositionElementRepository.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2024 Nordix Foundation. + * Copyright (C) 2025 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,19 +20,11 @@ package org.onap.policy.clamp.models.acm.persistence.repository; -import jakarta.persistence.LockModeType; import java.util.List; import org.onap.policy.clamp.models.acm.persistence.concepts.JpaAutomationCompositionElement; import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.Lock; -import org.springframework.lang.NonNull; public interface AutomationCompositionElementRepository extends JpaRepository { - @NonNull - @Override - @Lock(LockModeType.PESSIMISTIC_READ) - JpaAutomationCompositionElement getReferenceById(@NonNull String id); - List findByParticipantId(String participantId); } diff --git a/models/src/test/java/org/onap/policy/clamp/models/acm/persistence/provider/AcDefinitionProviderTest.java b/models/src/test/java/org/onap/policy/clamp/models/acm/persistence/provider/AcDefinitionProviderTest.java index bc0a0939e..3940dc51c 100644 --- a/models/src/test/java/org/onap/policy/clamp/models/acm/persistence/provider/AcDefinitionProviderTest.java +++ b/models/src/test/java/org/onap/policy/clamp/models/acm/persistence/provider/AcDefinitionProviderTest.java @@ -244,8 +244,7 @@ class AcDefinitionProviderTest { .thenReturn(Optional.of(new JpaAutomationCompositionDefinition(acmDefinition))); var acDefinitionProvider = new AcDefinitionProvider(acmDefinitionRepository); - var result = acDefinitionProvider.deleteAcDefintion(acmDefinition.getCompositionId()); - + var result = acDefinitionProvider.deleteAcDefinition(acmDefinition.getCompositionId()); assertThat(result).isEqualTo(docServiceTemplate.toAuthorative()); } @@ -254,7 +253,7 @@ class AcDefinitionProviderTest { var compositionId = UUID.randomUUID(); var acmDefinitionRepository = mock(AutomationCompositionDefinitionRepository.class); var acDefinitionProvider = new AcDefinitionProvider(acmDefinitionRepository); - assertThatThrownBy(() -> acDefinitionProvider.deleteAcDefintion(compositionId)) + assertThatThrownBy(() -> acDefinitionProvider.deleteAcDefinition(compositionId)) .hasMessage("delete of Automation Composition Definition \"" + compositionId + "\" failed, Automation Composition Definition does not exist"); } -- cgit 1.2.3-korg