2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.openecomp.policy.controlloop.policy;
23 import java.util.Collections;
25 import java.util.UUID;
29 private String id = UUID.randomUUID().toString();
31 private String description;
33 private String recipe;
34 private Map<String, String> payload;
35 private Target target;
36 private OperationsAccumulateParams operationsAccumulateParams;
37 private Integer retry = 0;
38 private Integer timeout = 300;
39 private String success = FinalResult.FINAL_SUCCESS.toString();
40 private String failure = FinalResult.FINAL_FAILURE.toString();
41 private String failure_retries = FinalResult.FINAL_FAILURE_RETRIES.toString();
42 private String failure_timeout = FinalResult.FINAL_FAILURE_TIMEOUT.toString();
43 private String failure_exception = FinalResult.FINAL_FAILURE_EXCEPTION.toString();
44 private String failure_guard = FinalResult.FINAL_FAILURE_GUARD.toString();
48 //Does Nothing Empty Constructor
51 public String getId() {
55 public void setId(String id) {
59 public String getName() {
63 public void setName(String name) {
67 public String getDescription() {
71 public void setDescription(String description) {
72 this.description = description;
75 public String getActor() {
79 public void setActor(String actor) {
83 public String getRecipe() {
87 public void setRecipe(String recipe) {
91 public Map<String, String> getPayload() {
95 public void setPayload(Map<String, String> payload) {
96 this.payload = payload;
99 public Target getTarget() {
103 public void setTarget(Target target) {
104 this.target = target;
107 public OperationsAccumulateParams getOperationsAccumulateParams() {
108 return operationsAccumulateParams;
111 public void setOperationsAccumulateParams(OperationsAccumulateParams operationsAccumulateParams) {
112 this.operationsAccumulateParams = operationsAccumulateParams;
115 public Integer getRetry() {
119 public void setRetry(Integer retry) {
123 public Integer getTimeout() {
127 public void setTimeout(Integer timeout) {
128 this.timeout = timeout;
131 public String getSuccess() {
135 public void setSuccess(String success) {
136 this.success = success;
139 public String getFailure() {
143 public void setFailure(String failure) {
144 this.failure = failure;
147 public String getFailure_retries() {
148 return failure_retries;
151 public void setFailure_retries(String failure_retries) {
152 this.failure_retries = failure_retries;
155 public String getFailure_timeout() {
156 return failure_timeout;
159 public void setFailure_timeout(String failure_timeout) {
160 this.failure_timeout = failure_timeout;
163 public String getFailure_exception() {
164 return failure_exception;
167 public void setFailure_exception(String failure_exception) {
168 this.failure_exception = failure_exception;
171 public String getFailure_guard() {
172 return failure_guard;
175 public void setFailure_guard(String failure_guard) {
176 this.failure_guard = failure_guard;
179 public Policy(String id) {
183 public Policy(String name, String actor, String recipe, Map<String, String> payload, Target target) {
186 this.recipe = recipe;
187 this.target = target;
188 if (payload != null) {
189 this.payload = Collections.unmodifiableMap(payload);
193 public Policy(String name, String actor, String recipe, Map<String, String> payload, Target target, Integer retries, Integer timeout) {
194 this(name, actor, recipe, payload, target);
195 this.retry = retries;
196 this.timeout = timeout;
199 public Policy(String id, String name, String description, String actor, Map<String, String> payload, Target target, String recipe, Integer retries, Integer timeout) {
200 this(name, actor, recipe, payload, target, retries, timeout);
202 this.description = description;
205 public Policy(Policy policy) {
207 this.name = policy.name;
208 this.description = policy.description;
209 this.actor = policy.actor;
210 this.recipe = policy.recipe;
211 if (policy.payload != null) {
212 this.payload = Collections.unmodifiableMap(policy.payload);
214 this.target = policy.target;
215 this.operationsAccumulateParams = policy.operationsAccumulateParams;
216 this.retry = policy.retry;
217 this.timeout = policy.timeout;
218 this.success = policy.success;
219 this.failure = policy.failure;
220 this.failure_exception = policy.failure_exception;
221 this.failure_guard = policy.failure_guard;
222 this.failure_retries = policy.failure_retries;
223 this.failure_timeout = policy.failure_timeout;
226 public boolean isValid() {
227 if(id==null || name==null || actor==null|| recipe==null || target==null){
234 public String toString() {
235 return "Policy [id=" + id + ", name=" + name + ", description=" + description + ", actor=" + actor + ", recipe="
236 + recipe + ", payload=" + payload + ", target=" + target + ", operationsAccumulateParams=" + operationsAccumulateParams + ", retry=" + retry + ", timeout=" + timeout
237 + ", success=" + success + ", failure=" + failure + ", failure_retries=" + failure_retries
238 + ", failure_timeout=" + failure_timeout + ", failure_exception=" + failure_exception + ", failure_guard=" + failure_guard + "]";
242 public int hashCode() {
243 final int prime = 31;
245 result = prime * result + ((actor == null) ? 0 : actor.hashCode());
246 result = prime * result + ((description == null) ? 0 : description.hashCode());
247 result = prime * result + ((failure == null) ? 0 : failure.hashCode());
248 result = prime * result + ((failure_exception == null) ? 0 : failure_exception.hashCode());
249 result = prime * result + ((failure_guard == null) ? 0 : failure_guard.hashCode());
250 result = prime * result + ((failure_retries == null) ? 0 : failure_retries.hashCode());
251 result = prime * result + ((failure_timeout == null) ? 0 : failure_timeout.hashCode());
252 result = prime * result + ((id == null) ? 0 : id.hashCode());
253 result = prime * result + ((name == null) ? 0 : name.hashCode());
254 result = prime * result + ((payload == null) ? 0 : payload.hashCode());
255 result = prime * result + ((recipe == null) ? 0 : recipe.hashCode());
256 result = prime * result + ((retry == null) ? 0 : retry.hashCode());
257 result = prime * result + ((success == null) ? 0 : success.hashCode());
258 result = prime * result + ((target == null) ? 0 : target.hashCode());
259 result = prime * result + ((operationsAccumulateParams == null) ? 0 : operationsAccumulateParams.hashCode());
260 result = prime * result + ((timeout == null) ? 0 : timeout.hashCode());
265 public boolean equals(Object obj) {
270 if (getClass() != obj.getClass())
272 Policy other = (Policy) obj;
273 if (actor != other.actor)
275 if (description == null) {
276 if (other.description != null)
278 } else if (!description.equals(other.description))
280 if (failure == null) {
281 if (other.failure != null)
283 } else if (!failure.equals(other.failure))
285 if (failure_exception == null) {
286 if (other.failure_exception != null)
288 } else if (!failure_exception.equals(other.failure_exception))
290 if (failure_guard == null) {
291 if (other.failure_guard != null)
293 } else if (!failure_guard.equals(other.failure_guard))
295 if (failure_retries == null) {
296 if (other.failure_retries != null)
298 } else if (!failure_retries.equals(other.failure_retries))
300 if (failure_timeout == null) {
301 if (other.failure_timeout != null)
303 } else if (!failure_timeout.equals(other.failure_timeout))
306 if (other.id != null)
308 } else if (!id.equals(other.id))
311 if (other.name != null)
313 } else if (!name.equals(other.name))
315 if (payload == null) {
316 if (other.payload != null)
318 } else if (!payload.equals(other.payload))
320 if (recipe == null) {
321 if (other.recipe != null)
323 } else if (!recipe.equals(other.recipe))
326 if (other.retry != null)
328 } else if (!retry.equals(other.retry))
330 if (success == null) {
331 if (other.success != null)
333 } else if (!success.equals(other.success))
335 if (operationsAccumulateParams == null) {
336 if (other.operationsAccumulateParams != null)
338 } else if (!operationsAccumulateParams.equals(other.operationsAccumulateParams))
340 if (target == null) {
341 if (other.target != null)
343 } else if (!target.equals(other.target))
345 if (timeout == null) {
346 if (other.timeout != null)
348 } else if (!timeout.equals(other.timeout))