1 package org.onap.simulator.presetGenerator.presets.aai;
3 import com.google.common.collect.ImmutableList;
4 import com.google.common.collect.ImmutableMap;
5 import org.onap.simulator.presetGenerator.presets.BasePresets.BaseAAIPreset;
6 import org.springframework.http.HttpMethod;
11 import static java.util.stream.Collectors.joining;
13 public class PresetAAIModelsByInvariantIdGet extends BaseAAIPreset {
14 private final ImmutableList<String> modelInvariantIds;
16 public PresetAAIModelsByInvariantIdGet(ImmutableList<String> modelInvariantIds) {
17 this.modelInvariantIds = modelInvariantIds;
21 public HttpMethod getReqMethod() {
22 return HttpMethod.GET;
26 public String getReqPath() {
27 return getRootPath() + "/service-design-and-creation/models";
31 public Map<String, List> getQueryParams() {
32 return ImmutableMap.<String, List>builder()
33 .put("depth", ImmutableList.of("2"))
34 .put("model-invariant-id", modelInvariantIds)
39 public Object getResponseBody() {
40 // based on aai_get_model_by_2_invariant_ids.json
41 // should be refined to match input
45 modelInvariantIds.stream().map(modelInvariantId ->
47 " \"model-invariant-id\": \""+modelInvariantId+"\"," +
48 " \"model-type\": \"resource\"," +
49 " \"resource-version\": \"1507472057666\"," +
50 " \"model-vers\": {" +
53 " \"model-version-id\": \"7a6ee536-f052-46fa-aa7e-2fca9d674c44\"," +
54 " \"model-name\": \"vf_vEPDG\"," +
55 " \"model-version\": \"2.0\"," +
56 " \"model-description\": \"vEPDG\"," +
57 " \"distribution-status\": \"DISTRIBUTION_COMPLETE_ERROR\"," +
58 " \"resource-version\": \"1507649620979\"," +
59 " \"model-elements\": {" +
60 " \"model-element\": [" +
62 " \"model-element-uuid\": \"ccbc6dc9-58ad-4082-a81f-630114d99a70\"," +
63 " \"new-data-del-flag\": \"T\"," +
64 " \"cardinality\": \"unbounded\"," +
65 " \"resource-version\": \"1507649620982\"," +
66 " \"relationship-list\": {" +
67 " \"relationship\": [" +
69 " \"related-to\": \"model-ver\"," +
70 " \"related-link\": \"/aai/v11/service-design-and-creation/models/model/acc6edd8-a8d4-4b93-afaa-0994068be14c/model-vers/model-ver/93a6166f-b3d5-4f06-b4ba-aed48d009ad9\"," +
71 " \"relationship-data\": [" +
73 " \"relationship-key\": \"model.model-invariant-id\"," +
74 " \"relationship-value\": \"acc6edd8-a8d4-4b93-afaa-0994068be14c\"" +
77 " \"relationship-key\": \"model-ver.model-version-id\"," +
78 " \"relationship-value\": \"93a6166f-b3d5-4f06-b4ba-aed48d009ad9\"" +
81 " \"related-to-property\": [" +
83 " \"property-key\": \"model-ver.model-name\"," +
84 " \"property-value\": \"generic-vnf\"" +
93 " \"relationship-list\": {" +
94 " \"relationship\": [" +
96 " \"related-to\": \"model-element\"," +
97 " \"related-link\": \"/aai/v11/service-design-and-creation/models/model/d661b5fd-e0be-457e-a5ca-e345621af761/model-vers/model-ver/6019af4d-1902-47b1-a7ee-4609c198bf37/model-elements/model-element/8cf71918-6cce-4e01-8049-3f980f8f2b00/model-elements/model-element/4703eeb3-7200-4546-aff2-6e942ac0c0e1\"," +
98 " \"relationship-data\": [" +
100 " \"relationship-key\": \"model.model-invariant-id\"," +
101 " \"relationship-value\": \"d661b5fd-e0be-457e-a5ca-e345621af761\"" +
104 " \"relationship-key\": \"model-ver.model-version-id\"," +
105 " \"relationship-value\": \"6019af4d-1902-47b1-a7ee-4609c198bf37\"" +
108 " \"relationship-key\": \"model-element.model-element-uuid\"," +
109 " \"relationship-value\": \"8cf71918-6cce-4e01-8049-3f980f8f2b00\"" +
112 " \"relationship-key\": \"model-element.model-element-uuid\"," +
113 " \"relationship-value\": \"4703eeb3-7200-4546-aff2-6e942ac0c0e1\"" +
121 " \"model-version-id\": \"eb5f56bf-5855-4e61-bd00-3e19a953bf02\"," +
122 " \"model-name\": \"vf_vEPDG\"," +
123 " \"model-version\": \"1.0\"," +
124 " \"model-description\": \"vEPDG\"," +
125 " \"resource-version\": \"1507472057702\"," +
126 " \"model-elements\": {" +
127 " \"model-element\": [" +
129 " \"model-element-uuid\": \"18881687-8dab-4ec8-ab65-ebf8f95a6599\"," +
130 " \"new-data-del-flag\": \"T\"," +
131 " \"cardinality\": \"unbounded\"," +
132 " \"resource-version\": \"1507472057707\"," +
133 " \"relationship-list\": {" +
134 " \"relationship\": [" +
136 " \"related-to\": \"model-ver\"," +
137 " \"related-link\": \"/aai/v11/service-design-and-creation/models/model/acc6edd8-a8d4-4b93-afaa-0994068be14c/model-vers/model-ver/93a6166f-b3d5-4f06-b4ba-aed48d009ad9\"," +
138 " \"relationship-data\": [" +
140 " \"relationship-key\": \"model.model-invariant-id\"," +
141 " \"relationship-value\": \"acc6edd8-a8d4-4b93-afaa-0994068be14c\"" +
144 " \"relationship-key\": \"model-ver.model-version-id\"," +
145 " \"relationship-value\": \"93a6166f-b3d5-4f06-b4ba-aed48d009ad9\"" +
148 " \"related-to-property\": [" +
150 " \"property-key\": \"model-ver.model-name\"," +
151 " \"property-value\": \"generic-vnf\"" +
160 " \"relationship-list\": {" +
161 " \"relationship\": [" +
163 " \"related-to\": \"model-element\"," +
164 " \"related-link\": \"/aai/v11/service-design-and-creation/models/model/d661b5fd-e0be-457e-a5ca-e345621af761/model-vers/model-ver/de6f879b-37a9-44a5-97ed-cd52cc14bc47/model-elements/model-element/7a074be4-fcf1-46a5-88ee-41a7c7a6faab/model-elements/model-element/72f0adb5-5294-46f7-8085-a8aee9cb5f49\"," +
165 " \"relationship-data\": [" +
167 " \"relationship-key\": \"model.model-invariant-id\"," +
168 " \"relationship-value\": \"d661b5fd-e0be-457e-a5ca-e345621af761\"" +
171 " \"relationship-key\": \"model-ver.model-version-id\"," +
172 " \"relationship-value\": \"de6f879b-37a9-44a5-97ed-cd52cc14bc47\"" +
175 " \"relationship-key\": \"model-element.model-element-uuid\"," +
176 " \"relationship-value\": \"7a074be4-fcf1-46a5-88ee-41a7c7a6faab\"" +
179 " \"relationship-key\": \"model-element.model-element-uuid\"," +
180 " \"relationship-value\": \"72f0adb5-5294-46f7-8085-a8aee9cb5f49\"" +
188 " \"model-version-id\": \"b7f2e8fb-ac71-4ea0-a801-06ef1479ea84\"," +
189 " \"model-name\": \"vf_vEPDG\"," +
190 " \"model-version\": \"4.0\"," +
191 " \"model-description\": \"vEPDG_Up\"," +
192 " \"resource-version\": \"1508954433176\"," +
193 " \"model-elements\": {" +
194 " \"model-element\": [" +
196 " \"model-element-uuid\": \"4ed7025a-d37b-444f-8008-5c7c41d76d47\"," +
197 " \"new-data-del-flag\": \"T\"," +
198 " \"cardinality\": \"unbounded\"," +
199 " \"resource-version\": \"1508954433179\"," +
200 " \"relationship-list\": {" +
201 " \"relationship\": [" +
203 " \"related-to\": \"model-ver\"," +
204 " \"related-link\": \"/aai/v11/service-design-and-creation/models/model/acc6edd8-a8d4-4b93-afaa-0994068be14c/model-vers/model-ver/93a6166f-b3d5-4f06-b4ba-aed48d009ad9\"," +
205 " \"relationship-data\": [" +
207 " \"relationship-key\": \"model.model-invariant-id\"," +
208 " \"relationship-value\": \"acc6edd8-a8d4-4b93-afaa-0994068be14c\"" +
211 " \"relationship-key\": \"model-ver.model-version-id\"," +
212 " \"relationship-value\": \"93a6166f-b3d5-4f06-b4ba-aed48d009ad9\"" +
215 " \"related-to-property\": [" +
217 " \"property-key\": \"model-ver.model-name\"," +
218 " \"property-value\": \"generic-vnf\"" +
227 " \"relationship-list\": {" +
228 " \"relationship\": [" +
230 " \"related-to\": \"model-element\"," +
231 " \"related-link\": \"/aai/v11/service-design-and-creation/models/model/d661b5fd-e0be-457e-a5ca-e345621af761/model-vers/model-ver/0e3f3390-48dd-4640-aed7-0eb873d40a97/model-elements/model-element/106d11a5-2b8c-4586-a56d-ee387e822757/model-elements/model-element/3d7e724a-6f05-4111-8b22-78d024c53081\"," +
232 " \"relationship-data\": [" +
234 " \"relationship-key\": \"model.model-invariant-id\"," +
235 " \"relationship-value\": \"d661b5fd-e0be-457e-a5ca-e345621af761\"" +
238 " \"relationship-key\": \"model-ver.model-version-id\"," +
239 " \"relationship-value\": \"0e3f3390-48dd-4640-aed7-0eb873d40a97\"" +
242 " \"relationship-key\": \"model-element.model-element-uuid\"," +
243 " \"relationship-value\": \"106d11a5-2b8c-4586-a56d-ee387e822757\"" +
246 " \"relationship-key\": \"model-element.model-element-uuid\"," +
247 " \"relationship-value\": \"3d7e724a-6f05-4111-8b22-78d024c53081\"" +
255 " \"model-version-id\": \"4117a0b6-e234-467d-b5b9-fe2f68c8b0fc\"," +
256 " \"model-name\": \"Grouping Service for Test\"," +
257 " \"model-version\": \"1.0\"," +
258 " \"model-description\": \"vEPDG_Up\"," +
259 " \"resource-version\": \"1508954433176\"," +
260 " \"model-elements\": {" +
261 " \"model-element\": [" +
263 " \"model-element-uuid\": \"4ed7025a-d37b-444f-8008-5c7c41d76d47\"," +
264 " \"new-data-del-flag\": \"T\"," +
265 " \"cardinality\": \"unbounded\"," +
266 " \"resource-version\": \"1508954433179\"," +
267 " \"relationship-list\": {" +
268 " \"relationship\": [" +
270 " \"related-to\": \"model-ver\"," +
271 " \"related-link\": \"/aai/v11/service-design-and-creation/models/model/acc6edd8-a8d4-4b93-afaa-0994068be14c/model-vers/model-ver/93a6166f-b3d5-4f06-b4ba-aed48d009ad9\"," +
272 " \"relationship-data\": [" +
274 " \"relationship-key\": \"model.model-invariant-id\"," +
275 " \"relationship-value\": \"acc6edd8-a8d4-4b93-afaa-0994068be14c\"" +
278 " \"relationship-key\": \"model-ver.model-version-id\"," +
279 " \"relationship-value\": \"93a6166f-b3d5-4f06-b4ba-aed48d009ad9\"" +
282 " \"related-to-property\": [" +
284 " \"property-key\": \"model-ver.model-name\"," +
285 " \"property-value\": \"generic-vnf\"" +
294 " \"relationship-list\": {" +
295 " \"relationship\": [" +
297 " \"related-to\": \"model-element\"," +
298 " \"related-link\": \"/aai/v11/service-design-and-creation/models/model/d661b5fd-e0be-457e-a5ca-e345621af761/model-vers/model-ver/0e3f3390-48dd-4640-aed7-0eb873d40a97/model-elements/model-element/106d11a5-2b8c-4586-a56d-ee387e822757/model-elements/model-element/3d7e724a-6f05-4111-8b22-78d024c53081\"," +
299 " \"relationship-data\": [" +
301 " \"relationship-key\": \"model.model-invariant-id\"," +
302 " \"relationship-value\": \"d661b5fd-e0be-457e-a5ca-e345621af761\"" +
305 " \"relationship-key\": \"model-ver.model-version-id\"," +
306 " \"relationship-value\": \"0e3f3390-48dd-4640-aed7-0eb873d40a97\"" +
309 " \"relationship-key\": \"model-element.model-element-uuid\"," +
310 " \"relationship-value\": \"106d11a5-2b8c-4586-a56d-ee387e822757\"" +
313 " \"relationship-key\": \"model-element.model-element-uuid\"," +
314 " \"relationship-value\": \"3d7e724a-6f05-4111-8b22-78d024c53081\"" +
322 " \"model-version-id\": \"6e59c5de-f052-46fa-aa7e-2fca9d674c44\"," +
323 " \"model-name\": \"vf_vEPDG\"," +
324 " \"model-version\": \"5.0\"," +
325 " \"model-description\": \"vEPDG_Up\"," +
326 " \"resource-version\": \"1509570916147\"," +
327 " \"model-elements\": {" +
328 " \"model-element\": [" +
330 " \"model-element-uuid\": \"49899999-076d-456b-915c-078d1b2a05b3\"," +
331 " \"new-data-del-flag\": \"T\"," +
332 " \"cardinality\": \"unbounded\"," +
333 " \"resource-version\": \"1509570916150\"," +
334 " \"relationship-list\": {" +
335 " \"relationship\": [" +
337 " \"related-to\": \"model-ver\"," +
338 " \"related-link\": \"/aai/v11/service-design-and-creation/models/model/acc6edd8-a8d4-4b93-afaa-0994068be14c/model-vers/model-ver/93a6166f-b3d5-4f06-b4ba-aed48d009ad9\"," +
339 " \"relationship-data\": [" +
341 " \"relationship-key\": \"model.model-invariant-id\"," +
342 " \"relationship-value\": \"acc6edd8-a8d4-4b93-afaa-0994068be14c\"" +
345 " \"relationship-key\": \"model-ver.model-version-id\"," +
346 " \"relationship-value\": \"93a6166f-b3d5-4f06-b4ba-aed48d009ad9\"" +
349 " \"related-to-property\": [" +
351 " \"property-key\": \"model-ver.model-name\"," +
352 " \"property-value\": \"generic-vnf\"" +
361 " \"relationship-list\": {" +
362 " \"relationship\": [" +
364 " \"related-to\": \"model-element\"," +
365 " \"related-link\": \"/aai/v11/service-design-and-creation/models/model/d661b5fd-e0be-457e-a5ca-e345621af761/model-vers/model-ver/03655348-0148-4482-b0b7-a5de71ab6264/model-elements/model-element/e97f008f-fc19-4b6e-8842-e54ec6eafb6e/model-elements/model-element/cfc574f2-6869-41d3-bfae-42b54b711568\"," +
366 " \"relationship-data\": [" +
368 " \"relationship-key\": \"model.model-invariant-id\"," +
369 " \"relationship-value\": \"d661b5fd-e0be-457e-a5ca-e345621af761\"" +
372 " \"relationship-key\": \"model-ver.model-version-id\"," +
373 " \"relationship-value\": \"03655348-0148-4482-b0b7-a5de71ab6264\"" +
376 " \"relationship-key\": \"model-element.model-element-uuid\"," +
377 " \"relationship-value\": \"e97f008f-fc19-4b6e-8842-e54ec6eafb6e\"" +
380 " \"relationship-key\": \"model-element.model-element-uuid\"," +
381 " \"relationship-value\": \"cfc574f2-6869-41d3-bfae-42b54b711568\"" +
390 " }").collect(joining(", ")) +