304c023607298172b139fe0fa63e3aeaa84fb406
[so/adapters/so-cnf-adapter.git] /
1 package org.onap.so.adapters.cnf.service.aai;
2
3 import org.onap.so.adapters.cnf.model.instantiation.AaiRequest;
4 import org.onap.so.adapters.cnf.model.statuscheck.K8sRbInstanceGvk;
5 import org.onap.so.adapters.cnf.model.statuscheck.K8sRbInstanceResourceStatus;
6 import org.onap.so.adapters.cnf.model.statuscheck.K8sStatus;
7 import org.onap.so.adapters.cnf.model.statuscheck.K8sStatusMetadata;
8 import org.springframework.stereotype.Component;
9
10 import java.util.ArrayList;
11 import java.util.Collection;
12
13 @Component
14 public class AaiResponseParser {
15
16     private final AaiIdGeneratorService aaiIdGeneratorService;
17
18     public AaiResponseParser(AaiIdGeneratorService aaiIdGeneratorService) {
19         this.aaiIdGeneratorService = aaiIdGeneratorService;
20     }
21
22     ParseResult parse(K8sRbInstanceResourceStatus status, AaiRequest aaiRequest) {
23         ParseResult result = new ParseResult();
24         K8sRbInstanceGvk gvk = status.getGvk();
25         K8sStatus k8sStatus = status.getStatus();
26         K8sStatusMetadata metadata = k8sStatus.getK8sStatusMetadata();
27         String id = aaiIdGeneratorService.generateId(status, aaiRequest);
28         result.setId(id);
29         result.setName(status.getName());
30         result.setGroup(gvk.getGroup());
31         result.setVersion(gvk.getVersion());
32         result.setKind(gvk.getKind());
33         result.setNamespace(metadata.getNamespace());
34         Collection<String> labels = new ArrayList<>();
35         metadata.getLabels().forEach((key, value) -> {
36             labels.add(key);
37             labels.add(value);
38         });
39         result.setLabels(labels);
40         result.setK8sResourceSelfLink(String.format("http://so-cnf-adapter:8090/api/cnf-adapter/v1/instance/%s/query", aaiRequest.getInstanceId()));
41         return result;
42     }
43
44 }