9c620311e2706067df374ae8319e51995b86c298
[so/adapters/so-cnf-adapter.git] /
1 package org.onap.so.adapters.cnf.service.aai;
2
3 import com.google.common.hash.Hashing;
4 import org.onap.so.adapters.cnf.model.instantiation.AaiRequest;
5 import org.onap.so.adapters.cnf.model.statuscheck.K8sRbInstanceGvk;
6 import org.onap.so.adapters.cnf.model.statuscheck.K8sRbInstanceResourceStatus;
7 import org.onap.so.adapters.cnf.model.statuscheck.K8sStatusMetadata;
8 import org.springframework.stereotype.Service;
9
10 import java.nio.charset.StandardCharsets;
11
12 @Service
13 class AaiIdGeneratorService {
14
15     String generateId(K8sRbInstanceResourceStatus resourceStatus, AaiRequest aaiRequest) {
16         K8sRbInstanceGvk gvk = resourceStatus.getGvk();
17         K8sStatusMetadata metadata = resourceStatus.getStatus().getK8sStatusMetadata();
18         String originalString = aaiRequest.getInstanceId() + resourceStatus.getName() +
19                 (metadata.getNamespace() != null ? metadata.getNamespace() : "") +
20                 gvk.getKind() + gvk.getGroup() + gvk.getVersion() +
21                 aaiRequest.getCloudOwner() + aaiRequest.getCloudRegion() + aaiRequest.getTenantId();
22
23         return Hashing.sha256()
24                 .hashString(originalString, StandardCharsets.UTF_8)
25                 .toString();
26     }
27
28 }