1 package org.openecomp.sdc.be.datatypes.elements;
3 import static java.util.Collections.emptyList;
7 import org.openecomp.sdc.be.datatypes.enums.JsonPresentationFields;
10 * public class representing the component policy,
11 * described by the next properties:
15 * type (policy type name)
16 * typeUid (policy type uniqueId)
18 * derivedFrom (policy type derivedFrom)
28 public class PolicyDataDefinition extends PropertyDataDefinition {
31 * public constructor by default
33 public PolicyDataDefinition() {
37 public PolicyDataDefinition(PropertyDataDefinition propertyDataDefinition) {
38 super(propertyDataDefinition);
42 * public constructor from superclass
46 public PolicyDataDefinition(Map<String, Object> policy) {
51 * public copy constructor
55 public PolicyDataDefinition(PolicyDataDefinition other) {
57 this.setName(other.getName());
58 this.setUniqueId(other.getUniqueId());
59 this.setPolicyTypeName(other.getPolicyTypeName());
60 this.setPolicyTypeUid(other.getPolicyTypeUid());
61 this.setVersion(other.getVersion());
62 this.setDerivedFrom(other.getDerivedFrom());
63 this.setDescription(other.getDescription());
64 this.setPolicyUUID(other.getPolicyUUID());
65 this.setInvariantUUID(other.getInvariantUUID());
66 this.setInvariantName(other.getInvariantName());
67 this.setComponentName(other.getComponentName());
68 this.setIsFromCsar(other.getIsFromCsar());
69 this.setValue(other.getValue());
70 this.setOwnerId(other.getOwnerId());
71 this.setType(other.getType());
72 this.setInstanceUniqueId(other.getInstanceUniqueId());
73 this.setInputPath(other.getInputPath());
74 if (other.getProperties() != null) {
75 this.setProperties(other.getProperties());
77 if (other.getTargets() != null) {
78 this.setTargets(other.getTargets());
82 private void setIsFromCsar(Boolean isFromCsar) {
83 if (isFromCsar == null) {
84 setToscaPresentationValue(JsonPresentationFields.IS_FROM_CSAR, false);
86 setToscaPresentationValue(JsonPresentationFields.IS_FROM_CSAR, isFromCsar);
90 public Boolean getIsFromCsar() {
91 Boolean isFromCsar = (Boolean) getToscaPresentationValue(JsonPresentationFields.IS_FROM_CSAR);
92 return (isFromCsar != null) ? isFromCsar : false;
95 public String getComponentName() {
96 return (String) getToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_NAME);
99 public void setComponentName(String componentName) {
100 setToscaPresentationValue(JsonPresentationFields.CI_COMPONENT_NAME, componentName);
103 public String getInvariantName() {
104 return (String) getToscaPresentationValue(JsonPresentationFields.CI_INVARIANT_NAME);
107 public void setInvariantName(Object invariantName) {
108 setToscaPresentationValue(JsonPresentationFields.CI_INVARIANT_NAME, invariantName);
111 public String getPolicyTypeName() {
112 return (String) getToscaPresentationValue(JsonPresentationFields.TYPE);
115 public void setPolicyTypeName(String policyTypeName) {
116 setToscaPresentationValue(JsonPresentationFields.TYPE, policyTypeName);
119 public String getPolicyTypeUid() {
120 return (String) getToscaPresentationValue(JsonPresentationFields.TYPE_UNIQUE_ID);
123 public void setPolicyTypeUid(String policyTypeUid) {
124 setToscaPresentationValue(JsonPresentationFields.TYPE_UNIQUE_ID, policyTypeUid);
127 public String getVersion() {
128 return (String) getToscaPresentationValue(JsonPresentationFields.VERSION);
131 public void setVersion(String version) {
132 setToscaPresentationValue(JsonPresentationFields.VERSION, version);
135 public String getDerivedFrom() {
136 return (String) getToscaPresentationValue(JsonPresentationFields.DERIVED_FROM);
139 public void setDerivedFrom(String derivedFrom) {
140 setToscaPresentationValue(JsonPresentationFields.DERIVED_FROM, derivedFrom);
143 public String getDescription() {
144 return (String) getToscaPresentationValue(JsonPresentationFields.DESCRIPTION);
147 public void setDescription(String description) {
148 setToscaPresentationValue(JsonPresentationFields.DESCRIPTION, description);
151 public String getPolicyUUID() {
152 return (String) getToscaPresentationValue(JsonPresentationFields.UUID);
155 public void setPolicyUUID(String policyUUID) {
156 setToscaPresentationValue(JsonPresentationFields.UUID, policyUUID);
159 public String getInvariantUUID() {
160 return (String) getToscaPresentationValue(JsonPresentationFields.INVARIANT_UUID);
163 public void setInvariantUUID(String invariantUUID) {
164 setToscaPresentationValue(JsonPresentationFields.INVARIANT_UUID, invariantUUID);
167 @SuppressWarnings("unchecked")
168 public List<PropertyDataDefinition> getProperties() {
169 return (List<PropertyDataDefinition>) getToscaPresentationValue(JsonPresentationFields.PROPERTIES);
172 public void setProperties(List<PropertyDataDefinition> properties) {
173 setToscaPresentationValue(JsonPresentationFields.PROPERTIES, properties);
176 @SuppressWarnings("unchecked")
177 public Map<PolicyTargetType, List<String>> getTargets() {
178 return (Map<PolicyTargetType, List<String>>) getToscaPresentationValue(JsonPresentationFields.TARGETS);
181 public void setTargets(Map<PolicyTargetType, List<String>> metadata) {
182 setToscaPresentationValue(JsonPresentationFields.TARGETS, metadata);
185 public List<String> resolveComponentInstanceTargets() {
186 return resolveTargetsByType(PolicyTargetType.COMPONENT_INSTANCES);
189 public List<String> resolveGroupTargets() {
190 return resolveTargetsByType(PolicyTargetType.GROUPS);
193 public boolean containsTarget(String targetId, PolicyTargetType policyTargetType) {
194 return resolveTargetsByType(policyTargetType).contains(targetId);
197 private List<String> resolveTargetsByType(PolicyTargetType targetType) {
198 Map<PolicyTargetType, List<String>> targets = getTargets();
199 return targets == null || !targets.containsKey(targetType) ? emptyList() : targets.get(targetType);