* ============LICENSE_START=======================================================
* policy-yaml
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
package org.onap.policy.controlloop.policy;
+import java.io.Serializable;
import java.util.Collections;
import java.util.Map;
import java.util.UUID;
-public class Policy {
-
- public String id = UUID.randomUUID().toString();
- public String name;
- public String description;
- public String actor;
- public String recipe;
- public Map<String, String> payload;
- public Target target;
- public OperationsAccumulateParams operationsAccumulateParams;
- public Integer retry = 0;
- public Integer timeout = 300;
- public String success = FinalResult.FINAL_SUCCESS.toString();
- public String failure = FinalResult.FINAL_FAILURE.toString();
- public String failure_retries = FinalResult.FINAL_FAILURE_RETRIES.toString();
- public String failure_timeout = FinalResult.FINAL_FAILURE_TIMEOUT.toString();
- public String failure_exception = FinalResult.FINAL_FAILURE_EXCEPTION.toString();
- public String failure_guard = FinalResult.FINAL_FAILURE_GUARD.toString();
-
-
- public Policy() {
-
- }
-
- public Policy(String id) {
- this.id = id;
- }
-
- public Policy(String name, String actor, String recipe, Map<String, String> payload, Target target) {
- this.name = name;
- this.actor = actor;
- this.recipe = recipe;
- this.target = target;
- if (payload != null) {
-// this.payload = new LinkedList<Map<String, String>>();
- this.payload = Collections.unmodifiableMap(payload);
- }
- }
-
- public Policy(String name, String actor, String recipe, Map<String, String> payload, Target target, Integer retries, Integer timeout) {
- this(name, actor, recipe, payload, target);
- this.retry = retries;
- this.timeout = timeout;
- }
-
- public Policy(String id, String name, String description, String actor, Map<String, String> payload, Target target, String recipe, Integer retries, Integer timeout) {
- this(name, actor, recipe, payload, target, retries, timeout);
- this.id = id;
- this.description = description;
- }
-
- public Policy(Policy policy) {
- this.id = policy.id;
- this.name = policy.name;
- this.description = policy.description;
- this.actor = policy.actor;
- this.recipe = policy.recipe;
- if (policy.payload != null) {
-// this.payload = new LinkedList<Map<String, String>>();
-// this.payload.addAll(policy.payload);
- this.payload = Collections.unmodifiableMap(policy.payload);
- }
- this.target = policy.target;
- this.operationsAccumulateParams = policy.operationsAccumulateParams;
- this.retry = policy.retry;
- this.timeout = policy.timeout;
- this.success = policy.success;
- this.failure = policy.failure;
- this.failure_exception = policy.failure_exception;
- this.failure_guard = policy.failure_guard;
- this.failure_retries = policy.failure_retries;
- this.failure_timeout = policy.failure_timeout;
- }
-
- public boolean isValid() {
- try {
- if (id == null) {
- throw new NullPointerException();
- }
- if (name == null) {
- throw new NullPointerException();
- }
- if (actor == null) {
- throw new NullPointerException();
- }
- if (recipe == null) {
- throw new NullPointerException();
- }
- if (target == null) {
- throw new NullPointerException();
- }
- } catch (Exception e) {
- return false;
- }
-
- return true;
- }
-
- @Override
- public String toString() {
- return "Policy [id=" + id + ", name=" + name + ", description=" + description + ", actor=" + actor + ", recipe="
- + recipe + ", payload=" + payload + ", target=" + target + ", operationsAccumulateParams=" + operationsAccumulateParams + ", retry=" + retry + ", timeout=" + timeout
- + ", success=" + success + ", failure=" + failure + ", failure_retries=" + failure_retries
- + ", failure_timeout=" + failure_timeout + ", failure_exception=" + failure_exception + ", failure_guard=" + failure_guard + "]";
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((actor == null) ? 0 : actor.hashCode());
- result = prime * result + ((description == null) ? 0 : description.hashCode());
- result = prime * result + ((failure == null) ? 0 : failure.hashCode());
- result = prime * result + ((failure_exception == null) ? 0 : failure_exception.hashCode());
- result = prime * result + ((failure_guard == null) ? 0 : failure_guard.hashCode());
- result = prime * result + ((failure_retries == null) ? 0 : failure_retries.hashCode());
- result = prime * result + ((failure_timeout == null) ? 0 : failure_timeout.hashCode());
- result = prime * result + ((id == null) ? 0 : id.hashCode());
- result = prime * result + ((name == null) ? 0 : name.hashCode());
- result = prime * result + ((payload == null) ? 0 : payload.hashCode());
- result = prime * result + ((recipe == null) ? 0 : recipe.hashCode());
- result = prime * result + ((retry == null) ? 0 : retry.hashCode());
- result = prime * result + ((success == null) ? 0 : success.hashCode());
- result = prime * result + ((target == null) ? 0 : target.hashCode());
- result = prime * result + ((operationsAccumulateParams == null) ? 0 : operationsAccumulateParams.hashCode());
- result = prime * result + ((timeout == null) ? 0 : timeout.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- Policy other = (Policy) obj;
- if (actor != other.actor)
- return false;
- if (description == null) {
- if (other.description != null)
- return false;
- } else if (!description.equals(other.description))
- return false;
- if (failure == null) {
- if (other.failure != null)
- return false;
- } else if (!failure.equals(other.failure))
- return false;
- if (failure_exception == null) {
- if (other.failure_exception != null)
- return false;
- } else if (!failure_exception.equals(other.failure_exception))
- return false;
- if (failure_guard == null) {
- if (other.failure_guard != null)
- return false;
- } else if (!failure_guard.equals(other.failure_guard))
- return false;
- if (failure_retries == null) {
- if (other.failure_retries != null)
- return false;
- } else if (!failure_retries.equals(other.failure_retries))
- return false;
- if (failure_timeout == null) {
- if (other.failure_timeout != null)
- return false;
- } else if (!failure_timeout.equals(other.failure_timeout))
- return false;
- if (id == null) {
- if (other.id != null)
- return false;
- } else if (!id.equals(other.id))
- return false;
- if (name == null) {
- if (other.name != null)
- return false;
- } else if (!name.equals(other.name))
- return false;
- if (payload == null) {
- if (other.payload != null)
- return false;
- } else if (!payload.equals(other.payload))
- return false;
- if (recipe == null) {
- if (other.recipe != null)
- return false;
- } else if (!recipe.equals(other.recipe))
- return false;
- if (retry == null) {
- if (other.retry != null)
- return false;
- } else if (!retry.equals(other.retry))
- return false;
- if (success == null) {
- if (other.success != null)
- return false;
- } else if (!success.equals(other.success))
- return false;
- if (operationsAccumulateParams == null) {
- if (other.operationsAccumulateParams != null)
- return false;
- } else if (!operationsAccumulateParams.equals(other.operationsAccumulateParams))
- return false;
- if (target == null) {
- if (other.target != null)
- return false;
- } else if (!target.equals(other.target))
- return false;
- if (timeout == null) {
- if (other.timeout != null)
- return false;
- } else if (!timeout.equals(other.timeout))
- return false;
- return true;
- }
-
+public class Policy implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ private String id = UUID.randomUUID().toString();
+ private String name;
+ private String description;
+ private String actor;
+ private String recipe;
+ private Map<String, String> payload;
+ private Target target;
+ private OperationsAccumulateParams operationsAccumulateParams;
+ private Integer retry = 0;
+ private Integer timeout = 300;
+ private String success = FinalResult.FINAL_SUCCESS.toString();
+ private String failure = FinalResult.FINAL_FAILURE.toString();
+ private String failureRetries = FinalResult.FINAL_FAILURE_RETRIES.toString();
+ private String failureTimeout = FinalResult.FINAL_FAILURE_TIMEOUT.toString();
+ private String failureException = FinalResult.FINAL_FAILURE_EXCEPTION.toString();
+ private String failureGuard = FinalResult.FINAL_FAILURE_GUARD.toString();
+
+
+ public Policy() {
+ //Does Nothing Empty Constructor
+ }
+
+ public Policy(String id) {
+ this.id = id;
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param name name
+ * @param actor actor
+ * @param recipe recipe
+ * @param payload payload
+ * @param target target
+ */
+ public Policy(String name, String actor, String recipe, Map<String, String> payload, Target target) {
+ this.name = name;
+ this.actor = actor;
+ this.recipe = recipe;
+ this.target = target;
+ if (payload != null) {
+ this.payload = Collections.unmodifiableMap(payload);
+ }
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param name name
+ * @param actor actor
+ * @param recipe recipe
+ * @param payload payload
+ * @param target target
+ * @param retries retries
+ * @param timeout timeout
+ */
+ public Policy(String name, String actor, String recipe, Map<String, String> payload, Target target,
+ Integer retries, Integer timeout) {
+ this(name, actor, recipe, payload, target);
+ this.retry = retries;
+ this.timeout = timeout;
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param policyParam provide parameter object
+ */
+ public Policy(PolicyParam policyParam) {
+ this(policyParam.getName(), policyParam.getActor(), policyParam.getRecipe(), policyParam.getPayload(),
+ policyParam.getTarget(), policyParam.getRetries(), policyParam.getTimeout());
+ this.id = policyParam.getId();
+ this.description = policyParam.getDescription();
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param policy copy object
+ */
+ public Policy(Policy policy) {
+ this.id = policy.id;
+ this.name = policy.name;
+ this.description = policy.description;
+ this.actor = policy.actor;
+ this.recipe = policy.recipe;
+ if (policy.payload != null) {
+ this.payload = Collections.unmodifiableMap(policy.payload);
+ }
+ this.target = policy.target;
+ this.operationsAccumulateParams = policy.operationsAccumulateParams;
+ this.retry = policy.retry;
+ this.timeout = policy.timeout;
+ this.success = policy.success;
+ this.failure = policy.failure;
+ this.failureException = policy.failureException;
+ this.failureGuard = policy.failureGuard;
+ this.failureRetries = policy.failureRetries;
+ this.failureTimeout = policy.failureTimeout;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String getActor() {
+ return actor;
+ }
+
+ public void setActor(String actor) {
+ this.actor = actor;
+ }
+
+ public String getRecipe() {
+ return recipe;
+ }
+
+ public void setRecipe(String recipe) {
+ this.recipe = recipe;
+ }
+
+ public Map<String, String> getPayload() {
+ return payload;
+ }
+
+ public void setPayload(Map<String, String> payload) {
+ this.payload = payload;
+ }
+
+ public Target getTarget() {
+ return target;
+ }
+
+ public void setTarget(Target target) {
+ this.target = target;
+ }
+
+ public OperationsAccumulateParams getOperationsAccumulateParams() {
+ return operationsAccumulateParams;
+ }
+
+ public void setOperationsAccumulateParams(OperationsAccumulateParams operationsAccumulateParams) {
+ this.operationsAccumulateParams = operationsAccumulateParams;
+ }
+
+ public Integer getRetry() {
+ return retry;
+ }
+
+ public void setRetry(Integer retry) {
+ this.retry = retry;
+ }
+
+ public Integer getTimeout() {
+ return timeout;
+ }
+
+ public void setTimeout(Integer timeout) {
+ this.timeout = timeout;
+ }
+
+ public String getSuccess() {
+ return success;
+ }
+
+ public void setSuccess(String success) {
+ this.success = success;
+ }
+
+ public String getFailure() {
+ return failure;
+ }
+
+ public void setFailure(String failure) {
+ this.failure = failure;
+ }
+
+ public String getFailure_retries() {
+ return failureRetries;
+ }
+
+ public void setFailure_retries(String failureRetries) {
+ this.failureRetries = failureRetries;
+ }
+
+ public String getFailure_timeout() {
+ return failureTimeout;
+ }
+
+ public void setFailure_timeout(String failureTimeout) {
+ this.failureTimeout = failureTimeout;
+ }
+
+ public String getFailure_exception() {
+ return failureException;
+ }
+
+ public void setFailure_exception(String failureException) {
+ this.failureException = failureException;
+ }
+
+ public String getFailure_guard() {
+ return failureGuard;
+ }
+
+ public void setFailure_guard(String failureGuard) {
+ this.failureGuard = failureGuard;
+ }
+
+ public boolean isValid() {
+ return id != null && name != null && actor != null && recipe != null && target != null;
+ }
+
+ @Override
+ public String toString() {
+ return "Policy [id=" + id + ", name=" + name + ", description=" + description + ", actor=" + actor + ", recipe="
+ + recipe + ", payload=" + payload + ", target=" + target + ", operationsAccumulateParams="
+ + operationsAccumulateParams + ", retry=" + retry + ", timeout=" + timeout
+ + ", success=" + success + ", failure=" + failure + ", failure_retries=" + failureRetries
+ + ", failure_timeout=" + failureTimeout + ", failure_exception=" + failureException
+ + ", failure_guard=" + failureGuard + "]";
+ }
+
+ @Override
+ public int hashCode() {
+ int result = 1;
+ result = addHashCodeForField(result, actor);
+ result = addHashCodeForField(result, description);
+ result = addHashCodeForField(result, failure);
+ result = addHashCodeForField(result, failureException);
+ result = addHashCodeForField(result, failureGuard);
+ result = addHashCodeForField(result, failureRetries);
+ result = addHashCodeForField(result, failureTimeout);
+ result = addHashCodeForField(result, id);
+ result = addHashCodeForField(result, name);
+ result = addHashCodeForField(result, payload);
+ result = addHashCodeForField(result, recipe);
+ result = addHashCodeForField(result, retry);
+ result = addHashCodeForField(result, success);
+ result = addHashCodeForField(result, target);
+ result = addHashCodeForField(result, operationsAccumulateParams);
+ result = addHashCodeForField(result, timeout);
+ return result;
+ }
+
+ private int addHashCodeForField(int hashCode, Object field) {
+ final int prime = 31;
+ return prime * hashCode + ((field == null) ? 0 : field.hashCode());
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ Policy other = (Policy) obj;
+ return equalsMayBeNull(actor, other.actor)
+ && equalsMayBeNull(description, other.description)
+ && equalsMayBeNull(failure, other.failure)
+ && equalsMayBeNull(failureException, other.failureException)
+ && equalsMayBeNull(failureGuard, other.failureGuard)
+ && equalsMayBeNull(failureRetries, other.failureRetries)
+ && equalsMayBeNull(id, other.id)
+ && equalsMayBeNull(name, other.name)
+ && equalsMayBeNull(payload, other.payload)
+ && equalsMayBeNull(recipe, other.recipe)
+ && equalsMayBeNull(retry, other.retry)
+ && equalsMayBeNull(success, other.success)
+ && equalsMayBeNull(operationsAccumulateParams, other.operationsAccumulateParams)
+ && equalsMayBeNull(target, other.target)
+ && equalsMayBeNull(timeout, other.timeout);
+ }
+
+ private boolean equalsMayBeNull(final Object obj1, final Object obj2) {
+ if ( obj1 == null ) {
+ return obj2 == null;
+ }
+ return obj1.equals(obj2);
+ }
}