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 java.util.HashMap;
28 import org.openecomp.sdc.be.datatypes.components.ServiceMetadataDataDefinition;
29 import org.openecomp.sdc.be.datatypes.elements.ForwardingPathDataDefinition;
30 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
31 import org.openecomp.sdc.be.datatypes.enums.InstantiationTypes;
32 import org.openecomp.sdc.be.model.jsonjanusgraph.datamodel.ToscaElementTypeEnum;
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;
54 public Map<String, ArtifactDefinition> getServiceApiArtifacts() {
55 return serviceApiArtifacts;
58 public void setServiceApiArtifacts(Map<String, ArtifactDefinition> serviceApiArtifacts) {
59 this.serviceApiArtifacts = serviceApiArtifacts;
62 public String getProjectCode() {
63 return getServiceMetadataDefinition().getProjectCode();
66 public Map<String, ForwardingPathDataDefinition> getForwardingPaths() {
67 return forwardingPaths;
70 public void setForwardingPaths(Map<String, ForwardingPathDataDefinition> forwardingPaths) {
71 this.forwardingPaths = forwardingPaths;
74 public ForwardingPathDataDefinition addForwardingPath(ForwardingPathDataDefinition forwardingPathDataDefinition){
75 if(forwardingPaths == null){
76 forwardingPaths = new HashMap<>();
78 return forwardingPaths.put(forwardingPathDataDefinition.getUniqueId(),forwardingPathDataDefinition);
81 public void setProjectCode(String projectName) {
82 getServiceMetadataDefinition().setProjectCode(projectName);
85 public DistributionStatusEnum getDistributionStatus() {
86 String distributionStatus = getServiceMetadataDefinition().getDistributionStatus();
87 if (distributionStatus != null) {
88 return DistributionStatusEnum.valueOf(distributionStatus);
94 public void setDistributionStatus(DistributionStatusEnum distributionStatus) {
95 if (distributionStatus != null)
96 getServiceMetadataDefinition().setDistributionStatus(distributionStatus.name());
99 public void setEcompGeneratedNaming(Boolean ecompGeneratedNaming) {
100 getServiceMetadataDefinition().setEcompGeneratedNaming(ecompGeneratedNaming);
103 public Boolean isEcompGeneratedNaming() {
104 return getServiceMetadataDefinition().isEcompGeneratedNaming();
107 public void setNamingPolicy(String namingPolicy) {
108 getServiceMetadataDefinition().setNamingPolicy(namingPolicy);
111 public String getNamingPolicy() {
112 return getServiceMetadataDefinition().getNamingPolicy();
115 public String getEnvironmentContext() { return getServiceMetadataDefinition().getEnvironmentContext(); }
117 public void setEnvironmentContext(String environmentContext) {
118 getServiceMetadataDefinition().setEnvironmentContext(environmentContext);
121 public void setServiceType(String serviceType){
122 getServiceMetadataDefinition().setServiceType(serviceType);
125 public String getServiceType(){
126 return getServiceMetadataDefinition().getServiceType();
129 public void setServiceRole(String serviceRole){
130 getServiceMetadataDefinition().setServiceRole(serviceRole);
133 public String getServiceRole(){
134 return getServiceMetadataDefinition().getServiceRole();
137 public void setInstantiationType(String instantiationType){
138 getServiceMetadataDefinition().setInstantiationType(instantiationType);
141 public String getInstantiationType(){
142 return getServiceMetadataDefinition().getInstantiationType();
145 private ServiceMetadataDataDefinition getServiceMetadataDefinition() {
146 return (ServiceMetadataDataDefinition) getComponentMetadataDefinition().getMetadataDataDefinition();
150 public void validateAndSetInstantiationType() {
151 if (this.getInstantiationType() == StringUtils.EMPTY) {
152 this.setInstantiationType(InstantiationTypes.A_LA_CARTE.getValue());
158 public String toString() {
159 return "Service [componentMetadataDefinition=" + getComponentMetadataDefinition()
160 // + ", resourceInstances=" + resourceInstances + ",
161 // resourceInstancesRelations=" + resourceInstancesRelations + ",
162 // resourceInstancesRelations="
163 // + resourceInstancesRelations
168 public void setSpecificComponetTypeArtifacts(Map<String, ArtifactDefinition> specificComponentTypeArtifacts) {
169 setServiceApiArtifacts(specificComponentTypeArtifacts);