diff options
author | 2025-02-14 11:35:17 +0000 | |
---|---|---|
committer | 2025-02-14 15:24:04 +0000 | |
commit | c3c94eef2854ec8d552ac3059e693cbc352737a5 (patch) | |
tree | e175dc5026748d2f1187e357ba774ff0aaf3e7fa /models | |
parent | e3c94609eba45f2c4e10ab52024709bd9a216aca (diff) |
Add monitoring implementation for synchronization events in ACM-r
Issue-ID: POLICY-5277
Change-Id: Ie4c8a11b27a110b02972f6dd5a81c0be1ba8de3a
Signed-off-by: FrancescoFioraEst <francesco.fiora@est.tech>
Diffstat (limited to 'models')
2 files changed, 23 insertions, 4 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 bb05c46c6..6de27f76f 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 @@ -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. @@ -51,6 +51,8 @@ import org.springframework.transaction.annotation.Transactional; @RequiredArgsConstructor public class AcDefinitionProvider { + private static final String NAME = "AutomationCompositionDefinition"; + private final AutomationCompositionDefinitionRepository acmDefinitionRepository; private final NodeTemplateStateRepository nodeTemplateStateRepository; @@ -121,8 +123,8 @@ public class AcDefinitionProvider { */ public void updateAcDefinition(AutomationCompositionDefinition acDefinition, String toscaCompositionName) { var jpaAcmDefinition = ProviderUtils.getJpaAndValidate(acDefinition, JpaAutomationCompositionDefinition::new, - "AutomationCompositionDefinition"); - var validationResult = new BeanValidationResult("AutomationCompositionDefinition", acDefinition); + NAME); + var validationResult = new BeanValidationResult(NAME, acDefinition); ToscaServiceTemplateValidation.validate(validationResult, jpaAcmDefinition.getServiceTemplate(), toscaCompositionName); if (! validationResult.isValid()) { @@ -133,6 +135,18 @@ public class AcDefinitionProvider { } /** + * Update Ac Definition with unchanged service template. + * + * @param acDefinition the AutomationCompositionDefinition to be updated + */ + public void updateAcDefinitionState(AutomationCompositionDefinition acDefinition) { + var jpaAcmDefinition = ProviderUtils.getJpaAndValidate(acDefinition, JpaAutomationCompositionDefinition::new, + NAME); + acmDefinitionRepository.save(jpaAcmDefinition); + acmDefinitionRepository.flush(); + } + + /** * Update Ac Definition AcTypeState, StateChangeResult and restarting. * * @param compositionId The UUID of the automation composition definition to update 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 95811917d..b6fbe093b 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 @@ -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. @@ -23,6 +23,7 @@ package org.onap.policy.clamp.models.acm.persistence.provider; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.clearInvocations; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -197,6 +198,10 @@ class AcDefinitionProviderTest { acDefinitionProvider.updateAcDefinitionState(acmDefinition.getCompositionId(), AcTypeState.PRIMED, StateChangeResult.NO_ERROR); verify(acmDefinitionRepository).save(jpa); + + clearInvocations(acmDefinitionRepository); + acDefinitionProvider.updateAcDefinitionState(acmDefinition); + verify(acmDefinitionRepository).save(any()); } @Test |