aboutsummaryrefslogtreecommitdiffstats
path: root/models
diff options
context:
space:
mode:
authorFrancescoFioraEst <francesco.fiora@est.tech>2025-02-14 11:35:17 +0000
committerFrancescoFioraEst <francesco.fiora@est.tech>2025-02-14 15:24:04 +0000
commitc3c94eef2854ec8d552ac3059e693cbc352737a5 (patch)
treee175dc5026748d2f1187e357ba774ff0aaf3e7fa /models
parente3c94609eba45f2c4e10ab52024709bd9a216aca (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')
-rw-r--r--models/src/main/java/org/onap/policy/clamp/models/acm/persistence/provider/AcDefinitionProvider.java20
-rw-r--r--models/src/test/java/org/onap/policy/clamp/models/acm/persistence/provider/AcDefinitionProviderTest.java7
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