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.datamodel.utils;
23 import org.openecomp.sdc.be.datatypes.components.ResourceMetadataDataDefinition;
24 import org.openecomp.sdc.be.datatypes.components.ServiceMetadataDataDefinition;
25 import org.openecomp.sdc.be.datatypes.enums.ComponentFieldsEnum;
26 import org.openecomp.sdc.be.model.Component;
27 import org.openecomp.sdc.be.model.Resource;
28 import org.openecomp.sdc.be.model.Service;
29 import org.openecomp.sdc.be.ui.model.*;
31 import java.util.ArrayList;
32 import java.util.HashMap;
33 import java.util.List;
35 public class UiComponentDataConverter {
37 private static void setUiTranferDataByFieldName(UiComponentDataTransfer dataTransfer, Component component, String fieldName) {
39 switch (ComponentFieldsEnum.findByValue(fieldName)) {
42 if(component.getInputs() == null){
43 dataTransfer.setInputs(new ArrayList<>());
45 dataTransfer.setInputs(component.getInputs());
49 case COMPONENT_INSTANCE_RELATION:
50 if(component.getComponentInstancesRelations() == null){
51 dataTransfer.setComponentInstancesRelations(new ArrayList<>());
53 dataTransfer.setComponentInstancesRelations(component.getComponentInstancesRelations());
59 if(component.getGroups() == null){
60 dataTransfer.setGroups(new ArrayList<>());
62 dataTransfer.setGroups(component.getGroups());
66 case COMPONENT_INSTANCES:
67 if(component.getComponentInstances() == null) {
68 dataTransfer.setComponentInstances(new ArrayList<>());
70 dataTransfer.setComponentInstances(component.getComponentInstances());
74 case COMPONENT_INSTANCES_PROPERTIES:
75 if(component.getComponentInstancesProperties() == null) {
76 dataTransfer.setComponentInstancesProperties(new HashMap<>());
78 dataTransfer.setComponentInstancesProperties(component.getComponentInstancesProperties());
83 if(component.getCapabilities() == null) {
84 dataTransfer.setCapabilities(new HashMap<>());
86 dataTransfer.setCapabilities(component.getCapabilities());
91 dataTransfer.setPolicies(component.resolvePoliciesList());
95 if(component.getRequirements() == null) {
96 dataTransfer.setRequirements(new HashMap<>());
98 dataTransfer.setRequirements(component.getRequirements());
102 case DEPLOYMENT_ARTIFACTS:
103 if(component.getDeploymentArtifacts() == null) {
104 dataTransfer.setDeploymentArtifacts(new HashMap<>());
106 dataTransfer.setDeploymentArtifacts(component.getDeploymentArtifacts());
110 case TOSCA_ARTIFACTS:
111 if(component.getToscaArtifacts() == null) {
112 dataTransfer.setToscaArtifacts(new HashMap<>());
114 dataTransfer.setToscaArtifacts(component.getToscaArtifacts());
119 if(component.getArtifacts() == null) {
120 dataTransfer.setArtifacts(new HashMap<>());
122 dataTransfer.setArtifacts(component.getArtifacts());
126 case COMPONENT_INSTANCES_ATTRIBUTES:
127 if(component.getComponentInstancesAttributes() == null) {
128 dataTransfer.setComponentInstancesAttributes(new HashMap<>());
130 dataTransfer.setComponentInstancesAttributes(component.getComponentInstancesAttributes());
134 case COMPONENT_INSTANCE_INPUTS:
135 if(component.getComponentInstancesInputs() == null) {
136 dataTransfer.setComponentInstancesInputs(new HashMap<>());
138 dataTransfer.setComponentInstancesInputs(component.getComponentInstancesInputs());
151 public static UiComponentDataTransfer getUiDataTransferFromResourceByParams(Resource resource, List<String> paramsToReturn) {
152 UiResourceDataTransfer dataTransfer = new UiResourceDataTransfer();
154 for(String fieldName: paramsToReturn){
156 switch (ComponentFieldsEnum.findByValue(fieldName)) {
159 if(resource.getProperties() == null) {
160 dataTransfer.setProperties(new ArrayList<>());
162 dataTransfer.setProperties(resource.getProperties());
167 if(resource.getInterfaces() == null) {
168 dataTransfer.setInterfaces(new HashMap<>());
170 dataTransfer.setInterfaces(resource.getInterfaces());
175 if(resource.getDerivedFrom() == null) {
176 dataTransfer.setDerivedFrom(new ArrayList<>());
178 dataTransfer.setDerivedFrom(resource.getDerivedFrom());
183 if(resource.getAttributes() == null) {
184 dataTransfer.setAttributes(new ArrayList<>());
186 dataTransfer.setAttributes(resource.getAttributes());
190 case ADDITIONAL_INFORMATION:
191 if(resource.getAdditionalInformation() == null) {
192 dataTransfer.setAdditionalInformation(new ArrayList<>());
194 dataTransfer.setAdditionalInformation(resource.getAdditionalInformation());
198 UiResourceMetadata metadata = new UiResourceMetadata(resource.getCategories(), resource.getDerivedFrom(), (ResourceMetadataDataDefinition) resource.getComponentMetadataDefinition().getMetadataDataDefinition());
199 dataTransfer.setMetadata(metadata);
203 setUiTranferDataByFieldName(dataTransfer, resource, fieldName);
210 public static UiComponentDataTransfer getUiDataTransferFromServiceByParams(Service service, List<String> paramsToReturn) {
211 UiServiceDataTransfer dataTransfer = new UiServiceDataTransfer();
213 for(String fieldName: paramsToReturn){
215 switch (ComponentFieldsEnum.findByValue(fieldName)) {
217 case SERVICE_API_ARTIFACTS:
218 if(service.getServiceApiArtifacts() == null) {
219 dataTransfer.setServiceApiArtifacts(new org.openecomp.sdc.be.ui.model.SerializedHashMap<>());
221 dataTransfer.setServiceApiArtifacts(service.getServiceApiArtifacts());
225 case FORWARDING_PATHS:
226 if(service.getForwardingPaths() == null) {
227 dataTransfer.setForwardingPaths(new org.openecomp.sdc.be.ui.model.SerializedHashMap<>());
229 dataTransfer.setForwardingPaths(service.getForwardingPaths());
234 UiServiceMetadata metadata = new UiServiceMetadata(service.getCategories(), (ServiceMetadataDataDefinition) service.getComponentMetadataDefinition().getMetadataDataDefinition());
235 dataTransfer.setMetadata(metadata);
238 setUiTranferDataByFieldName(dataTransfer, service, fieldName);
246 public static UiComponentMetadata convertToUiComponentMetadata(Component component) {
248 UiComponentMetadata uiComponentMetadata = null;
249 switch (component.getComponentType()) {
251 Resource resource = (Resource)component;
252 uiComponentMetadata = new UiResourceMetadata(component.getCategories(), resource.getDerivedFrom(), (ResourceMetadataDataDefinition) resource.getComponentMetadataDefinition().getMetadataDataDefinition());
255 uiComponentMetadata = new UiServiceMetadata(component.getCategories(), (ServiceMetadataDataDefinition) component.getComponentMetadataDefinition().getMetadataDataDefinition());
260 return uiComponentMetadata;