diff options
Diffstat (limited to 'src/main/java/org/onap/clamp/clds/model/properties/PolicyItem.java')
-rw-r--r-- | src/main/java/org/onap/clamp/clds/model/properties/PolicyItem.java | 189 |
1 files changed, 189 insertions, 0 deletions
diff --git a/src/main/java/org/onap/clamp/clds/model/properties/PolicyItem.java b/src/main/java/org/onap/clamp/clds/model/properties/PolicyItem.java new file mode 100644 index 00000000..d1c1906a --- /dev/null +++ b/src/main/java/org/onap/clamp/clds/model/properties/PolicyItem.java @@ -0,0 +1,189 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP CLAMP + * ================================================================================ + * 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. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END============================================ + * =================================================================== + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ + +package org.onap.clamp.clds.model.properties; + +import com.att.eelf.configuration.EELFLogger; +import com.att.eelf.configuration.EELFManager; +import com.fasterxml.jackson.databind.JsonNode; + +import java.util.List; + +/** + * Parse policyConfigurations from Policy json properties. + * <p> + * Example json: + * "Policy_005sny1":[[{"name":"timeout","value":"5"}],{"policyConfigurations":[[ + * {"name":"recipe","value":["restart"]},{"name":"maxRetries","value":["3"]},{ + * "name":"retryTimeLimit","value":["180"]},{"name":"_id","value":["vf3RtPi"]},{ + * "name":"location","value":["san_diego"]},{"name":"resource","value":["vCTS"]} + * ,{"name":"onMaxRetriesLimit","value":[""]},{"name":"onTimeLimit","value":[""] + * },{"name":"onOtherFailure","value":[""]},{"name":"policy_parent","value":[""] + * }],[{"name":"recipe","value":["rebuild"]},{"name":"maxRetries","value":["3"]} + * ,{"name":"retryTimeLimit","value":["180"]},{"name":"_id","value":["89z8Ncl"]} + * ,{"name":"location","value":["san_diego"]},{"name":"resource","value":["vCTS" + * ]},{"name":"onMaxRetriesLimit","value":[""]},{"name":"onTimeLimit","value":[ + * ""]},{"name":"onOtherFailure","value":[""]},{"name":"policy_parent","value":[ + * "vf3RtPi"]},{"name": + * "targetResourceId","value":["Eace933104d443b496b8.nodes.heat.vpg"]}]]}] + */ +public class PolicyItem implements Cloneable { + protected static final EELFLogger logger = EELFManager.getInstance().getLogger(PolicyItem.class); + protected static final EELFLogger auditLogger = EELFManager.getInstance().getAuditLogger(); + + private String id; + private String recipe; + private int maxRetries; + private int retryTimeLimit; + private String parentPolicy; + private List<String> parentPolicyConditions; + private String actor; + private String targetResourceId; + + /** + * Parse Policy given json node. + * + * @param node + */ + public PolicyItem(JsonNode node) { + id = AbstractModelElement.getValueByName(node, "_id"); + recipe = AbstractModelElement.getValueByName(node, "recipe"); + maxRetries = AbstractModelElement.getIntValueByName(node, "maxRetries"); + retryTimeLimit = AbstractModelElement.getIntValueByName(node, "retryTimeLimit"); + parentPolicy = AbstractModelElement.getValueByName(node, "parentPolicy"); + parentPolicyConditions = AbstractModelElement.getValuesByName(node, "parentPolicyConditions"); + targetResourceId = AbstractModelElement.getValueByName(node, "targetResourceId"); + + } + + /** + * @return the id + */ + public String getId() { + return id; + } + + /** + * @return the recipe + */ + public String getRecipe() { + return recipe; + } + + /** + * @set the id + */ + public void setId(String id) { + this.id = id; + } + + /** + * @set the recipe + */ + public void setRecipe(String recipe) { + this.recipe = recipe; + } + + /** + * @set the parentPolicy + */ + public void setParentPolicy(String parentPolicy) { + this.parentPolicy = parentPolicy; + } + + /** + * @set the maxRetries + */ + public void setMaxRetries(int maxRetries) { + this.maxRetries = maxRetries; + } + + /** + * @set the retryTimeLimit + */ + public void setRetryTimeLimit(int retryTimeLimit) { + this.retryTimeLimit = retryTimeLimit; + } + + /** + * @set the parentPolicyConditions + */ + public void setParentPolicyConditions(List<String> parentPolicyConditions) { + this.parentPolicyConditions = parentPolicyConditions; + } + + /** + * @return the maxRetries + */ + public int getMaxRetries() { + return maxRetries; + } + + /** + * @return the retryTimeLimit + */ + public int getRetryTimeLimit() { + return retryTimeLimit; + } + + /** + * @return the parentPolicy + */ + public String getParentPolicy() { + return parentPolicy; + } + + /** + * @return the parentPolicyConditions + */ + public List<String> getParentPolicyConditions() { + return parentPolicyConditions; + } + + /** + * @return the actor + */ + public String getActor() { + return actor; + } + + /** + * @set the actor + */ + public void setActor(String actor) { + this.actor = actor; + } + + public String getTargetResourceId() { + return targetResourceId; + } + + public void setTargetResourceId(String targetResourceId) { + this.targetResourceId = targetResourceId; + } + + @Override + public Object clone() throws CloneNotSupportedException { + return super.clone(); + } +} |