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=========================================================
20 package org.openecomp.sdc.be.unittests.utils;
22 import java.util.ArrayList;
23 import java.util.List;
24 import java.util.UUID;
25 import org.openecomp.sdc.be.dao.graph.datatype.GraphEdge;
26 import org.openecomp.sdc.be.datatypes.components.ResourceMetadataDataDefinition;
27 import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition;
28 import org.openecomp.sdc.be.datatypes.elements.SchemaDefinition;
29 import org.openecomp.sdc.be.datatypes.enums.OriginTypeEnum;
30 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
31 import org.openecomp.sdc.be.model.CapabilityDefinition;
32 import org.openecomp.sdc.be.model.ComponentInstance;
33 import org.openecomp.sdc.be.model.ComponentInstanceProperty;
34 import org.openecomp.sdc.be.model.PropertyDefinition;
35 import org.openecomp.sdc.be.model.RequirementDefinition;
36 import org.openecomp.sdc.be.model.Resource;
37 import org.openecomp.sdc.be.resources.data.CapabilityData;
38 import org.openecomp.sdc.be.resources.data.CapabilityInstData;
39 import org.openecomp.sdc.be.resources.data.PropertyData;
40 import org.openecomp.sdc.be.resources.data.PropertyValueData;
41 import org.openecomp.sdc.be.resources.data.RequirementData;
42 import org.openecomp.sdc.be.resources.data.ResourceMetadataData;
44 public final class FactoryUtils {
46 private static final String STRING = "string";
47 private static final String DEFAULT_CAPABILITY_TYPE = "tosca.capabilities.Node";
49 private FactoryUtils() {
52 public static Resource createVFWithRI(String riVersion) {
53 Resource vf = createVF();
54 ComponentInstance ri = createResourceInstanceWithVersion(riVersion);
55 addComponentInstanceToVF(vf, ri);
59 public static Resource createVF() {
60 Resource resource = new Resource();
61 String uniqueId = UUID.randomUUID().toString();
62 resource.setUniqueId(uniqueId);
66 public static ResourceMetadataData createResourceByType(String resourceType) {
67 ResourceMetadataData resource = new ResourceMetadataData();
68 String uniqueId = UUID.randomUUID().toString();
69 resource.getMetadataDataDefinition().setHighestVersion(true);
70 resource.getMetadataDataDefinition().setUniqueId(uniqueId);
71 ((ResourceMetadataDataDefinition) resource.getMetadataDataDefinition()).setResourceType(ResourceTypeEnum.getTypeIgnoreCase(resourceType));
75 public static void addComponentInstanceToVF(Resource vf, ComponentInstance resourceInstance) {
76 List<ComponentInstance> componentsInstances = vf.getComponentInstances() != null ? vf.getComponentInstances() : new ArrayList<>();
77 componentsInstances.add(resourceInstance);
78 vf.setComponentInstances(componentsInstances);
81 public static ComponentInstance createResourceInstance() {
82 ComponentInstance ri = new ComponentInstance();
83 ri.setComponentVersion("0.1");
84 String uniqueId = UUID.randomUUID().toString();
85 ri.setComponentUid(uniqueId);
86 ri.setUniqueId(uniqueId);
87 ri.setName("genericRI" + uniqueId);
88 ri.setOriginType(OriginTypeEnum.VF);
92 public static ComponentInstance createResourceInstanceWithVersion(String riVersion) {
93 ComponentInstance ri = createResourceInstance();
94 ri.setComponentVersion(riVersion);
98 public static CapabilityData createCapabilityData() {
99 CapabilityData capData = new CapabilityData();
100 String uniqueId = UUID.randomUUID().toString();
101 capData.setUniqueId(uniqueId);
102 capData.setType(DEFAULT_CAPABILITY_TYPE);
106 public static RequirementData createRequirementData() {
107 RequirementData reqData = new RequirementData();
108 String uniqueId = UUID.randomUUID().toString();
109 reqData.setUniqueId(uniqueId);
113 public static CapabilityDefinition convertCapabilityDataToCapabilityDefinitionAddProperties(CapabilityData capData) {
114 CapabilityDefinition capDef = new CapabilityDefinition();
115 capDef.setName("Cap2");
116 capDef.setDescription(capData.getDescription());
117 capDef.setUniqueId(capData.getUniqueId());
118 capDef.setValidSourceTypes(capData.getValidSourceTypes());
119 capDef.setType(capData.getType());
120 capDef.setProperties(new ArrayList<>());
121 ComponentInstanceProperty host = new ComponentInstanceProperty();
122 host.setUniqueId(UUID.randomUUID().toString());
123 host.setName("host");
124 host.setDefaultValue("defhost");
125 host.setType(STRING);
126 host.setSchema(new SchemaDefinition());
127 host.getSchema().setProperty(new PropertyDataDefinition());
128 host.getSchema().getProperty().setType(STRING);
129 capDef.getProperties().add(host);
130 ComponentInstanceProperty port = new ComponentInstanceProperty();
131 port.setName("port");
132 port.setDefaultValue("defport");
133 port.setUniqueId(UUID.randomUUID().toString());
134 port.setType(STRING);
135 port.setSchema(new SchemaDefinition());
136 port.getSchema().setProperty(new PropertyDataDefinition());
137 port.getSchema().getProperty().setType(STRING);
138 capDef.getProperties().add(port);
142 public static List<ComponentInstanceProperty> createComponentInstancePropertyList() {
143 List<ComponentInstanceProperty> properties = new ArrayList<>();
144 ComponentInstanceProperty host = new ComponentInstanceProperty();
145 host.setUniqueId(UUID.randomUUID().toString());
146 host.setName("host");
147 host.setValue("newhost");
148 host.setType(STRING);
149 host.setSchema(new SchemaDefinition());
150 host.getSchema().setProperty(new PropertyDataDefinition());
151 host.getSchema().getProperty().setType(STRING);
152 properties.add(host);
153 ComponentInstanceProperty port = new ComponentInstanceProperty();
154 port.setName("port");
155 port.setValue("newport");
156 port.setUniqueId(UUID.randomUUID().toString());
157 port.setType(STRING);
158 port.setSchema(new SchemaDefinition());
159 port.getSchema().setProperty(new PropertyDataDefinition());
160 port.getSchema().getProperty().setType(STRING);
161 properties.add(port);
165 public static RequirementDefinition convertRequirementDataIDToRequirementDefinition(String reqDataId) {
166 RequirementDefinition reqDef = new RequirementDefinition();
167 reqDef.setUniqueId(reqDataId);
168 reqDef.setCapability(DEFAULT_CAPABILITY_TYPE);
172 public static GraphEdge createGraphEdge() {
173 return new GraphEdge();
176 public static CapabilityInstData createCapabilityInstData() {
177 CapabilityInstData capInstData = new CapabilityInstData();
178 String uniqueId = UUID.randomUUID().toString();
179 capInstData.setUniqueId(uniqueId);
183 public static PropertyValueData createPropertyData() {
184 PropertyValueData propData = new PropertyValueData();
185 String uniqueId = UUID.randomUUID().toString();
186 propData.setValue("localhost");
187 propData.setUniqueId(uniqueId);
191 public static PropertyData convertCapabilityDefinitionToCapabilityData(PropertyDefinition propDef) {
192 PropertyData propData = new PropertyData();
193 propData.getPropertyDataDefinition().setUniqueId(propDef.getUniqueId());
194 propData.getPropertyDataDefinition().setDefaultValue(propDef.getDefaultValue());
198 public static CapabilityDefinition convertCapabilityDataToCapabilityDefinitionRoot(CapabilityData capData) {
199 CapabilityDefinition capDef = new CapabilityDefinition();
200 capDef.setName("Cap1");
201 capDef.setDescription(capData.getDescription());
202 capDef.setUniqueId(capData.getUniqueId());
203 capDef.setValidSourceTypes(capData.getValidSourceTypes());
204 capDef.setType(capData.getType());
205 capDef.setProperties(new ArrayList<>());
206 ComponentInstanceProperty host = new ComponentInstanceProperty();
207 host.setUniqueId(UUID.randomUUID().toString());
208 host.setName("host");
209 host.setDefaultValue("roothost");
210 host.setType(STRING);
211 host.setSchema(new SchemaDefinition());
212 host.getSchema().setProperty(new PropertyDataDefinition());
213 host.getSchema().getProperty().setType(STRING);
214 capDef.getProperties().add(host);
215 ComponentInstanceProperty port = new ComponentInstanceProperty();
216 port.setName("port");
217 port.setDefaultValue("rootport");
218 port.setUniqueId(UUID.randomUUID().toString());
219 port.setType(STRING);
220 port.setSchema(new SchemaDefinition());
221 port.getSchema().setProperty(new PropertyDataDefinition());
222 port.getSchema().getProperty().setType(STRING);
223 capDef.getProperties().add(port);