2 * ============LICENSE_START=======================================================
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
21 package org.openecomp.sdc.be.model;
23 import java.util.HashMap;
25 import lombok.EqualsAndHashCode;
28 import lombok.ToString;
29 import org.apache.commons.lang.StringUtils;
30 import org.openecomp.sdc.be.datatypes.components.ComponentMetadataDataDefinition;
31 import org.openecomp.sdc.be.datatypes.components.ServiceMetadataDataDefinition;
32 import org.openecomp.sdc.be.datatypes.elements.ForwardingPathDataDefinition;
33 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
34 import org.openecomp.sdc.be.datatypes.enums.InstantiationTypes;
35 import org.openecomp.sdc.be.model.jsonjanusgraph.datamodel.ToscaElementTypeEnum;
39 @EqualsAndHashCode(callSuper = true)
41 public class Service extends Component {
43 private Map<String, ArtifactDefinition> serviceApiArtifacts;
44 private Map<String, ForwardingPathDataDefinition> forwardingPaths;
47 super(new ServiceMetadataDefinition());
48 this.getComponentMetadataDefinition().getMetadataDataDefinition().setComponentType(ComponentTypeEnum.SERVICE);
49 this.setToscaType(ToscaElementTypeEnum.TOPOLOGY_TEMPLATE.getValue());
52 public Service(ComponentMetadataDefinition serviceMetadataDefinition) {
53 super(serviceMetadataDefinition);
54 ComponentMetadataDataDefinition metadataDataDefinition = this.getComponentMetadataDefinition()
55 .getMetadataDataDefinition();
56 if (metadataDataDefinition != null) {
57 metadataDataDefinition.setComponentType(ComponentTypeEnum.SERVICE);
59 this.setToscaType(ToscaElementTypeEnum.TOPOLOGY_TEMPLATE.getValue());
63 public String getProjectCode() {
64 return getServiceMetadataDefinition().getProjectCode();
68 public void setProjectCode(String projectName) {
69 getServiceMetadataDefinition().setProjectCode(projectName);
72 public ForwardingPathDataDefinition addForwardingPath(ForwardingPathDataDefinition forwardingPathDataDefinition) {
73 if (forwardingPaths == null) {
74 forwardingPaths = new HashMap<>();
76 return forwardingPaths.put(forwardingPathDataDefinition.getUniqueId(), forwardingPathDataDefinition);
79 public DistributionStatusEnum getDistributionStatus() {
80 String distributionStatus = getServiceMetadataDefinition().getDistributionStatus();
81 if (distributionStatus != null) {
82 return DistributionStatusEnum.valueOf(distributionStatus);
88 public void setDistributionStatus(DistributionStatusEnum distributionStatus) {
89 if (distributionStatus != null) {
90 getServiceMetadataDefinition().setDistributionStatus(distributionStatus.name());
94 public void setEcompGeneratedNaming(Boolean ecompGeneratedNaming) {
95 getServiceMetadataDefinition().setEcompGeneratedNaming(ecompGeneratedNaming);
98 public Boolean isEcompGeneratedNaming() {
99 return getServiceMetadataDefinition().isEcompGeneratedNaming();
102 public String getNamingPolicy() {
103 return getServiceMetadataDefinition().getNamingPolicy();
106 public void setNamingPolicy(String namingPolicy) {
107 getServiceMetadataDefinition().setNamingPolicy(namingPolicy);
110 public String getEnvironmentContext() {
111 return getServiceMetadataDefinition().getEnvironmentContext();
114 public void setEnvironmentContext(String environmentContext) {
115 getServiceMetadataDefinition().setEnvironmentContext(environmentContext);
118 public String getServiceType() {
119 return getServiceMetadataDefinition().getServiceType();
122 public void setServiceType(String serviceType) {
123 getServiceMetadataDefinition().setServiceType(serviceType);
126 public String getServiceRole() {
127 return getServiceMetadataDefinition().getServiceRole();
130 public void setServiceRole(String serviceRole) {
131 getServiceMetadataDefinition().setServiceRole(serviceRole);
134 public String getInstantiationType() {
135 return getServiceMetadataDefinition().getInstantiationType();
138 public void setInstantiationType(String instantiationType) {
139 getServiceMetadataDefinition().setInstantiationType(instantiationType);
142 private ServiceMetadataDataDefinition getServiceMetadataDefinition() {
143 return (ServiceMetadataDataDefinition) getComponentMetadataDefinition().getMetadataDataDefinition();
146 public String getServiceFunction() {
147 return getServiceMetadataDefinition().getServiceFunction();
150 public void setServiceFunction(String serviceFunction) {
151 getServiceMetadataDefinition().setServiceFunction(serviceFunction);
154 public void validateAndSetInstantiationType() {
155 if (this.getInstantiationType().equals(StringUtils.EMPTY)) {
156 this.setInstantiationType(InstantiationTypes.A_LA_CARTE.getValue());
161 public void setSpecificComponetTypeArtifacts(Map<String, ArtifactDefinition> specificComponentTypeArtifacts) {
162 setServiceApiArtifacts(specificComponentTypeArtifacts);