summaryrefslogtreecommitdiffstats
path: root/models/src/main
diff options
context:
space:
mode:
authorsaul.gill <saul.gill@est.tech>2023-01-30 15:44:58 +0000
committersaul.gill <saul.gill@est.tech>2023-01-31 15:29:37 +0000
commite66b2e5e4202e0f19e1460d5856d04c9c4e2c065 (patch)
treef6f149179d019c83b83ecae05daf4cd598a310a8 /models/src/main
parent73d0c089fe3e3019e8caa54a60a4c76de5edd72a (diff)
Added deployState to Automation Composition
Added deployState and lockState Issue-ID: POLICY-4506 Change-Id: If7fa2cc1f3c729de5dc261e2b527b03c0009e99c Signed-off-by: saul.gill <saul.gill@est.tech>
Diffstat (limited to 'models/src/main')
-rw-r--r--models/src/main/java/org/onap/policy/clamp/models/acm/concepts/AutomationComposition.java10
-rw-r--r--models/src/main/java/org/onap/policy/clamp/models/acm/concepts/AutomationCompositionElement.java8
-rw-r--r--models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationComposition.java35
-rw-r--r--models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationCompositionElement.java34
4 files changed, 81 insertions, 6 deletions
diff --git a/models/src/main/java/org/onap/policy/clamp/models/acm/concepts/AutomationComposition.java b/models/src/main/java/org/onap/policy/clamp/models/acm/concepts/AutomationComposition.java
index 83c51eadb..18a62ae94 100644
--- a/models/src/main/java/org/onap/policy/clamp/models/acm/concepts/AutomationComposition.java
+++ b/models/src/main/java/org/onap/policy/clamp/models/acm/concepts/AutomationComposition.java
@@ -1,6 +1,6 @@
/*-
* ============LICENSE_START=======================================================
- * Copyright (C) 2021-2022 Nordix Foundation.
+ * Copyright (C) 2021-2023 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -49,6 +49,12 @@ public class AutomationComposition extends ToscaEntity implements Comparable<Aut
@NonNull
private AutomationCompositionOrderedState orderedState = AutomationCompositionOrderedState.UNINITIALISED;
+ @NonNull
+ private DeployState deployState = DeployState.UNDEPLOYED;
+
+ @NonNull
+ private LockState lockState = LockState.LOCKED;
+
private Map<UUID, AutomationCompositionElement> elements;
@NonNull
@@ -65,6 +71,8 @@ public class AutomationComposition extends ToscaEntity implements Comparable<Aut
this.compositionId = otherAutomationComposition.compositionId;
this.state = otherAutomationComposition.state;
this.orderedState = otherAutomationComposition.orderedState;
+ this.deployState = otherAutomationComposition.deployState;
+ this.lockState = otherAutomationComposition.lockState;
this.elements = PfUtils.mapMap(otherAutomationComposition.elements, AutomationCompositionElement::new);
this.primed = otherAutomationComposition.primed;
}
diff --git a/models/src/main/java/org/onap/policy/clamp/models/acm/concepts/AutomationCompositionElement.java b/models/src/main/java/org/onap/policy/clamp/models/acm/concepts/AutomationCompositionElement.java
index b153ef508..ab234f604 100644
--- a/models/src/main/java/org/onap/policy/clamp/models/acm/concepts/AutomationCompositionElement.java
+++ b/models/src/main/java/org/onap/policy/clamp/models/acm/concepts/AutomationCompositionElement.java
@@ -53,6 +53,12 @@ public class AutomationCompositionElement {
private AutomationCompositionState state = AutomationCompositionState.UNINITIALISED;
@NonNull
+ private DeployState deployState = DeployState.UNDEPLOYED;
+
+ @NonNull
+ private LockState lockState = LockState.LOCKED;
+
+ @NonNull
private AutomationCompositionOrderedState orderedState = AutomationCompositionOrderedState.UNINITIALISED;
private ToscaServiceTemplate toscaServiceTemplateFragment;
@@ -77,5 +83,7 @@ public class AutomationCompositionElement {
this.toscaServiceTemplateFragment = otherElement.toscaServiceTemplateFragment;
this.description = otherElement.description;
this.properties = PfUtils.mapMap(otherElement.properties, UnaryOperator.identity());
+ this.deployState = otherElement.deployState;
+ this.lockState = otherElement.lockState;
}
}
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 f9cc880d0..00f83122d 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-2022 Nordix Foundation.
+ * Copyright (C) 2021-2023 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -43,6 +43,8 @@ import org.apache.commons.lang3.ObjectUtils;
import org.onap.policy.clamp.models.acm.concepts.AutomationComposition;
import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionOrderedState;
import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionState;
+import org.onap.policy.clamp.models.acm.concepts.DeployState;
+import org.onap.policy.clamp.models.acm.concepts.LockState;
import org.onap.policy.common.parameters.annotations.NotNull;
import org.onap.policy.common.parameters.annotations.Valid;
import org.onap.policy.models.base.PfAuthorative;
@@ -88,6 +90,14 @@ public class JpaAutomationComposition extends Validated
private AutomationCompositionOrderedState orderedState;
@Column
+ @NotNull
+ private DeployState deployState;
+
+ @Column
+ @NotNull
+ private LockState lockState;
+
+ @Column
private String description;
@Column(columnDefinition = "TINYINT DEFAULT 1")
@@ -103,7 +113,7 @@ public class JpaAutomationComposition extends Validated
*/
public JpaAutomationComposition() {
this(UUID.randomUUID().toString(), new PfConceptKey(), UUID.randomUUID().toString(),
- AutomationCompositionState.UNINITIALISED, new ArrayList<>());
+ AutomationCompositionState.UNINITIALISED, new ArrayList<>(), DeployState.UNDEPLOYED, LockState.LOCKED);
}
/**
@@ -117,12 +127,15 @@ public class JpaAutomationComposition extends Validated
*/
public JpaAutomationComposition(@NonNull final String instanceId, @NonNull final PfConceptKey key,
@NonNull final String compositionId, @NonNull final AutomationCompositionState state,
- @NonNull final List<JpaAutomationCompositionElement> elements) {
+ @NonNull final List<JpaAutomationCompositionElement> elements,
+ @NonNull final DeployState deployState, @NonNull final LockState lockState) {
this.instanceId = instanceId;
this.name = key.getName();
this.version = key.getVersion();
this.compositionId = compositionId;
this.state = state;
+ this.deployState = deployState;
+ this.lockState = lockState;
this.elements = elements;
}
@@ -138,6 +151,8 @@ public class JpaAutomationComposition extends Validated
this.compositionId = copyConcept.compositionId;
this.state = copyConcept.state;
this.orderedState = copyConcept.orderedState;
+ this.deployState = copyConcept.deployState;
+ this.lockState = copyConcept.lockState;
this.description = copyConcept.description;
this.elements = PfUtils.mapList(copyConcept.elements, JpaAutomationCompositionElement::new);
this.primed = copyConcept.primed;
@@ -162,6 +177,8 @@ public class JpaAutomationComposition extends Validated
automationComposition.setCompositionId(UUID.fromString(compositionId));
automationComposition.setState(state);
automationComposition.setOrderedState(orderedState != null ? orderedState : state.asOrderedState());
+ automationComposition.setDeployState(deployState);
+ automationComposition.setLockState(lockState);
automationComposition.setDescription(description);
automationComposition.setPrimed(primed);
automationComposition.setElements(new LinkedHashMap<>(this.elements.size()));
@@ -180,6 +197,8 @@ public class JpaAutomationComposition extends Validated
this.compositionId = automationComposition.getCompositionId().toString();
this.state = automationComposition.getState();
this.orderedState = automationComposition.getOrderedState();
+ this.deployState = automationComposition.getDeployState();
+ this.lockState = automationComposition.getLockState();
this.description = automationComposition.getDescription();
this.primed = automationComposition.getPrimed();
@@ -231,6 +250,16 @@ public class JpaAutomationComposition extends Validated
return result;
}
+ result = ObjectUtils.compare(deployState, other.deployState);
+ if (result != 0) {
+ return result;
+ }
+
+ result = ObjectUtils.compare(lockState, other.lockState);
+ if (result != 0) {
+ return result;
+ }
+
result = ObjectUtils.compare(description, other.description);
if (result != 0) {
return result;
diff --git a/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationCompositionElement.java b/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationCompositionElement.java
index 743bb7fd3..4020243bb 100644
--- a/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationCompositionElement.java
+++ b/models/src/main/java/org/onap/policy/clamp/models/acm/persistence/concepts/JpaAutomationCompositionElement.java
@@ -42,6 +42,8 @@ import org.apache.commons.lang3.ObjectUtils;
import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionElement;
import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionOrderedState;
import org.onap.policy.clamp.models.acm.concepts.AutomationCompositionState;
+import org.onap.policy.clamp.models.acm.concepts.DeployState;
+import org.onap.policy.clamp.models.acm.concepts.LockState;
import org.onap.policy.common.parameters.annotations.NotNull;
import org.onap.policy.common.parameters.annotations.Valid;
import org.onap.policy.models.base.PfAuthorative;
@@ -91,6 +93,14 @@ public class JpaAutomationCompositionElement extends Validated
private AutomationCompositionOrderedState orderedState;
@Column
+ @NotNull
+ private DeployState deployState;
+
+ @Column
+ @NotNull
+ private LockState lockState;
+
+ @Column
private String description;
@Lob
@@ -113,7 +123,8 @@ public class JpaAutomationCompositionElement extends Validated
* @param instanceId The id of the automation composition instance
*/
public JpaAutomationCompositionElement(@NonNull final String elementId, @NonNull final String instanceId) {
- this(elementId, instanceId, new PfConceptKey(), AutomationCompositionState.UNINITIALISED);
+ this(elementId, instanceId, new PfConceptKey(),
+ AutomationCompositionState.UNINITIALISED, DeployState.UNDEPLOYED, LockState.LOCKED);
}
/**
@@ -126,11 +137,14 @@ public class JpaAutomationCompositionElement extends Validated
*/
public JpaAutomationCompositionElement(@NonNull final String elementId, @NonNull final String instanceId,
@NonNull final PfConceptKey definition,
- @NonNull final AutomationCompositionState state) {
+ @NonNull final AutomationCompositionState state,
+ @NonNull final DeployState deployState, @NonNull final LockState lockState) {
this.elementId = elementId;
this.instanceId = instanceId;
this.definition = definition;
this.state = state;
+ this.deployState = deployState;
+ this.lockState = lockState;
}
/**
@@ -147,6 +161,8 @@ public class JpaAutomationCompositionElement extends Validated
this.orderedState = copyConcept.orderedState;
this.description = copyConcept.description;
this.properties = (copyConcept.properties != null ? new LinkedHashMap<>(copyConcept.properties) : null);
+ this.deployState = copyConcept.deployState;
+ this.lockState = copyConcept.lockState;
}
/**
@@ -169,6 +185,8 @@ public class JpaAutomationCompositionElement extends Validated
element.setOrderedState(orderedState != null ? orderedState : state.asOrderedState());
element.setDescription(description);
element.setProperties(PfUtils.mapMap(properties, UnaryOperator.identity()));
+ element.setDeployState(deployState);
+ element.setLockState(lockState);
return element;
}
@@ -181,6 +199,8 @@ public class JpaAutomationCompositionElement extends Validated
this.orderedState = element.getOrderedState();
this.description = element.getDescription();
properties = PfUtils.mapMap(element.getProperties(), UnaryOperator.identity());
+ this.deployState = element.getDeployState();
+ this.lockState = element.getLockState();
}
@Override
@@ -222,6 +242,16 @@ public class JpaAutomationCompositionElement extends Validated
return result;
}
+ result = ObjectUtils.compare(deployState, other.deployState);
+ if (result != 0) {
+ return result;
+ }
+
+ result = ObjectUtils.compare(lockState, other.lockState);
+ if (result != 0) {
+ return result;
+ }
+
return ObjectUtils.compare(description, other.description);
}
}