Make Service base type optional
[sdc.git] / common-be / src / main / java / org / openecomp / sdc / be / datatypes / components / ServiceMetadataDataDefinition.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.components;
21
22 import lombok.Data;
23 import lombok.NoArgsConstructor;
24 import org.openecomp.sdc.be.datatypes.enums.JsonPresentationFieldsExtractor;
25 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
26
27 @Data
28 @NoArgsConstructor
29 public class ServiceMetadataDataDefinition extends ComponentMetadataDataDefinition {
30
31     private static final String EMPTY_STR = "";
32     private String distributionStatus;
33     private String serviceType = EMPTY_STR;
34     private String serviceRole = EMPTY_STR;
35     private String instantiationType = EMPTY_STR;
36     private String serviceFunction = EMPTY_STR;
37     private Boolean ecompGeneratedNaming = true;
38     private String namingPolicy = EMPTY_STR;
39     private String environmentContext;
40     private String serviceVendorModelNumber;
41     public Boolean isAbstract;
42     private ResourceTypeEnum importServiceType = ResourceTypeEnum.SERVICE;
43     private String toscaServiceName;
44     private String vendorName;
45     private String vendorRelease;
46
47     public ServiceMetadataDataDefinition(JsonPresentationFieldsExtractor extractor) {
48         super(extractor);
49         serviceType = extractor.getServiceType();
50         serviceRole = extractor.getServiceRole();
51         serviceFunction = extractor.getServiceFunction();
52     }
53
54     public Boolean isEcompGeneratedNaming() {
55         return getEcompGeneratedNaming();
56     }
57
58     @Override
59     public String getActualComponentType() {
60         return componentType != null ? componentType.getValue() : "";
61     }
62 }