summaryrefslogtreecommitdiffstats
path: root/common-be/src/main/java/org/openecomp/sdc/be/datatypes/elements/PolicyDataDefinition.java
diff options
context:
space:
mode:
Diffstat (limited to 'common-be/src/main/java/org/openecomp/sdc/be/datatypes/elements/PolicyDataDefinition.java')
-rw-r--r--common-be/src/main/java/org/openecomp/sdc/be/datatypes/elements/PolicyDataDefinition.java204
1 files changed, 204 insertions, 0 deletions
diff --git a/common-be/src/main/java/org/openecomp/sdc/be/datatypes/elements/PolicyDataDefinition.java b/common-be/src/main/java/org/openecomp/sdc/be/datatypes/elements/PolicyDataDefinition.java
new file mode 100644
index 0000000000..fd34428855
--- /dev/null
+++ b/common-be/src/main/java/org/openecomp/sdc/be/datatypes/elements/PolicyDataDefinition.java
@@ -0,0 +1,204 @@
+package org.openecomp.sdc.be.datatypes.elements;
+
+import org.openecomp.sdc.be.datatypes.enums.JsonPresentationFields;
+import org.openecomp.sdc.be.datatypes.tosca.ToscaDataDefinition;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * public class representing the component policy,
+ * described by the next properties:
+ *
+ * name
+ * uniqueId
+ * type (policy type name)
+ * typeUid (policy type uniqueId)
+ * version (version)
+ * derivedFrom (policy type derivedFrom)
+ * description
+ * policyUUID
+ * invariantUUID
+ * members
+ * metadata
+ * properties
+ * targets
+ * isFromCsar
+ */
+public class PolicyDataDefinition extends ToscaDataDefinition implements Serializable{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -4705371580363581255L;
+
+ /**
+ * public constructor by default
+ */
+ public PolicyDataDefinition() {
+ super();
+ }
+
+ /**
+ * public constructor from superclass
+ * @param policy
+ */
+ public PolicyDataDefinition(Map<String, Object> policy) {
+ super(policy);
+ }
+
+ /**
+ * public copy constructor
+ * @param other
+ */
+ public PolicyDataDefinition(PolicyDataDefinition other){
+ this.setName(other.getName());
+ this.setUniqueId(other.getUniqueId());
+ this.setPolicyTypeName(other.getPolicyTypeName());
+ this.setPolicyTypeUid(other.getPolicyTypeUid());
+ this.setVersion(other.getVersion());
+ this.setDerivedFrom(other.getDerivedFrom());
+ this.setDescription(other.getDescription());
+ this.setPolicyUUID(other.getPolicyUUID());
+ this.setInvariantUUID(other.getInvariantUUID());
+ this.setInvariantName(other.getInvariantName());
+ this.setComponentName(other.getComponentName());
+ this.setIsFromCsar(other.getIsFromCsar());
+ if (other.getProperties() != null) {
+ this.setProperties(other.getProperties());
+ }
+ if (other.getTargets() != null) {
+ this.setTargets(other.getTargets());
+ }
+ }
+
+ private void setIsFromCsar(Boolean isFromCsar) {
+ if(isFromCsar == null){
+ setToscaPresentationValue(JsonPresentationFields.IS_FROM_CSAR, false);
+ } else {
+ setToscaPresentationValue(JsonPresentationFields.IS_FROM_CSAR, isFromCsar);
+ }
+ }
+
+ public Boolean getIsFromCsar() {
+ Boolean isFromCsar = (Boolean) getToscaPresentationValue(JsonPresentationFields.IS_FROM_CSAR);
+ return ( isFromCsar != null ) ? isFromCsar : false;
+ }
+
+ public String getComponentName() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_NAME);
+ }
+
+ public void setComponentName(String componentName) {
+ setToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_NAME, componentName);
+ }
+
+ public String getInvariantName() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.CI_INVARIANT_NAME);
+ }
+
+ public void setInvariantName(Object invariantName) {
+ setToscaPresentationValue(JsonPresentationFields.CI_INVARIANT_NAME, invariantName);
+ }
+
+ public String getName() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.NAME);
+ }
+
+ public void setName(String name) {
+ setToscaPresentationValue(JsonPresentationFields.NAME, name);
+ }
+
+ public String getUniqueId() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.UNIQUE_ID);
+ }
+
+ public void setUniqueId(String uniqueId) {
+ setToscaPresentationValue(JsonPresentationFields.UNIQUE_ID, uniqueId);
+ }
+
+ public String getPolicyTypeName() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.TYPE);
+ }
+
+ public void setPolicyTypeName(String policyTypeName) {
+ setToscaPresentationValue(JsonPresentationFields.TYPE, policyTypeName);
+ }
+
+ public String getPolicyTypeUid() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.TYPE_UNIQUE_ID);
+ }
+
+ public void setPolicyTypeUid(String policyTypeUid) {
+ setToscaPresentationValue(JsonPresentationFields.TYPE_UNIQUE_ID, policyTypeUid);
+ }
+
+ public String getVersion() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.VERSION);
+ }
+
+ public void setVersion(String version) {
+ setToscaPresentationValue(JsonPresentationFields.VERSION, version);
+ }
+
+ public String getDerivedFrom() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.DERIVED_FROM);
+ }
+
+ public void setDerivedFrom(String derivedFrom) {
+ setToscaPresentationValue(JsonPresentationFields.DERIVED_FROM, derivedFrom);
+ }
+
+ public String getDescription() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.DESCRIPTION);
+ }
+
+ public void setDescription(String description) {
+ setToscaPresentationValue(JsonPresentationFields.DESCRIPTION, description);
+ }
+
+ public String getPolicyUUID() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.UUID);
+ }
+
+ public void setPolicyUUID(String policyUUID) {
+ setToscaPresentationValue(JsonPresentationFields.UUID, policyUUID);
+ }
+ public String getInvariantUUID() {
+ return (String) getToscaPresentationValue(JsonPresentationFields.INVARIANT_UUID);
+ }
+
+ public void setInvariantUUID(String invariantUUID) {
+ setToscaPresentationValue(JsonPresentationFields.INVARIANT_UUID, invariantUUID);
+ }
+
+ @SuppressWarnings("unchecked")
+ public List<PropertyDataDefinition> getProperties() {
+ return (List<PropertyDataDefinition> ) getToscaPresentationValue(JsonPresentationFields.PROPERTIES);
+ }
+
+ public void setProperties(List<PropertyDataDefinition> properties) {
+ setToscaPresentationValue(JsonPresentationFields.PROPERTIES, properties);
+ }
+
+ @SuppressWarnings("unchecked")
+ public Map<PolicyTargetType, List<String>> getTargets() {
+ return (Map<PolicyTargetType, List<String>>) getToscaPresentationValue(JsonPresentationFields.TARGETS);
+ }
+
+ public void setTargets(Map<PolicyTargetType, List<String>> metadata) {
+ setToscaPresentationValue(JsonPresentationFields.TARGETS, metadata);
+ }
+
+ public List<String> resolveComponentInstanceTargets() {
+ Map<PolicyTargetType, List<String>> targets = getTargets();
+ return targets == null ? null: targets.get(PolicyTargetType.COMPONENT_INSTANCES);
+ }
+
+ public boolean containsCmptInstanceAsTarget(String cmptInstId) {
+ List<String> componentInstanceTargets = resolveComponentInstanceTargets();
+ return componentInstanceTargets != null && componentInstanceTargets.contains(cmptInstId);
+ }
+
+}