import org.hibernate.annotations.Type;
import org.hibernate.annotations.TypeDef;
import org.hibernate.annotations.TypeDefs;
+import org.onap.clamp.dao.model.jsontype.StringJsonUserType;
import org.onap.clamp.loop.log.LoopLog;
import org.onap.clamp.policy.microservice.MicroServicePolicy;
import org.onap.clamp.policy.operational.OperationalPolicy;
-import org.onap.clamp.dao.model.jsontype.StringJsonUserType;
@Entity
@Table(name = "loops")
public class Loop implements Serializable {
/**
- *
+ * The serial version id.
*/
private static final long serialVersionUID = -286522707701388642L;
@Column(name = "dcae_blueprint_id")
private String dcaeBlueprintId;
- @Column(name = "svg_representation")
+ @Column(columnDefinition = "MEDIUMTEXT", name = "svg_representation")
private String svgRepresentation;
@Expose
@Column(columnDefinition = "json", name = "global_properties_json")
private JsonObject globalPropertiesJson;
- @Column(nullable = false, name = "blueprint_yaml")
+ @Expose
+ @Type(type = "json")
+ @Column(columnDefinition = "json", name = "model_properties_json")
+ private JsonObject modelPropertiesJson;
+
+ @Column(columnDefinition = "MEDIUMTEXT", nullable = false, name = "blueprint_yaml")
private String blueprint;
@Expose
@Expose
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
- @JoinTable(name = "loops_microservicepolicies", joinColumns = @JoinColumn(name = "loop_id"), inverseJoinColumns = @JoinColumn(name = "microservicepolicy_id"))
+ @JoinTable(name = "loops_microservicepolicies", joinColumns = @JoinColumn(name = "loop_id"),
+ inverseJoinColumns = @JoinColumn(name = "microservicepolicy_id"))
private Set<MicroServicePolicy> microServicePolicies = new HashSet<>();
@Expose
public Loop() {
}
+ /**
+ * Constructor.
+ */
public Loop(String name, String blueprint, String svgRepresentation) {
this.name = name;
this.svgRepresentation = svgRepresentation;
return dcaeDeploymentId;
}
- void setDcaeDeploymentId(String dcaeDeploymentId) {
+ public void setDcaeDeploymentId(String dcaeDeploymentId) {
this.dcaeDeploymentId = dcaeDeploymentId;
}
return dcaeDeploymentStatusUrl;
}
- void setDcaeDeploymentStatusUrl(String dcaeDeploymentStatusUrl) {
+ public void setDcaeDeploymentStatusUrl(String dcaeDeploymentStatusUrl) {
this.dcaeDeploymentStatusUrl = dcaeDeploymentStatusUrl;
}
this.blueprint = blueprint;
}
- LoopState getLastComputedState() {
+ public LoopState getLastComputedState() {
return lastComputedState;
}
- void setLastComputedState(LoopState lastComputedState) {
+ public void setLastComputedState(LoopState lastComputedState) {
this.lastComputedState = lastComputedState;
}
this.operationalPolicies = operationalPolicies;
}
- Set<MicroServicePolicy> getMicroServicePolicies() {
+ public Set<MicroServicePolicy> getMicroServicePolicies() {
return microServicePolicies;
}
return dcaeBlueprintId;
}
- public void setDcaeBlueprintId(String dcaeBlueprintId) {
+ void setDcaeBlueprintId(String dcaeBlueprintId) {
this.dcaeBlueprintId = dcaeBlueprintId;
}
+ public JsonObject getModelPropertiesJson() {
+ return modelPropertiesJson;
+ }
+
+ void setModelPropertiesJson(JsonObject modelPropertiesJson) {
+ this.modelPropertiesJson = modelPropertiesJson;
+ }
+
+ /**
+ * Generate the loop name.
+ * @param serviceName The service name
+ * @param serviceVersion The service version
+ * @param resourceName The resource name
+ * @param blueprintFileName The blueprint file name
+ * @return The generated loop name
+ */
+ public static String generateLoopName(String serviceName, String serviceVersion, String resourceName,
+ String blueprintFilename) {
+ StringBuilder buffer = new StringBuilder("LOOP_").append(serviceName).append("_v").append(serviceVersion)
+ .append("_").append(resourceName).append("_").append(blueprintFilename.replaceAll(".yaml", ""));
+ return buffer.toString().replace('.', '_').replaceAll(" ", "");
+ }
+
@Override
public int hashCode() {
final int prime = 31;
@Override
public boolean equals(Object obj) {
- if (this == obj)
+ if (this == obj) {
return true;
- if (obj == null)
+ }
+ if (obj == null) {
return false;
- if (getClass() != obj.getClass())
+ }
+ if (getClass() != obj.getClass()) {
return false;
+ }
Loop other = (Loop) obj;
if (name == null) {
- if (other.name != null)
+ if (other.name != null) {
return false;
- } else if (!name.equals(other.name))
+ }
+ } else if (!name.equals(other.name)) {
return false;
+ }
return true;
}