Sync Integ to Master
[sdc.git] / catalog-be / src / test / java / org / openecomp / sdc / be / components / utils / ObjectGenerator.java
1 package org.openecomp.sdc.be.components.utils;
2
3 import org.openecomp.sdc.be.model.ComponentInstance;
4 import org.openecomp.sdc.be.model.ComponentInstanceInput;
5 import org.openecomp.sdc.be.model.ComponentInstanceProperty;
6 import org.openecomp.sdc.be.model.HeatParameterDefinition;
7 import org.openecomp.sdc.be.model.InputDefinition;
8 import org.openecomp.sdc.be.model.PropertyDefinition;
9 import org.openecomp.sdc.be.model.RequirementCapabilityRelDef;
10 import org.openecomp.sdc.be.model.Resource;
11
12 import java.util.ArrayList;
13 import java.util.Arrays;
14 import java.util.List;
15 import java.util.stream.Collectors;
16 import java.util.stream.Stream;
17
18 public class ObjectGenerator {
19
20     public static Resource buildResourceWithInputs(String ... inputNames) {
21         Resource resource = buildBasicResource();
22         resource.setInputs(ObjectGenerator.buildInputs(inputNames));
23         return resource;
24     }
25
26     public static Resource buildResourceWithProperties(String ... propertiesNames) {
27         ResourceBuilder resourceBuilder = new ResourceBuilder();
28         resourceBuilder.setUniqueId("id");
29         for (String propertyName : propertiesNames) {
30             PropertyDefinition propertyDefinition = new PropertyDefinition();
31             propertyDefinition.setName(propertyName);
32             resourceBuilder.addProperty(propertyDefinition);
33         }
34         return resourceBuilder.build();
35     }
36
37     public static List<ComponentInstanceProperty> buildInstanceProperties(String ... propertiesNames) {
38         return Stream.of(propertiesNames).map(name ->  {
39             ComponentInstanceProperty instProp = new ComponentInstanceProperty();
40             instProp.setName(name);
41             return instProp;
42         }).collect(Collectors.toList());
43     }
44
45     public static List<ComponentInstanceInput> buildInstanceInputs(String ... inputsNames) {
46         return Stream.of(inputsNames).map(name ->  {
47             ComponentInstanceInput instProp = new ComponentInstanceInput();
48             instProp.setName(name);
49             return instProp;
50         }).collect(Collectors.toList());
51     }
52
53     public static List<InputDefinition> buildInputs(String ... inputNames) {
54         List<InputDefinition> inputs = new ArrayList<>();
55         for (String inputName : inputNames) {
56             InputDefinition inputDefinition = new InputDefinition();
57             inputDefinition.setName(inputName);
58             inputs.add(inputDefinition);
59         }
60         return inputs;
61     }
62
63     public static Resource buildResourceWithComponentInstance(String ... instanceNames) {
64         List<ComponentInstance> instances = new ArrayList<>();
65         for (String instanceName : instanceNames) {
66             ComponentInstance componentInstance = new ComponentInstanceBuilder().setName(instanceName).setComponentUid(instanceName).build();
67             instances.add(componentInstance);
68         }
69         return buildResourceWithComponentInstances(instances);
70     }
71
72     public static Resource buildResourceWithComponentInstances(List<ComponentInstance> instances) {
73         Resource resource = buildBasicResource();
74         resource.setComponentInstances(instances);
75         return resource;
76     }
77
78     public static Resource buildResourceWithComponentInstances(ComponentInstance ... instances) {
79         return buildResourceWithComponentInstances(Arrays.asList(instances));
80     }
81
82     public static Resource buildResourceWithRelationships(RequirementCapabilityRelDef ... relations) {
83         Resource resource = buildBasicResource();
84         ResourceBuilder resourceBuilder = new ResourceBuilder(resource);
85         for (RequirementCapabilityRelDef relation : relations) {
86             resourceBuilder.addRelationship(relation);
87         }
88         return resourceBuilder.build();
89     }
90
91     public static Resource buildBasicResource() {
92         Resource resource = new Resource();
93         resource.setUniqueId("id");
94         return resource;
95     }
96
97     public static HeatParameterDefinition buildHeatParam(String defaultVal, String currValue) {
98         return new HeatParameterBuilder().setDefaultValue(defaultVal).setCurrentValue(currValue).build();
99     }
100
101 }