Renaming vid-automation #1
[vid.git] / vid-automation / src / main / java / org / onap / simulator / presetGenerator / presets / aai / PresetAAIServiceDesignAndCreationPut.java
1 package org.onap.simulator.presetGenerator.presets.aai;
2
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;
7
8 import java.util.Collections;
9 import java.util.List;
10 import java.util.Map;
11 import java.util.stream.Collectors;
12
13 public class PresetAAIServiceDesignAndCreationPut extends BaseAAIPreset {
14
15     public PresetAAIServiceDesignAndCreationPut(boolean emptyList) {
16         serviceModelIdentifiers = ImmutableList.of();
17         this.emptyList = emptyList;
18     }
19
20     public PresetAAIServiceDesignAndCreationPut(String modelVersionId, String modelInvariantId) {
21         serviceModelIdentifiers = ImmutableList.of(new ServiceModelIdentifiers(modelVersionId, modelInvariantId));
22     }
23
24     public PresetAAIServiceDesignAndCreationPut(List<ServiceModelIdentifiers> serviceModelIdentifiers) {
25         this.serviceModelIdentifiers = serviceModelIdentifiers;
26     }
27
28     public static class ServiceModelIdentifiers {
29         public final String modelVersionId;
30         public final String modelInvariantId;
31
32         public ServiceModelIdentifiers(String modelVersionId, String modelInvariantId) {
33             this.modelVersionId = modelVersionId;
34             this.modelInvariantId = modelInvariantId;
35         }
36     }
37
38     private List<ServiceModelIdentifiers> serviceModelIdentifiers;
39     boolean emptyList;
40
41     @Override
42     public HttpMethod getReqMethod() {
43         return HttpMethod.PUT;
44     }
45
46     @Override
47     public String getReqPath() {
48         return getRootPath() + "/query";
49     }
50
51     @Override
52     public Map<String, List> getQueryParams() {
53         return ImmutableMap.of("format", Collections.singletonList("resource"));
54     }
55
56     @Override
57     public Object getRequestBody() {
58         return "{\"start\" : \"service-design-and-creation/models/\", \"query\" : \"query/serviceModels-byDistributionStatus?distributionStatus=DISTRIBUTION_COMPLETE_OK\"}";
59     }
60
61
62
63     private String presetModels() {
64         return
65                 serviceModelIdentifiers.stream().map(identifiers ->
66                         "       {" +
67                                 "          \"model\": {" +
68                                 "            \"model-invariant-id\": \"" + identifiers.modelInvariantId + "\"," +
69                                 "            \"model-type\": \"resource\"," +
70                                 "            \"resource-version\": \"1500138206526\"," +
71                                 "            \"model-vers\": {" +
72                                 "              \"model-ver\": [" +
73                                 "                {" +
74                                 "                  \"model-version-id\": \"" + identifiers.modelVersionId + "\"," +
75                                 "                  \"model-name\": \"action-data\"," +
76                                 "                  \"model-version\": \"1.0\"," +
77                                 "                  \"model-description\": \"lustre settler sideways volcanic eight cellular\"," +
78                                 "                  \"resource-version\": \"1500137463984\"," +
79                                 "                  \"relationship-list\": {" +
80                                 "                    \"relationship\": [" +
81                                 "                      {" +
82                                 "                        \"related-to\": \"model-element\"," +
83                                 "                        \"relationship-label\": \"isA\"," +
84                                 "                        \"related-link\": \"/aai/v12/service-design-and-creation/models/model/l2-bridge-for-wan-connector-model-id-ps-02/model-vers/model-ver/l2-bridge-for-wan-connector-resource-id-ps-02/model-elements/model-element/e874da22-729d-47bd-8c08-d596fd9c213d/model-elements/model-element/ccbb65b8-2faf-4f5f-80d9-804bb50f1455\"," +
85                                 "                        \"relationship-data\": [" +
86                                 "                          {" +
87                                 "                            \"relationship-key\": \"model.model-invariant-id\"," +
88                                 "                            \"relationship-value\": \"l2-bridge-for-wan-connector-model-id-ps-02\"" +
89                                 "                          }," +
90                                 "                          {" +
91                                 "                            \"relationship-key\": \"model-ver.model-version-id\"," +
92                                 "                            \"relationship-value\": \"l2-bridge-for-wan-connector-resource-id-ps-02\"" +
93                                 "                          }," +
94                                 "                          {" +
95                                 "                            \"relationship-key\": \"model-element.model-element-uuid\"," +
96                                 "                            \"relationship-value\": \"e874da22-729d-47bd-8c08-d596fd9c213d\"" +
97                                 "                          }," +
98                                 "                          {" +
99                                 "                            \"relationship-key\": \"model-element.model-element-uuid\"," +
100                                 "                            \"relationship-value\": \"ccbb65b8-2faf-4f5f-80d9-804bb50f1455\"" +
101                                 "                          }" +
102                                 "                        ]" +
103                                 "                      }" +
104                                 "                    ]" +
105                                 "                  }" +
106                                 "                }" +
107                                 "              ]" +
108                                 "            }" +
109                                 "          }" +
110                                 "        },"
111                 ).collect(Collectors.joining());
112     }
113
114
115     @Override
116     public Object getResponseBody() {
117         if(emptyList) {
118             return "{\"results\": [{}]}";
119         }
120         return "{\"results\": [" +
121                 presetModels()+
122                 "        {" +
123                 "          \"model\": {" +
124                 "            \"model-invariant-id\": \"00beb8f9-6d39-452f-816d-c709b9cbb87d\"," +
125                 "            \"model-type\": \"resource\"," +
126                 "            \"resource-version\": \"4076846985447\"," +
127                 "            \"model-vers\": {" +
128                 "              \"model-ver\": [" +
129                 "                {" +
130                 "                  \"model-version-id\": \"0903e1c0-8e03-4936-b5c2-260653b96413\"," +
131                 "                  \"model-name\": \"action-data\"," +
132                 "                  \"model-version\": \"1.0\"," +
133                 "                  \"model-description\": \"honor immunity exile prong below misshapen\"," +
134                 "                  \"resource-version\": \"4076846985447\"" +
135                 "                }" +
136                 "              ]" +
137                 "            }" +
138                 "          }" +
139                 "        }," +
140                 "        {" +
141                 "          \"model\": {" +
142                 "            \"model-invariant-id\": \"ea78c9e3-514d-4a0a-9162-13837fa54c35\"," +
143                 "            \"model-type\": \"resource\"," +
144                 "            \"resource-version\": \"1500137034452\"," +
145                 "            \"model-vers\": {" +
146                 "              \"model-ver\": [" +
147                 "                {" +
148                 "                  \"model-version-id\": \"666a06ee-4b57-46df-bacf-908da8f10c3f\"," +
149                 "                  \"model-name\": \"multicast-configuration\"," +
150                 "                  \"model-version\": \"1.0\"," +
151                 "                  \"model-description\": \"python bullwhip appointment computation ambidextrous heaving\"," +
152                 "                  \"resource-version\": \"1500136282691\"" +
153                 "                }" +
154                 "              ]" +
155                 "            }" +
156                 "          }" +
157                 "        }," +
158                 "        {" +
159                 "          \"model\": {" +
160                 "            \"model-invariant-id\": \"78ca26d0-246d-11e7-93ae-92361f002671\"," +
161                 "            \"model-type\": \"resource\"," +
162                 "            \"resource-version\": \"1492627634298\"," +
163                 "            \"model-vers\": {" +
164                 "              \"model-ver\": [" +
165                 "                {" +
166                 "                  \"model-version-id\": \"20c4431c-246d-11e7-93ae-92361f002671\"," +
167                 "                  \"model-name\": \"vSAMP10aDEV::base::module-0\"," +
168                 "                  \"model-version\": \"2\"," +
169                 "                  \"model-description\": \"MSO aLaCarte VF vSAMP10aDEV Base\"," +
170                 "                  \"resource-version\": \"1492627634300\"" +
171                 "                }" +
172                 "              ]" +
173                 "            }" +
174                 "          }" +
175                 "        }," +
176                 "        {" +
177                 "          \"model\": {" +
178                 "            \"model-invariant-id\": \"5b607929-6088-4614-97ef-cac817508e0e\"," +
179                 "            \"model-type\": \"resource\"," +
180                 "            \"resource-version\": \"1492814035001\"," +
181                 "            \"model-vers\": {" +
182                 "              \"model-ver\": [" +
183                 "                {" +
184                 "                  \"model-version-id\": \"797a6c41-0f80-4d35-a288-3920c4e06baa\"," +
185                 "                  \"model-name\": \"CONTRAIL30_L2NODHCP\"," +
186                 "                  \"model-version\": \"1.0\"," +
187                 "                  \"model-description\": \"contrail 3.0.x L2 network for AIC 3.x sites (and No DHCP).\"," +
188                 "                  \"resource-version\": \"1492814035003\"," +
189                 "                  \"relationship-list\": {" +
190                 "                    \"relationship\": [" +
191                 "                      {" +
192                 "                        \"related-to\": \"model-element\"," +
193                 "                        \"relationship-label\": \"isA\"," +
194                 "                        \"related-link\": \"/aai/v12/service-design-and-creation/models/model/52b49b5d-3086-4ffd-b5e6-1b1e5e7e062f/model-vers/model-ver/aed5a5b7-20d3-44f7-90a3-ddbd16f14d1e/model-elements/model-element/2f622421-1c67-4142-be6e-cecad5242af6/model-elements/model-element/2add7556-a23b-46b8-b6b4-ad300b47ceab\"," +
195                 "                        \"relationship-data\": [" +
196                 "                          {" +
197                 "                            \"relationship-key\": \"model.model-invariant-id\"," +
198                 "                            \"relationship-value\": \"52b49b5d-3086-4ffd-b5e6-1b1e5e7e062f\"" +
199                 "                          }," +
200                 "                          {" +
201                 "                            \"relationship-key\": \"model-ver.model-version-id\"," +
202                 "                            \"relationship-value\": \"aed5a5b7-20d3-44f7-90a3-ddbd16f14d1e\"" +
203                 "                          }," +
204                 "                          {" +
205                 "                            \"relationship-key\": \"model-element.model-element-uuid\"," +
206                 "                            \"relationship-value\": \"2f622421-1c67-4142-be6e-cecad5242af6\"" +
207                 "                          }," +
208                 "                          {" +
209                 "                            \"relationship-key\": \"model-element.model-element-uuid\"," +
210                 "                            \"relationship-value\": \"2add7556-a23b-46b8-b6b4-ad300b47ceab\"" +
211                 "                          }" +
212                 "                        ]" +
213                 "                      }" +
214                 "                    ]" +
215                 "                  }" +
216                 "                }" +
217                 "              ]" +
218                 "            }" +
219                 "          }" +
220                 "        }," +
221                 "        {" +
222                 "          \"model\": {" +
223                 "            \"model-invariant-id\": \"0143d57b-a517-4de9-a0a1-eb76db51f402\"," +
224                 "            \"model-type\": \"resource\"," +
225                 "            \"resource-version\": \"1497897268768\"," +
226                 "            \"model-vers\": {" +
227                 "              \"model-ver\": [" +
228                 "                {" +
229                 "                  \"model-version-id\": \"f1bde010-cc5f-4765-941f-75f15b24f9fc\"," +
230                 "                  \"model-name\": \"BkVmxAv061917..base_vPE_AV..module-0\"," +
231                 "                  \"model-version\": \"2\"," +
232                 "                  \"resource-version\": \"1497897268769\"," +
233                 "                  \"relationship-list\": {" +
234                 "                    \"relationship\": [" +
235                 "                      {" +
236                 "                        \"related-to\": \"model-element\"," +
237                 "                        \"relationship-label\": \"isA\"," +
238                 "                        \"related-link\": \"/aai/v12/service-design-and-creation/models/model/267ef491-3c1a-4c32-8e69-0e557bfb61e7/model-vers/model-ver/18655c7f-c846-4934-9e25-34378dfd33d6/model-elements/model-element/578492b2-36a4-47da-83dc-91b58c699ad1/model-elements/model-element/6b1fc7a5-fc01-4a9d-a87f-0ad0d8caa13f\"," +
239                 "                        \"relationship-data\": [" +
240                 "                          {" +
241                 "                            \"relationship-key\": \"model.model-invariant-id\"," +
242                 "                            \"relationship-value\": \"267ef491-3c1a-4c32-8e69-0e557bfb61e7\"" +
243                 "                          }," +
244                 "                          {" +
245                 "                            \"relationship-key\": \"model-ver.model-version-id\"," +
246                 "                            \"relationship-value\": \"18655c7f-c846-4934-9e25-34378dfd33d6\"" +
247                 "                          }," +
248                 "                          {" +
249                 "                            \"relationship-key\": \"model-element.model-element-uuid\"," +
250                 "                            \"relationship-value\": \"578492b2-36a4-47da-83dc-91b58c699ad1\"" +
251                 "                          }," +
252                 "                          {" +
253                 "                            \"relationship-key\": \"model-element.model-element-uuid\"," +
254                 "                            \"relationship-value\": \"6b1fc7a5-fc01-4a9d-a87f-0ad0d8caa13f\"" +
255                 "                          }" +
256                 "                        ]" +
257                 "                      }" +
258                 "                    ]" +
259                 "                  }" +
260                 "                }" +
261                 "              ]" +
262                 "            }" +
263                 "          }" +
264                 "        }," +
265                 "        {" +
266                 "          \"model\": {" +
267                 "            \"model-invariant-id\": \"ipe-resource-id-ps-02\"," +
268                 "            \"model-type\": \"resource\"," +
269                 "            \"resource-version\": \"1493389430122\"," +
270                 "            \"model-vers\": {" +
271                 "              \"model-ver\": [" +
272                 "                {" +
273                 "                  \"model-version-id\": \"ipe-resource-id-ps-02\"," +
274                 "                  \"model-name\": \"abc\"," +
275                 "                  \"model-version\": \"v1.0\"," +
276                 "                  \"resource-version\": \"1493389520357\"," +
277                 "                  \"relationship-list\": {" +
278                 "                    \"relationship\": [" +
279                 "                      {" +
280                 "                        \"related-to\": \"model-element\"," +
281                 "                        \"relationship-label\": \"isA\"," +
282                 "                        \"related-link\": \"/aai/v12/service-design-and-creation/models/model/l2-bridge-for-wan-connector-model-id-ps-02/model-vers/model-ver/l2-bridge-for-wan-connector-resource-id-ps-02/model-elements/model-element/e874da22-729d-47bd-8c08-d596fd9c213d/model-elements/model-element/ccbb65b8-2faf-4f5f-80d9-804bb50f1455\"," +
283                 "                        \"relationship-data\": [" +
284                 "                          {" +
285                 "                            \"relationship-key\": \"model.model-invariant-id\"," +
286                 "                            \"relationship-value\": \"l2-bridge-for-wan-connector-model-id-ps-02\"" +
287                 "                          }," +
288                 "                          {" +
289                 "                            \"relationship-key\": \"model-ver.model-version-id\"," +
290                 "                            \"relationship-value\": \"l2-bridge-for-wan-connector-resource-id-ps-02\"" +
291                 "                          }," +
292                 "                          {" +
293                 "                            \"relationship-key\": \"model-element.model-element-uuid\"," +
294                 "                            \"relationship-value\": \"e874da22-729d-47bd-8c08-d596fd9c213d\"" +
295                 "                          }," +
296                 "                          {" +
297                 "                            \"relationship-key\": \"model-element.model-element-uuid\"," +
298                 "                            \"relationship-value\": \"ccbb65b8-2faf-4f5f-80d9-804bb50f1455\"" +
299                 "                          }" +
300                 "                        ]" +
301                 "                      }" +
302                 "                    ]" +
303                 "                  }" +
304                 "                }" +
305                 "              ]" +
306                 "            }" +
307                 "          }" +
308                 "        }," +
309                 "        {" +
310                 "          \"model\": {" +
311                 "            \"model-invariant-id\": \"lmoser410-connector-model-id\"," +
312                 "            \"model-type\": \"widget\"," +
313                 "            \"resource-version\": \"1493389512180\"," +
314                 "            \"model-vers\": {" +
315                 "              \"model-ver\": [" +
316                 "                {" +
317                 "                  \"model-version-id\": \"lmoser410-connector-model-version-id\"," +
318                 "                  \"model-name\": \"connector\"," +
319                 "                  \"model-version\": \"v1.0\"," +
320                 "                  \"resource-version\": \"1493389444766\"" +
321                 "                }" +
322                 "              ]" +
323                 "            }," +
324                 "            \"relationship-list\": {" +
325                 "              \"relationship\": [" +
326                 "                {" +
327                 "                  \"related-to\": \"named-query-element\"," +
328                 "                  \"relationship-label\": \"isA\"," +
329                 "                  \"related-link\": \"/aai/v12/service-design-and-creation/named-queries/named-query/lmoser410-named-query-uuid/named-query-elements/named-query-element/48278a7d-2b1e-454f-89e6-5c0ba145f486\"," +
330                 "                  \"relationship-data\": [" +
331                 "                    {" +
332                 "                      \"relationship-key\": \"named-query.named-query-uuid\"," +
333                 "                      \"relationship-value\": \"lmoser410-named-query-uuid\"" +
334                 "                    }," +
335                 "                    {" +
336                 "                      \"relationship-key\": \"named-query-element.named-query-element-uuid\"," +
337                 "                      \"relationship-value\": \"48278a7d-2b1e-454f-89e6-5c0ba145f486\"" +
338                 "                    }" +
339                 "                  ]" +
340                 "                }" +
341                 "              ]" +
342                 "            }" +
343                 "          }" +
344                 "        }," +
345                 "        {" +
346                 "          \"model\": {" +
347                 "            \"model-invariant-id\": \"3a97db99-c4bb-498a-a13a-38f65f1ced3d\"," +
348                 "            \"model-type\": \"resource\"," +
349                 "            \"resource-version\": \"1492630209768\"," +
350                 "            \"model-vers\": {" +
351                 "              \"model-ver\": [" +
352                 "                {" +
353                 "                  \"model-version-id\": \"ff2ae348-214a-11e7-93ae-92361f002673\"," +
354                 "                  \"model-name\": \"vSAMP10aDEV::base::module-0\"," +
355                 "                  \"model-version\": \"1.0\"," +
356                 "                  \"model-description\": \"MACRO_vSAMP_module\"," +
357                 "                  \"resource-version\": \"1492630209769\"" +
358                 "                }" +
359                 "              ]" +
360                 "            }" +
361                 "          }" +
362                 "        }," +
363                 "        {" +
364                 "          \"model\": {" +
365                 "            \"model-invariant-id\": \"3c504d40-b847-424c-9d25-4fb7e0a3e994\"," +
366                 "            \"model-type\": \"widget\"," +
367                 "            \"resource-version\": \"1493389430124\"," +
368                 "            \"model-vers\": {" +
369                 "              \"model-ver\": [" +
370                 "                {" +
371                 "                  \"model-version-id\": \"204c641a-3494-48c8-979a-86856f5fd32a\"," +
372                 "                  \"model-name\": \"named-query-element\"," +
373                 "                  \"model-version\": \"1.0\"," +
374                 "                  \"resource-version\": \"1493389423212\"" +
375                 "                }" +
376                 "              ]" +
377                 "            }" +
378                 "          }" +
379                 "        }," +
380                 "        {" +
381                 "          \"model\": {" +
382                 "            \"model-invariant-id\": \"93e56950-cb19-44e6-ace4-8b50f2d02e45\"," +
383                 "            \"model-type\": \"resource\"," +
384                 "            \"resource-version\": \"1497898974232\"," +
385                 "            \"model-vers\": {" +
386                 "              \"model-ver\": [" +
387                 "                {" +
388                 "                  \"model-version-id\": \"acba1f72-c6e0-477f-9426-ad190151e100\"," +
389                 "                  \"model-name\": \"RG_6-19_Test\"," +
390                 "                  \"model-version\": \"1.0\"," +
391                 "                  \"model-description\": \"RG_6-19_Test\"," +
392                 "                  \"resource-version\": \"1497898974233\"," +
393                 "                  \"relationship-list\": {" +
394                 "                    \"relationship\": [" +
395                 "                      {" +
396                 "                        \"related-to\": \"model-element\"," +
397                 "                        \"relationship-label\": \"isA\"," +
398                 "                        \"related-link\": \"/aai/v12/service-design-and-creation/models/model/a07220ba-954e-422f-86b5-e8b95fe6b116/model-vers/model-ver/bf6dbd68-2c7d-4ba2-ade1-dfd4476aa505/model-elements/model-element/6e10fe2e-6d04-4198-9124-dd051a5ae65f/model-elements/model-element/cb3c22e1-9dc6-467f-9636-0a7aef10d5d0\"," +
399                 "                        \"relationship-data\": [" +
400                 "                          {" +
401                 "                            \"relationship-key\": \"model.model-invariant-id\"," +
402                 "                            \"relationship-value\": \"a07220ba-954e-422f-86b5-e8b95fe6b116\"" +
403                 "                          }," +
404                 "                          {" +
405                 "                            \"relationship-key\": \"model-ver.model-version-id\"," +
406                 "                            \"relationship-value\": \"bf6dbd68-2c7d-4ba2-ade1-dfd4476aa505\"" +
407                 "                          }," +
408                 "                          {" +
409                 "                            \"relationship-key\": \"model-element.model-element-uuid\"," +
410                 "                            \"relationship-value\": \"6e10fe2e-6d04-4198-9124-dd051a5ae65f\"" +
411                 "                          }," +
412                 "                          {" +
413                 "                            \"relationship-key\": \"model-element.model-element-uuid\"," +
414                 "                            \"relationship-value\": \"cb3c22e1-9dc6-467f-9636-0a7aef10d5d0\"" +
415                 "                          }" +
416                 "                        ]" +
417                 "                      }" +
418                 "                    ]" +
419                 "                  }" +
420                 "                }" +
421                 "              ]" +
422                 "            }" +
423                 "          }" +
424                 "        }" +
425                 "      ]}";
426     }
427 }