e51ce701a3babe712cad61333ed99b2ba03c0c57
[optf/cmso.git] /
1 /*******************************************************************************
2  *
3  * Copyright © 2019 AT&T Intellectual Property.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
6  * in compliance with the License. You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software distributed under the License
11  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12  * or implied. See the License for the specific language governing permissions and limitations under
13  * the License.
14  *
15  *
16  * Unless otherwise specified, all documentation contained herein is licensed under the Creative
17  * Commons License, Attribution 4.0 Intl. (the "License"); you may not use this documentation except
18  * in compliance with the License. You may obtain a copy of the License at
19  *
20  * https://creativecommons.org/licenses/by/4.0/
21  *
22  * Unless required by applicable law or agreed to in writing, documentation distributed under the
23  * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
24  * express or implied. See the License for the specific language governing permissions and
25  * limitations under the License.
26  ******************************************************************************/
27
28 package org.onap.optf.cmso.optimizer.clients.topology.models;
29
30 import com.att.eelf.configuration.EELFLogger;
31 import com.att.eelf.configuration.EELFManager;
32 import com.fasterxml.jackson.core.JsonProcessingException;
33 import com.fasterxml.jackson.databind.ObjectMapper;
34 import io.swagger.annotations.ApiModel;
35 import io.swagger.annotations.ApiModelProperty;
36 import java.io.Serializable;
37 import java.util.ArrayList;
38 import java.util.List;
39 import org.onap.optf.cmso.optimizer.service.rs.models.NameValue;
40
41 @ApiModel(value = "Topology Related Element", description = "Element Information returned from TopologyRequuest.")
42 public class ReferencedElementInfo implements Serializable {
43     private static final long serialVersionUID = 1L;
44     private static EELFLogger log = EELFManager.getInstance().getLogger(ReferencedElementInfo.class);
45
46     @ApiModelProperty(value = "Element identifier")
47     private String elementId;
48
49     @ApiModelProperty(value = "Location information for the element.")
50     private ElementLocation elementLocation;
51
52     @ApiModelProperty(value = "Related elements only. Element ids of the element(s) ")
53     private List<String> referencingElements;
54
55     @ApiModelProperty(value = "Implementation specific element data.")
56     public List<NameValue> elementData = new ArrayList<>();
57
58     public String getElementId() {
59         return elementId;
60     }
61
62     public void setElementId(String elementId) {
63         this.elementId = elementId;
64     }
65
66     public ElementLocation getElementLocation() {
67         return elementLocation;
68     }
69
70     public void setElementLocation(ElementLocation elementLocation) {
71         this.elementLocation = elementLocation;
72     }
73
74
75     public List<String> getRelatedElements() {
76         return referencingElements;
77     }
78
79     public void setRelatedElements(List<String> relatedElements) {
80         this.referencingElements = relatedElements;
81     }
82
83     public List<NameValue> getElementData() {
84         return elementData;
85     }
86
87     public void setElementData(List<NameValue> elementData) {
88         this.elementData = elementData;
89     }
90
91     @Override
92     public String toString() {
93         ObjectMapper mapper = new ObjectMapper();
94         try {
95             return mapper.writeValueAsString(this);
96         } catch (JsonProcessingException e) {
97             log.debug("Error in toString()", e);
98         }
99         return "";
100     }
101 }