2 * Copyright © 2016-2018 European Support Limited
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation;
19 import org.onap.sdc.tosca.datatypes.model.RequirementAssignment;
20 import org.onap.sdc.tosca.datatypes.model.ServiceTemplate;
21 import org.openecomp.sdc.heat.datatypes.model.HeatOrchestrationTemplate;
22 import org.openecomp.sdc.heat.datatypes.model.Resource;
23 import org.openecomp.sdc.tosca.services.ToscaUtil;
24 import org.openecomp.sdc.translator.datatypes.heattotosca.to.TranslateTo;
26 public class PortConsolidationDataHandler implements ConsolidationDataHandler {
28 private final PortConsolidationData portConsolidationData;
30 public PortConsolidationDataHandler(PortConsolidationData portConsolidationData) {
31 this.portConsolidationData = portConsolidationData;
35 public void addNodesConnectedOut(TranslateTo translateTo, String nodeTemplateId, String requirementId,
36 RequirementAssignment requirementAssignment) {
38 EntityConsolidationData entityConsolidationData =
39 getPortTemplateConsolidationData(translateTo, translateTo.getResourceId(),
40 translateTo.getResource().getType(), translateTo.getTranslatedId());
42 entityConsolidationData.addNodesConnectedOut(nodeTemplateId, requirementId, requirementAssignment);
47 public void addNodesConnectedIn(TranslateTo translateTo, String sourceNodeTemplateId,
48 String dependentNodeTemplateId, String targetResourceId, String requirementId,
49 RequirementAssignment requirementAssignment) {
51 EntityConsolidationData entityConsolidationData =
52 getPortTemplateConsolidationData(translateTo, translateTo.getResourceId(),
53 translateTo.getResource().getType(), dependentNodeTemplateId);
55 entityConsolidationData.addNodesConnectedIn(sourceNodeTemplateId, requirementId, requirementAssignment);
60 public void removeParamNameFromAttrFuncList(ServiceTemplate serviceTemplate,
61 HeatOrchestrationTemplate heatOrchestrationTemplate, String paramName,
62 String contrailSharedResourceId, String sharedTranslatedResourceId) {
64 Resource resource = heatOrchestrationTemplate.getResources().get(contrailSharedResourceId);
65 String serviceTemplateFileName = ToscaUtil.getServiceTemplateFileName(serviceTemplate);
66 EntityConsolidationData entityConsolidationData = getPortTemplateConsolidationData(serviceTemplateFileName,
67 contrailSharedResourceId, resource.getType(), sharedTranslatedResourceId);
68 entityConsolidationData.removeParamNameFromAttrFuncList(paramName);
73 * Add port in consolidation data base on given parameters.
76 public void addConsolidationData(String serviceTemplateFileName,
77 String portResourceId, String portResourceType, String portNodeTemplateId) {
78 getPortTemplateConsolidationData(
79 serviceTemplateFileName, portResourceId, portResourceType, portNodeTemplateId);
82 private PortTemplateConsolidationData getPortTemplateConsolidationData(TranslateTo translateTo,
83 String portResourceId, String portResourceType, String portNodeTemplateId) {
84 ServiceTemplate serviceTemplate = translateTo.getServiceTemplate();
85 String serviceTemplateFileName = ToscaUtil.getServiceTemplateFileName(serviceTemplate);
86 return getPortTemplateConsolidationData(serviceTemplateFileName,
87 portResourceId, portResourceType, portNodeTemplateId);
90 private PortTemplateConsolidationData getPortTemplateConsolidationData(String serviceTemplateFileName,
91 String portResourceId, String portResourceType, String portNodeTemplateId) {
93 return portConsolidationData.addPortTemplateConsolidationData(serviceTemplateFileName,
94 portNodeTemplateId, portResourceId, portResourceType);