From 2ca7552978f5389ef5ed2e5d4be3cb43e446f7c6 Mon Sep 17 00:00:00 2001 From: FrancescoFioraEst Date: Mon, 3 Apr 2023 13:25:15 +0100 Subject: Fix Participant primed status in ACM Fix Participant primed status is not updated correctly in the runtime Issue-ID: POLICY-4625 Change-Id: I6a3ce7b73f5edaeedf84ec43c7f62c526cd99f36 Signed-off-by: FrancescoFioraEst --- .../clamp/models/acm/persistence/provider/AcDefinitionProvider.java | 4 +++- .../policy/clamp/acm/runtime/commissioning/CommissioningProvider.java | 4 +++- .../onap/policy/clamp/acm/runtime/supervision/SupervisionHandler.java | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) 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 71f510a67..dc4a6e302 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 @@ -37,6 +37,7 @@ import org.onap.policy.models.base.PfModelRuntimeException; import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate; import org.springframework.data.domain.Example; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Isolation; import org.springframework.transaction.annotation.Transactional; @Service @@ -97,6 +98,7 @@ public class AcDefinitionProvider { var jpaAcmDefinition = ProviderUtils.getJpaAndValidate(acDefinition, JpaAutomationCompositionDefinition::new, "AutomationCompositionDefinition"); acmDefinitionRepository.save(jpaAcmDefinition); + acmDefinitionRepository.flush(); } /** @@ -141,7 +143,7 @@ public class AcDefinitionProvider { * @param compositionId The UUID of the automation composition definition to delete * @return the automation composition definition */ - @Transactional(readOnly = true) + @Transactional(readOnly = true, isolation = Isolation.READ_UNCOMMITTED) public Optional findAcDefinition(UUID compositionId) { var jpaGet = acmDefinitionRepository.findById(compositionId.toString()); return jpaGet.stream().map(JpaAutomationCompositionDefinition::toAuthorative).findFirst(); diff --git a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/commissioning/CommissioningProvider.java b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/commissioning/CommissioningProvider.java index ca0b5c5ab..d8eddf558 100644 --- a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/commissioning/CommissioningProvider.java +++ b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/commissioning/CommissioningProvider.java @@ -47,7 +47,6 @@ import org.springframework.transaction.annotation.Transactional; * database to the callers. */ @Service -@Transactional @RequiredArgsConstructor public class CommissioningProvider { public static final String AUTOMATION_COMPOSITION_NODE_TYPE = "org.onap.policy.clamp.acm.AutomationComposition"; @@ -81,6 +80,7 @@ public class CommissioningProvider { * @param serviceTemplate the service template * @return the result of the commissioning operation */ + @Transactional public CommissioningResponse createAutomationCompositionDefinition(ToscaServiceTemplate serviceTemplate) { var acmDefinition = acDefinitionProvider.createAutomationCompositionDefinition(serviceTemplate); @@ -95,6 +95,7 @@ public class CommissioningProvider { * @param serviceTemplate the service template * @return the result of the commissioning operation */ + @Transactional public CommissioningResponse updateCompositionDefinition(UUID compositionId, ToscaServiceTemplate serviceTemplate) { if (verifyIfInstanceExists(compositionId)) { throw new PfModelRuntimeException(Status.BAD_REQUEST, @@ -116,6 +117,7 @@ public class CommissioningProvider { * @param compositionId The UUID of the automation composition definition to delete * @return the result of the deletion */ + @Transactional public CommissioningResponse deleteAutomationCompositionDefinition(UUID compositionId) { if (verifyIfInstanceExists(compositionId)) { throw new PfModelRuntimeException(Status.BAD_REQUEST, diff --git a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionHandler.java b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionHandler.java index d6bae3b5b..6a1e12f70 100644 --- a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionHandler.java +++ b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/supervision/SupervisionHandler.java @@ -57,7 +57,7 @@ public class SupervisionHandler { var acDefinition = acDefinitionOpt.get(); if (!AcTypeState.PRIMING.equals(acDefinition.getState()) && !AcTypeState.DEPRIMING.equals(acDefinition.getState())) { - LOGGER.warn("AC Definition {} already primed/deprimed with participant {}", + LOGGER.error("AC Definition {} already primed/deprimed with participant {}", participantPrimeAckMessage.getCompositionId(), participantPrimeAckMessage.getParticipantId()); return; } -- cgit 1.2.3-korg