1 package org.onap.simulator.presetGenerator.presets.aai;
3 import com.google.common.collect.ImmutableList;
4 import com.google.common.collect.ImmutableMap;
5 import com.google.common.collect.Multimap;
6 import org.onap.simulator.presetGenerator.presets.BasePresets.BaseAAIPreset;
7 import org.springframework.http.HttpMethod;
11 import java.util.stream.Collectors;
13 public class PresetAAIGetServiceInstancesByInvariantId extends BaseAAIPreset {
15 private String globalCustomerId;
16 private String serviceType;
17 private String invariantId;
18 private Map<String, Multimap<String, String>> servicesWithRelationships;
20 public PresetAAIGetServiceInstancesByInvariantId(String globalCustomerId, String serviceType, String invariantId,
21 Map<String, Multimap<String, String>> servicesWithRelationships) {
22 this.globalCustomerId = globalCustomerId;
23 this.serviceType = serviceType;
24 this.invariantId = invariantId;
25 this.servicesWithRelationships = servicesWithRelationships;
29 public String getResponseBody() {
31 " \"service-instance\":[" +
32 servicesWithRelationships.entrySet().stream().map(
33 entry -> buildServiceInstance(entry.getKey(), entry.getValue())
34 ).collect(Collectors.joining(",")) +
39 private String buildServiceInstance(String serviceInstanceId, Multimap<String, String> relationships) {
41 " \"service-instance-id\":\"" + serviceInstanceId + "\"," +
42 " \"service-instance-name\":\"service-instance-name\"," +
43 " \"service-instance-type\":\"service-instance-type\"," +
44 " \"service-instance-role\":\"service-instance-role\"," +
45 " \"model-invariant-id\":\"" + invariantId + "\"," +
46 " \"model-version-id\":\"7a6ee536-f052-46fa-aa7e-2fca9d674c44\"," +
47 " \"resource-version\":\"GARBAGE DATA\"," +
48 " \"orchestration-status\":\"GARBAGE DATA\"," +
49 " \"relationship-list\":{" +
50 " \"relationship\":[" +
51 relationships.entries().stream().map(
52 entry -> buildRelationship(entry.getKey(), entry.getValue())
53 ).collect(Collectors.joining(",")) +
59 private String buildRelationship(String relatedTo, final String relatedLink) {
62 " \"related-to\": \"" + relatedTo + "\", " +
63 " \"relationship-label\": \"org.onap.relationships.inventory.ComposedOf\", " +
64 " \"related-link\": \"" + relatedLink + "\", " +
65 " \"relationship-data\": [" +
67 " \"relationship-key\": \"GARBAGE DATA\", " +
68 " \"relationship-value\": \"GARBAGE DATA\" " +
75 public HttpMethod getReqMethod() {
76 return HttpMethod.GET;
80 public String getReqPath() {
81 return getRootPath() + "/business/customers/customer/" +
82 globalCustomerId + "/service-subscriptions/service-subscription/" +
83 serviceType + "/service-instances";
87 public Map<String, List> getQueryParams() {
88 return ImmutableMap.of("model-invariant-id", ImmutableList.of(invariantId));