1 package org.openecomp.sdc.be.datatypes.elements;
3 import org.openecomp.sdc.be.datatypes.enums.JsonPresentationFields;
4 import org.openecomp.sdc.be.datatypes.tosca.ToscaDataDefinition;
6 import java.io.Serializable;
11 * public class representing the component policy,
12 * described by the next properties:
16 * type (policy type name)
17 * typeUid (policy type uniqueId)
19 * derivedFrom (policy type derivedFrom)
29 public class PolicyDataDefinition extends ToscaDataDefinition implements Serializable{
34 private static final long serialVersionUID = -4705371580363581255L;
37 * public constructor by default
39 public PolicyDataDefinition() {
44 * public constructor from superclass
47 public PolicyDataDefinition(Map<String, Object> policy) {
52 * public copy constructor
55 public PolicyDataDefinition(PolicyDataDefinition other){
56 this.setName(other.getName());
57 this.setUniqueId(other.getUniqueId());
58 this.setPolicyTypeName(other.getPolicyTypeName());
59 this.setPolicyTypeUid(other.getPolicyTypeUid());
60 this.setVersion(other.getVersion());
61 this.setDerivedFrom(other.getDerivedFrom());
62 this.setDescription(other.getDescription());
63 this.setPolicyUUID(other.getPolicyUUID());
64 this.setInvariantUUID(other.getInvariantUUID());
65 this.setInvariantName(other.getInvariantName());
66 this.setComponentName(other.getComponentName());
67 this.setIsFromCsar(other.getIsFromCsar());
68 if (other.getProperties() != null) {
69 this.setProperties(other.getProperties());
71 if (other.getTargets() != null) {
72 this.setTargets(other.getTargets());
76 private void setIsFromCsar(Boolean isFromCsar) {
77 if(isFromCsar == null){
78 setToscaPresentationValue(JsonPresentationFields.IS_FROM_CSAR, false);
80 setToscaPresentationValue(JsonPresentationFields.IS_FROM_CSAR, isFromCsar);
84 public Boolean getIsFromCsar() {
85 Boolean isFromCsar = (Boolean) getToscaPresentationValue(JsonPresentationFields.IS_FROM_CSAR);
86 return ( isFromCsar != null ) ? isFromCsar : false;
89 public String getComponentName() {
90 return (String) getToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_NAME);
93 public void setComponentName(String componentName) {
94 setToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_NAME, componentName);
97 public String getInvariantName() {
98 return (String) getToscaPresentationValue(JsonPresentationFields.CI_INVARIANT_NAME);
101 public void setInvariantName(Object invariantName) {
102 setToscaPresentationValue(JsonPresentationFields.CI_INVARIANT_NAME, invariantName);
105 public String getName() {
106 return (String) getToscaPresentationValue(JsonPresentationFields.NAME);
109 public void setName(String name) {
110 setToscaPresentationValue(JsonPresentationFields.NAME, name);
113 public String getUniqueId() {
114 return (String) getToscaPresentationValue(JsonPresentationFields.UNIQUE_ID);
117 public void setUniqueId(String uniqueId) {
118 setToscaPresentationValue(JsonPresentationFields.UNIQUE_ID, uniqueId);
121 public String getPolicyTypeName() {
122 return (String) getToscaPresentationValue(JsonPresentationFields.TYPE);
125 public void setPolicyTypeName(String policyTypeName) {
126 setToscaPresentationValue(JsonPresentationFields.TYPE, policyTypeName);
129 public String getPolicyTypeUid() {
130 return (String) getToscaPresentationValue(JsonPresentationFields.TYPE_UNIQUE_ID);
133 public void setPolicyTypeUid(String policyTypeUid) {
134 setToscaPresentationValue(JsonPresentationFields.TYPE_UNIQUE_ID, policyTypeUid);
137 public String getVersion() {
138 return (String) getToscaPresentationValue(JsonPresentationFields.VERSION);
141 public void setVersion(String version) {
142 setToscaPresentationValue(JsonPresentationFields.VERSION, version);
145 public String getDerivedFrom() {
146 return (String) getToscaPresentationValue(JsonPresentationFields.DERIVED_FROM);
149 public void setDerivedFrom(String derivedFrom) {
150 setToscaPresentationValue(JsonPresentationFields.DERIVED_FROM, derivedFrom);
153 public String getDescription() {
154 return (String) getToscaPresentationValue(JsonPresentationFields.DESCRIPTION);
157 public void setDescription(String description) {
158 setToscaPresentationValue(JsonPresentationFields.DESCRIPTION, description);
161 public String getPolicyUUID() {
162 return (String) getToscaPresentationValue(JsonPresentationFields.UUID);
165 public void setPolicyUUID(String policyUUID) {
166 setToscaPresentationValue(JsonPresentationFields.UUID, policyUUID);
168 public String getInvariantUUID() {
169 return (String) getToscaPresentationValue(JsonPresentationFields.INVARIANT_UUID);
172 public void setInvariantUUID(String invariantUUID) {
173 setToscaPresentationValue(JsonPresentationFields.INVARIANT_UUID, invariantUUID);
176 @SuppressWarnings("unchecked")
177 public List<PropertyDataDefinition> getProperties() {
178 return (List<PropertyDataDefinition> ) getToscaPresentationValue(JsonPresentationFields.PROPERTIES);
181 public void setProperties(List<PropertyDataDefinition> properties) {
182 setToscaPresentationValue(JsonPresentationFields.PROPERTIES, properties);
185 @SuppressWarnings("unchecked")
186 public Map<PolicyTargetType, List<String>> getTargets() {
187 return (Map<PolicyTargetType, List<String>>) getToscaPresentationValue(JsonPresentationFields.TARGETS);
190 public void setTargets(Map<PolicyTargetType, List<String>> metadata) {
191 setToscaPresentationValue(JsonPresentationFields.TARGETS, metadata);
194 public List<String> resolveComponentInstanceTargets() {
195 Map<PolicyTargetType, List<String>> targets = getTargets();
196 return targets == null ? null: targets.get(PolicyTargetType.COMPONENT_INSTANCES);
199 public boolean containsCmptInstanceAsTarget(String cmptInstId) {
200 List<String> componentInstanceTargets = resolveComponentInstanceTargets();
201 return componentInstanceTargets != null && componentInstanceTargets.contains(cmptInstId);