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;
9 import static java.util.Collections.emptyList;
12 * public class representing the component policy,
13 * described by the next properties:
17 * type (policy type name)
18 * typeUid (policy type uniqueId)
20 * derivedFrom (policy type derivedFrom)
30 public class PolicyDataDefinition extends ToscaDataDefinition {
33 * public constructor by default
35 public PolicyDataDefinition() {
40 * public constructor from superclass
44 public PolicyDataDefinition(Map<String, Object> policy) {
49 * public copy constructor
53 public PolicyDataDefinition(PolicyDataDefinition other) {
54 this.setName(other.getName());
55 this.setUniqueId(other.getUniqueId());
56 this.setPolicyTypeName(other.getPolicyTypeName());
57 this.setPolicyTypeUid(other.getPolicyTypeUid());
58 this.setVersion(other.getVersion());
59 this.setDerivedFrom(other.getDerivedFrom());
60 this.setDescription(other.getDescription());
61 this.setPolicyUUID(other.getPolicyUUID());
62 this.setInvariantUUID(other.getInvariantUUID());
63 this.setInvariantName(other.getInvariantName());
64 this.setComponentName(other.getComponentName());
65 this.setIsFromCsar(other.getIsFromCsar());
66 if (other.getProperties() != null) {
67 this.setProperties(other.getProperties());
69 if (other.getTargets() != null) {
70 this.setTargets(other.getTargets());
74 private void setIsFromCsar(Boolean isFromCsar) {
75 if (isFromCsar == null) {
76 setToscaPresentationValue(JsonPresentationFields.IS_FROM_CSAR, false);
78 setToscaPresentationValue(JsonPresentationFields.IS_FROM_CSAR, isFromCsar);
82 public Boolean getIsFromCsar() {
83 Boolean isFromCsar = (Boolean) getToscaPresentationValue(JsonPresentationFields.IS_FROM_CSAR);
84 return (isFromCsar != null) ? isFromCsar : false;
87 public String getComponentName() {
88 return (String) getToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_NAME);
91 public void setComponentName(String componentName) {
92 setToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_NAME, componentName);
95 public String getInvariantName() {
96 return (String) getToscaPresentationValue(JsonPresentationFields.CI_INVARIANT_NAME);
99 public void setInvariantName(Object invariantName) {
100 setToscaPresentationValue(JsonPresentationFields.CI_INVARIANT_NAME, invariantName);
103 public String getName() {
104 return (String) getToscaPresentationValue(JsonPresentationFields.NAME);
107 public void setName(String name) {
108 setToscaPresentationValue(JsonPresentationFields.NAME, name);
111 public String getUniqueId() {
112 return (String) getToscaPresentationValue(JsonPresentationFields.UNIQUE_ID);
115 public void setUniqueId(String uniqueId) {
116 setToscaPresentationValue(JsonPresentationFields.UNIQUE_ID, uniqueId);
119 public String getPolicyTypeName() {
120 return (String) getToscaPresentationValue(JsonPresentationFields.TYPE);
123 public void setPolicyTypeName(String policyTypeName) {
124 setToscaPresentationValue(JsonPresentationFields.TYPE, policyTypeName);
127 public String getPolicyTypeUid() {
128 return (String) getToscaPresentationValue(JsonPresentationFields.TYPE_UNIQUE_ID);
131 public void setPolicyTypeUid(String policyTypeUid) {
132 setToscaPresentationValue(JsonPresentationFields.TYPE_UNIQUE_ID, policyTypeUid);
135 public String getVersion() {
136 return (String) getToscaPresentationValue(JsonPresentationFields.VERSION);
139 public void setVersion(String version) {
140 setToscaPresentationValue(JsonPresentationFields.VERSION, version);
143 public String getDerivedFrom() {
144 return (String) getToscaPresentationValue(JsonPresentationFields.DERIVED_FROM);
147 public void setDerivedFrom(String derivedFrom) {
148 setToscaPresentationValue(JsonPresentationFields.DERIVED_FROM, derivedFrom);
151 public String getDescription() {
152 return (String) getToscaPresentationValue(JsonPresentationFields.DESCRIPTION);
155 public void setDescription(String description) {
156 setToscaPresentationValue(JsonPresentationFields.DESCRIPTION, description);
159 public String getPolicyUUID() {
160 return (String) getToscaPresentationValue(JsonPresentationFields.UUID);
163 public void setPolicyUUID(String policyUUID) {
164 setToscaPresentationValue(JsonPresentationFields.UUID, policyUUID);
167 public String getInvariantUUID() {
168 return (String) getToscaPresentationValue(JsonPresentationFields.INVARIANT_UUID);
171 public void setInvariantUUID(String invariantUUID) {
172 setToscaPresentationValue(JsonPresentationFields.INVARIANT_UUID, invariantUUID);
175 @SuppressWarnings("unchecked")
176 public List<PropertyDataDefinition> getProperties() {
177 return (List<PropertyDataDefinition>) getToscaPresentationValue(JsonPresentationFields.PROPERTIES);
180 public void setProperties(List<PropertyDataDefinition> properties) {
181 setToscaPresentationValue(JsonPresentationFields.PROPERTIES, properties);
184 @SuppressWarnings("unchecked")
185 public Map<PolicyTargetType, List<String>> getTargets() {
186 return (Map<PolicyTargetType, List<String>>) getToscaPresentationValue(JsonPresentationFields.TARGETS);
189 public void setTargets(Map<PolicyTargetType, List<String>> metadata) {
190 setToscaPresentationValue(JsonPresentationFields.TARGETS, metadata);
193 public List<String> resolveComponentInstanceTargets() {
194 return resolveTargetsByType(PolicyTargetType.COMPONENT_INSTANCES);
197 public List<String> resolveGroupTargets() {
198 return resolveTargetsByType(PolicyTargetType.GROUPS);
201 public boolean containsTarget(String targetId, PolicyTargetType policyTargetType) {
202 return resolveTargetsByType(policyTargetType).contains(targetId);
205 private List<String> resolveTargetsByType(PolicyTargetType targetType) {
206 Map<PolicyTargetType, List<String>> targets = getTargets();
207 return targets == null || !targets.containsKey(targetType) ? emptyList() : targets.get(targetType);