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.be.datamodel.utils;
19 import org.openecomp.sdc.be.datatypes.elements.InterfaceOperationDataDefinition;
20 import org.openecomp.sdc.be.datatypes.elements.InterfaceOperationParamDataDefinition;
21 import org.openecomp.sdc.be.datatypes.elements.ListDataDefinition;
22 import org.openecomp.sdc.be.datatypes.elements.OperationInputDefinition;
23 import org.openecomp.sdc.be.datatypes.elements.OperationOutputDefinition;
24 import org.openecomp.sdc.be.model.Operation;
26 import java.util.List;
27 import java.util.stream.Collectors;
29 public class InterfaceUIDataConverter {
31 private InterfaceUIDataConverter () {
34 public static Operation convertInterfaceDataToOperationData(InterfaceOperationDataDefinition interfaceOperation){
36 ListDataDefinition<InterfaceOperationParamDataDefinition> inputParams = interfaceOperation.getInputParams();
37 ListDataDefinition<OperationInputDefinition> inputs = new ListDataDefinition<>();
38 if (inputParams != null) {
39 List<OperationInputDefinition> inputList = inputParams.getListToscaDataDefinition().stream()
40 .map(interfaceOperationParamDataDefinition -> new OperationInputDefinition(
41 interfaceOperationParamDataDefinition.getName(),
42 interfaceOperationParamDataDefinition.getProperty(),
43 interfaceOperationParamDataDefinition.getMandatory() == null ? false : interfaceOperationParamDataDefinition.getMandatory(),
44 interfaceOperationParamDataDefinition.getType()
45 )).collect(Collectors.toList());
46 inputList.forEach(inputs::add);
48 ListDataDefinition<InterfaceOperationParamDataDefinition> outputParams = interfaceOperation.getOutputParams();
49 ListDataDefinition<OperationOutputDefinition> outputs = new ListDataDefinition<>();
50 if(outputParams != null) {
51 List<OperationOutputDefinition> outputList = outputParams.getListToscaDataDefinition().stream()
52 .map(interfaceOperationParamDataDefinition -> new OperationOutputDefinition(
53 interfaceOperationParamDataDefinition.getName(),
54 interfaceOperationParamDataDefinition.getMandatory(),
55 interfaceOperationParamDataDefinition.getType()
56 )).collect(Collectors.toList());
57 outputList.forEach(outputs::add);
60 Operation operationData = new Operation();
61 operationData.setDescription(interfaceOperation.getDescription());
62 operationData.setName(interfaceOperation.getOperationType());
63 operationData.setUniqueId(interfaceOperation.getUniqueId());
64 operationData.setInputs(inputs);
65 operationData.setOutputs(outputs);
66 operationData.setWorkflowId(interfaceOperation.getWorkflowId());
67 operationData.setWorkflowVersionId(interfaceOperation.getWorkflowVersionId());
72 public static InterfaceOperationDataDefinition convertOperationDataToInterfaceData(Operation operationData){
73 ListDataDefinition<OperationInputDefinition> inputs = operationData.getInputs();
74 List<InterfaceOperationParamDataDefinition> inputParamList = inputs.getListToscaDataDefinition().stream()
75 .map(operationInputDefinition -> new InterfaceOperationParamDataDefinition(operationInputDefinition.getName(),
76 operationInputDefinition.getInputId(),
77 operationInputDefinition.isRequired(),
78 operationInputDefinition.getType())).collect(
80 ListDataDefinition<InterfaceOperationParamDataDefinition> inputParams = new ListDataDefinition<>();
81 inputParamList.forEach(inputParams::add);
83 ListDataDefinition<OperationOutputDefinition> outputs = operationData.getOutputs();
84 List<InterfaceOperationParamDataDefinition> outputParamList = outputs.getListToscaDataDefinition()
85 .stream().map(operationOutputDefinition -> new InterfaceOperationParamDataDefinition(operationOutputDefinition.getName(),
86 operationOutputDefinition.isRequired(),
87 operationOutputDefinition.getType())).collect(Collectors.toList());
88 ListDataDefinition<InterfaceOperationParamDataDefinition> outputParams = new ListDataDefinition<>();
89 outputParamList.forEach(outputParams::add);
91 InterfaceOperationDataDefinition interfaceOperationDataDefinition = new InterfaceOperationDataDefinition();
92 interfaceOperationDataDefinition.setUniqueId(operationData.getUniqueId());
93 interfaceOperationDataDefinition.setOperationType(operationData.getName());
94 interfaceOperationDataDefinition.setDescription(operationData.getDescription());
95 interfaceOperationDataDefinition.setInputParams(inputParams);
96 interfaceOperationDataDefinition.setOutputParams(outputParams);
97 interfaceOperationDataDefinition.setArtifactUUID(operationData.getImplementation().getArtifactUUID());
98 interfaceOperationDataDefinition.setWorkflowId(operationData.getWorkflowId());
99 interfaceOperationDataDefinition.setWorkflowVersionId(operationData.getWorkflowVersionId());
101 return interfaceOperationDataDefinition;