summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap
diff options
context:
space:
mode:
authorSébastien Determe <sebastien.determe@intl.att.com>2020-02-10 09:52:42 +0000
committerGerrit Code Review <gerrit@onap.org>2020-02-10 09:52:42 +0000
commitb398c32d092ca7ca14fa37d22fae6cbc1710e66e (patch)
tree06f46938dfc31e6c891b52b0658d1c091354434a /src/main/java/org/onap
parent899c22fccf12f50a877988c62e30d5e2c7fb7e3c (diff)
parent81c1344c018e995e4f6f906435d0faab3480e13b (diff)
Merge "Update get Dcae Status flow"
Diffstat (limited to 'src/main/java/org/onap')
-rw-r--r--src/main/java/org/onap/clamp/loop/Loop.java19
-rw-r--r--src/main/java/org/onap/clamp/loop/components/external/DcaeComponent.java13
-rw-r--r--src/main/java/org/onap/clamp/loop/template/LoopTemplate.java25
3 files changed, 48 insertions, 9 deletions
diff --git a/src/main/java/org/onap/clamp/loop/Loop.java b/src/main/java/org/onap/clamp/loop/Loop.java
index 339812672..0ac8030d3 100644
--- a/src/main/java/org/onap/clamp/loop/Loop.java
+++ b/src/main/java/org/onap/clamp/loop/Loop.java
@@ -131,7 +131,7 @@ public class Loop extends AuditEntity implements Serializable {
@Expose
@ManyToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH }, fetch = FetchType.EAGER)
- @JoinColumn(name = "loop_template_name")
+ @JoinColumn(name = "loop_template_name", nullable=false)
private LoopTemplate loopTemplate;
private void initializeExternalComponents() {
@@ -253,10 +253,12 @@ public class Loop extends AuditEntity implements Serializable {
}
public Map<String, ExternalComponent> getComponents() {
+ refreshDcaeComponents();
return components;
}
public ExternalComponent getComponent(String componentName) {
+ refreshDcaeComponents();
return this.components.get(componentName);
}
@@ -272,6 +274,17 @@ public class Loop extends AuditEntity implements Serializable {
this.loopTemplate = loopTemplate;
}
+ private void refreshDcaeComponents() {
+ if (!this.loopTemplate.getUniqueBlueprint()) {
+ this.components.remove("DCAE");
+ for (MicroServicePolicy policy : this.microServicePolicies) {
+ if (!this.components.containsKey("DCAE_" + policy.getName())) {
+ this.addComponent(new DcaeComponent(policy.getName()));
+ }
+ }
+ }
+ }
+
/**
* Generate the loop name.
*
@@ -282,9 +295,9 @@ public class Loop extends AuditEntity implements Serializable {
* @return The generated loop name
*/
public static String generateLoopName(String serviceName, String serviceVersion, String resourceName,
- String blueprintFilename) {
+ String blueprintFileName) {
StringBuilder buffer = new StringBuilder("LOOP_").append(serviceName).append("_v").append(serviceVersion)
- .append("_").append(resourceName).append("_").append(blueprintFilename.replaceAll(".yaml", ""));
+ .append("_").append(resourceName).append("_").append(blueprintFileName.replaceAll(".yaml", ""));
return buffer.toString().replace('.', '_').replaceAll(" ", "");
}
diff --git a/src/main/java/org/onap/clamp/loop/components/external/DcaeComponent.java b/src/main/java/org/onap/clamp/loop/components/external/DcaeComponent.java
index 21960e387..7c0e3ccbb 100644
--- a/src/main/java/org/onap/clamp/loop/components/external/DcaeComponent.java
+++ b/src/main/java/org/onap/clamp/loop/components/external/DcaeComponent.java
@@ -48,6 +48,8 @@ public class DcaeComponent extends ExternalComponent {
private static final String DCAE_SERVICETYPE_ID = "serviceTypeId";
private static final String DCAE_INPUTS = "inputs";
+ private String name;
+
public static final ExternalComponentState BLUEPRINT_DEPLOYED = new ExternalComponentState("BLUEPRINT_DEPLOYED",
"The DCAE blueprint has been found in the DCAE inventory but not yet instancianted for this loop");
public static final ExternalComponentState PROCESSING_MICROSERVICE_INSTALLATION = new ExternalComponentState(
@@ -73,13 +75,20 @@ public class DcaeComponent extends ExternalComponent {
public DcaeComponent() {
super(BLUEPRINT_DEPLOYED);
+ this.name = "DCAE";
+ }
+
+ public DcaeComponent(String name) {
+ super(BLUEPRINT_DEPLOYED);
+ this.name = "DCAE_" + name;
}
@Override
public String getComponentName() {
- return "DCAE";
+ return name;
}
+
/**
* Convert the json response to a DcaeOperationStatusResponse.
*
@@ -170,7 +179,7 @@ public class DcaeComponent extends ExternalComponent {
/**
* Return the uninstallation payload for DCAE.
*
- * @param microServicePolicy The microServicePolicy object
+ * @param policy The microServicePolicy object
* @return The payload in string (json)
*/
public static String getUndeployPayload(MicroServicePolicy policy) {
diff --git a/src/main/java/org/onap/clamp/loop/template/LoopTemplate.java b/src/main/java/org/onap/clamp/loop/template/LoopTemplate.java
index b8adebae9..3e90c1e5b 100644
--- a/src/main/java/org/onap/clamp/loop/template/LoopTemplate.java
+++ b/src/main/java/org/onap/clamp/loop/template/LoopTemplate.java
@@ -70,7 +70,6 @@ public class LoopTemplate extends AuditEntity implements Serializable {
@Column(columnDefinition = "MEDIUMTEXT", name = "blueprint_yaml")
private String blueprint;
- @Expose
@Column(columnDefinition = "MEDIUMTEXT", name = "svg_representation")
private String svgRepresentation;
@@ -88,6 +87,10 @@ public class LoopTemplate extends AuditEntity implements Serializable {
@Column(name = "maximum_instances_allowed")
private Integer maximumInstancesAllowed;
+ @Expose
+ @Column(name = "unique_blueprint", columnDefinition = "boolean default false")
+ private boolean uniqueBlueprint;
+
/**
* name getter.
*
@@ -140,6 +143,11 @@ public class LoopTemplate extends AuditEntity implements Serializable {
*/
public void setBlueprint(String blueprint) {
this.blueprint = blueprint;
+ if (blueprint == null) {
+ this.uniqueBlueprint = false;
+ } else {
+ this.uniqueBlueprint = true;
+ }
}
/**
@@ -245,6 +253,15 @@ public class LoopTemplate extends AuditEntity implements Serializable {
}
/**
+ * uniqueBlueprint getter.
+ *
+ * @return the uniqueBlueprint
+ */
+ public boolean getUniqueBlueprint() {
+ return uniqueBlueprint;
+ }
+
+ /**
* Default constructor for serialization.
*/
public LoopTemplate() {
@@ -265,7 +282,7 @@ public class LoopTemplate extends AuditEntity implements Serializable {
public LoopTemplate(String name, String blueprint, String svgRepresentation, Integer maxInstancesAllowed,
Service service) {
this.name = name;
- this.blueprint = blueprint;
+ this.setBlueprint(blueprint);
this.svgRepresentation = svgRepresentation;
this.maximumInstancesAllowed = maxInstancesAllowed;
@@ -312,10 +329,10 @@ public class LoopTemplate extends AuditEntity implements Serializable {
* @return The generated loop template name
*/
public static String generateLoopTemplateName(String serviceName, String serviceVersion, String resourceName,
- String blueprintFilename) {
+ String blueprintFileName) {
StringBuilder buffer = new StringBuilder("LOOP_TEMPLATE_").append(serviceName).append("_v")
.append(serviceVersion).append("_").append(resourceName).append("_")
- .append(blueprintFilename.replaceAll(".yaml", ""));
+ .append(blueprintFileName.replaceAll(".yaml", ""));
return buffer.toString().replace('.', '_').replaceAll(" ", "");
}
}