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 org.apache.commons.lang.StringUtils;
24 import org.openecomp.sdc.be.datatypes.components.ComponentMetadataDataDefinition;
25 import org.openecomp.sdc.be.datatypes.components.ServiceMetadataDataDefinition;
26 import org.openecomp.sdc.be.datatypes.elements.ForwardingPathDataDefinition;
27 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
28 import org.openecomp.sdc.be.datatypes.enums.InstantiationTypes;
29 import org.openecomp.sdc.be.model.jsontitan.datamodel.ToscaElementTypeEnum;
31 import java.util.HashMap;
34 public class Service extends Component {
37 super(new ServiceMetadataDefinition());
38 this.getComponentMetadataDefinition().getMetadataDataDefinition().setComponentType(ComponentTypeEnum.SERVICE);
39 this.setToscaType(ToscaElementTypeEnum.TOPOLOGY_TEMPLATE.getValue());
42 public Service(ComponentMetadataDefinition serviceMetadataDefinition) {
43 super(serviceMetadataDefinition);
44 ComponentMetadataDataDefinition metadataDataDefinition = this.getComponentMetadataDefinition().getMetadataDataDefinition();
45 if(metadataDataDefinition != null) {
46 metadataDataDefinition.setComponentType(ComponentTypeEnum.SERVICE);
48 this.setToscaType(ToscaElementTypeEnum.TOPOLOGY_TEMPLATE.getValue());
51 private Map<String, ArtifactDefinition> serviceApiArtifacts;
52 private Map<String, ForwardingPathDataDefinition> forwardingPaths;
55 public Map<String, ArtifactDefinition> getServiceApiArtifacts() {
56 return serviceApiArtifacts;
59 public void setServiceApiArtifacts(Map<String, ArtifactDefinition> serviceApiArtifacts) {
60 this.serviceApiArtifacts = serviceApiArtifacts;
63 public String getProjectCode() {
64 return getServiceMetadataDefinition().getProjectCode();
67 public Map<String, ForwardingPathDataDefinition> getForwardingPaths() {
68 return forwardingPaths;
71 public void setForwardingPaths(Map<String, ForwardingPathDataDefinition> forwardingPaths) {
72 this.forwardingPaths = forwardingPaths;
75 public ForwardingPathDataDefinition addForwardingPath(ForwardingPathDataDefinition forwardingPathDataDefinition){
76 if(forwardingPaths == null){
77 forwardingPaths = new HashMap<>();
79 return forwardingPaths.put(forwardingPathDataDefinition.getUniqueId(),forwardingPathDataDefinition);
82 public void setProjectCode(String projectName) {
83 getServiceMetadataDefinition().setProjectCode(projectName);
86 public DistributionStatusEnum getDistributionStatus() {
87 String distributionStatus = getServiceMetadataDefinition().getDistributionStatus();
88 if (distributionStatus != null) {
89 return DistributionStatusEnum.valueOf(distributionStatus);
95 public void setDistributionStatus(DistributionStatusEnum distributionStatus) {
96 if (distributionStatus != null)
97 getServiceMetadataDefinition().setDistributionStatus(distributionStatus.name());
100 public void setEcompGeneratedNaming(Boolean ecompGeneratedNaming) {
101 getServiceMetadataDefinition().setEcompGeneratedNaming(ecompGeneratedNaming);
104 public Boolean isEcompGeneratedNaming() {
105 return getServiceMetadataDefinition().isEcompGeneratedNaming();
108 public void setNamingPolicy(String namingPolicy) {
109 getServiceMetadataDefinition().setNamingPolicy(namingPolicy);
112 public String getNamingPolicy() {
113 return getServiceMetadataDefinition().getNamingPolicy();
116 public String getEnvironmentContext() { return getServiceMetadataDefinition().getEnvironmentContext(); }
118 public void setEnvironmentContext(String environmentContext) {
119 getServiceMetadataDefinition().setEnvironmentContext(environmentContext);
122 public void setServiceType(String serviceType){
123 getServiceMetadataDefinition().setServiceType(serviceType);
126 public String getServiceType(){
127 return getServiceMetadataDefinition().getServiceType();
130 public void setServiceRole(String serviceRole){
131 getServiceMetadataDefinition().setServiceRole(serviceRole);
134 public String getServiceRole(){
135 return getServiceMetadataDefinition().getServiceRole();
138 public void setInstantiationType(String instantiationType){
139 getServiceMetadataDefinition().setInstantiationType(instantiationType);
142 public String getInstantiationType(){
143 return getServiceMetadataDefinition().getInstantiationType();
146 private ServiceMetadataDataDefinition getServiceMetadataDefinition() {
147 return (ServiceMetadataDataDefinition) getComponentMetadataDefinition().getMetadataDataDefinition();
151 public void validateAndSetInstantiationType() {
152 if (this.getInstantiationType() == StringUtils.EMPTY) {
153 this.setInstantiationType(InstantiationTypes.A_LA_CARTE.getValue());
159 public String toString() {
160 return "Service [componentMetadataDefinition=" + getComponentMetadataDefinition()
161 // + ", resourceInstances=" + resourceInstances + ",
162 // resourceInstancesRelations=" + resourceInstancesRelations + ",
163 // resourceInstancesRelations="
164 // + resourceInstancesRelations
169 public void setSpecificComponetTypeArtifacts(Map<String, ArtifactDefinition> specificComponentTypeArtifacts) {
170 setServiceApiArtifacts(specificComponentTypeArtifacts);