aboutsummaryrefslogtreecommitdiffstats
path: root/models
diff options
context:
space:
mode:
authorFrancescoFioraEst <francesco.fiora@est.tech>2025-01-30 11:28:26 +0000
committerFrancesco Fiora <francesco.fiora@est.tech>2025-02-20 16:30:17 +0000
commitf25247386d9cf1e669c9ce0fc2ad0d31216b566c (patch)
treea20b442ed68a61f757a73b89b742326e624a0c17 /models
parentd895513c055b2bc8a9eb1a7a1cd6511dfad93463 (diff)
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 <francesco.fiora@est.tech>
Diffstat (limited to 'models')
-rw-r--r--models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationComposition.java25
-rw-r--r--models/src/main/java/org/onap/policy/clamp/models/acm/persistence/provider/AcDefinitionProvider.java2
-rw-r--r--models/src/main/java/org/onap/policy/clamp/models/acm/persistence/repository/AutomationCompositionElementRepository.java10
-rw-r--r--models/src/test/java/org/onap/policy/clamp/models/acm/persistence/provider/AcDefinitionProviderTest.java5
4 files changed, 12 insertions, 30 deletions
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<JpaAutomationCompositionElement, String> {
- @NonNull
- @Override
- @Lock(LockModeType.PESSIMISTIC_READ)
- JpaAutomationCompositionElement getReferenceById(@NonNull String id);
-
List<JpaAutomationCompositionElement> 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");
}