Maintain VFC UI added interface operations after an upgrade
[sdc.git] / common-be / src / main / java / org / openecomp / sdc / be / datatypes / elements / InterfaceDataDefinition.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
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
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
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=========================================================
19  */
20 package org.openecomp.sdc.be.datatypes.elements;
21
22 import com.fasterxml.jackson.annotation.JsonCreator;
23 import lombok.Getter;
24 import lombok.Setter;
25 import org.openecomp.sdc.be.datatypes.enums.JsonPresentationFields;
26 import org.openecomp.sdc.be.datatypes.tosca.ToscaDataDefinition;
27
28 import java.io.Serializable;
29 import java.util.HashMap;
30 import java.util.Map;
31
32 import static org.openecomp.sdc.be.datatypes.enums.JsonPresentationFields.TOSCA_RESOURCE_NAME;
33
34 public class InterfaceDataDefinition extends ToscaDataDefinition implements Serializable {
35     @Getter
36     @Setter
37     private boolean userCreated;
38     public InterfaceDataDefinition(String type, String description) {
39         this();
40         setType(type);
41         setDescription(description);
42     }
43
44     @JsonCreator
45     public InterfaceDataDefinition() {
46         super();
47         setOperations(new HashMap<>());
48     }
49
50     public InterfaceDataDefinition(final InterfaceDataDefinition interfaceDataDefinition) {
51         setUniqueId(interfaceDataDefinition.getUniqueId());
52         setType(interfaceDataDefinition.getType());
53         setDescription(interfaceDataDefinition.getDescription());
54         setToscaResourceName(interfaceDataDefinition.getToscaResourceName());
55         setOperations(interfaceDataDefinition.getOperations());
56         setInputs(interfaceDataDefinition.getInputs());
57         setUserCreated(interfaceDataDefinition.isUserCreated());
58     }
59
60     public String getUniqueId() {
61         return (String) getToscaPresentationValue(JsonPresentationFields.UNIQUE_ID);
62     }
63
64     public void setUniqueId(String uniqueId) {
65         setToscaPresentationValue(JsonPresentationFields.UNIQUE_ID, uniqueId);
66     }
67
68     public void setType(String type) {
69         setToscaPresentationValue(JsonPresentationFields.TYPE, type);
70     }
71
72     public String getDescription() {
73         return (String) getToscaPresentationValue(JsonPresentationFields.DESCRIPTION);
74     }
75
76     public void setDescription(String description) {
77         setToscaPresentationValue(JsonPresentationFields.DESCRIPTION, description);
78     }
79
80     public String getDerivedFrom() {
81         return (String) getToscaPresentationValue(JsonPresentationFields.DERIVED_FROM);
82     }
83
84     public void setDerivedFrom(final String derivedFrom) {
85         setToscaPresentationValue(JsonPresentationFields.DERIVED_FROM, derivedFrom);
86     }
87
88     public void setVersion(final String version) {
89         setToscaPresentationValue(JsonPresentationFields.VERSION, version);
90     }
91
92     public String getToscaResourceName() {
93         return (String) getToscaPresentationValue(TOSCA_RESOURCE_NAME);
94     }
95
96     public Map<String, OperationDataDefinition> getOperations() {
97         return (Map<String, OperationDataDefinition>) getToscaPresentationValue(JsonPresentationFields.OPERATIONS);
98     }
99
100     public void setOperations(Map<String, OperationDataDefinition> operations) {
101         setToscaPresentationValue(JsonPresentationFields.OPERATIONS, operations);
102     }
103
104     public void setToscaResourceName(String toscaResourceName) {
105         setToscaPresentationValue(TOSCA_RESOURCE_NAME, toscaResourceName);
106     }
107
108     public Long getCreationDate() {
109         return (Long) getToscaPresentationValue(JsonPresentationFields.CREATION_DATE);
110     }
111
112     public void setCreationDate(Long creationDate) {
113         setToscaPresentationValue(JsonPresentationFields.CREATION_DATE, creationDate);
114     }
115
116     public Long getLastUpdateDate() {
117         return (Long) getToscaPresentationValue(JsonPresentationFields.LAST_UPDATE_DATE);
118     }
119
120     public void setLastUpdateDate(Long lastUpdateDate) {
121         setToscaPresentationValue(JsonPresentationFields.LAST_UPDATE_DATE, lastUpdateDate);
122     }
123
124     public Map<String, InputDataDefinition> getInputs() {
125         return (Map<String, InputDataDefinition>) getToscaPresentationValue(JsonPresentationFields.INTERFACE_INPUT);
126     }
127
128     public void setInputs(final Map<String, InputDataDefinition> inputs) {
129         setToscaPresentationValue(JsonPresentationFields.INTERFACE_INPUT, inputs);
130     }
131 }