/*- * ============LICENSE_START======================================================= * VID * ================================================================================ * Copyright (C) 2017 - 2019 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========================================================= */ package org.onap.vid.model.aaiTree; import org.apache.commons.lang3.StringUtils; import java.util.*; public class AAITreeNode { private String type; private int uniqueNumber; private String orchestrationStatus; private String provStatus; private Boolean inMaint = null; private String modelVersionId; private String modelCustomizationId; private String modelInvariantId; private String id; private String name; private String modelVersion; private String modelName; private String modelCustomizationName; private final List children = Collections.synchronizedList(new LinkedList<>()); private Map additionalProperties = new HashMap<>(); private String keyInModel; private AAITreeNode parent; public String getType() { return type; } public void setType(String type) { this.type = type; } public int getUniqueNumber() { return uniqueNumber; } public void setUniqueNumber(int uniqueNumber) { this.uniqueNumber = uniqueNumber; } public String getOrchestrationStatus() { return orchestrationStatus; } public void setOrchestrationStatus(String orchestrationStatus) { this.orchestrationStatus = orchestrationStatus; } public String getProvStatus() { return provStatus; } public void setProvStatus(String provStatus) { this.provStatus = provStatus; } public Boolean getInMaint() { return inMaint; } public void setInMaint(Boolean inMaint) { this.inMaint = inMaint; } public String getModelVersionId() { return modelVersionId; } public void setModelVersionId(String modelVersionId) { this.modelVersionId = modelVersionId; } public String getModelCustomizationId() { return modelCustomizationId; } public void setModelCustomizationId(String modelCustomizationId) { this.modelCustomizationId = modelCustomizationId; } public String getModelInvariantId() { return modelInvariantId; } public void setModelInvariantId(String modelInvariantId) { this.modelInvariantId = modelInvariantId; } 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 getModelVersion() { return modelVersion; } public void setModelVersion(String modelVersion) { this.modelVersion = modelVersion; } public String getModelName() { return modelName; } public void setModelName(String modelName) { this.modelName = modelName; } public String getModelCustomizationName() { return modelCustomizationName; } public void setModelCustomizationName(String modelCustomizationName) { this.modelCustomizationName = modelCustomizationName; } public List getChildren() { return children; } public Map getAdditionalProperties() { return additionalProperties; } public void setAdditionalProperties(Map additionalProperties) { this.additionalProperties = additionalProperties; } public String getNodeKey() { if (this.keyInModel != null) { return this.keyInModel; } return StringUtils.defaultIfEmpty(this.modelVersionId, "not provided"); } public String getUniqueNodeKey() { return getNodeKey() + ":" + String.format("%03d", this.uniqueNumber); } public void setKeyInModel(String keyInModel) { this.keyInModel = keyInModel; } public String getKeyInModel() { return keyInModel; } public AAITreeNode getParent() { return parent; } public void setParent(AAITreeNode parent) { this.parent = parent; } public void addChildren(List children) { for (AAITreeNode child : children) { child.setParent(this); } this.getChildren().addAll(children); } }