1 package org.onap.so.apihandlerinfra.infra.rest;
3 import java.util.Optional;
4 import org.onap.aai.domain.yang.GenericVnf;
5 import org.onap.aai.domain.yang.L3Network;
6 import org.onap.aai.domain.yang.Service;
7 import org.onap.aai.domain.yang.ServiceInstance;
8 import org.onap.aai.domain.yang.Tenant;
9 import org.onap.aai.domain.yang.VfModule;
10 import org.onap.aai.domain.yang.VolumeGroup;
11 import org.onap.so.apihandlerinfra.infra.rest.exception.AAIEntityNotFound;
12 import org.onap.so.client.aai.AAIObjectType;
13 import org.onap.so.client.aai.AAIResourcesClient;
14 import org.onap.so.client.aai.entities.AAIResultWrapper;
15 import org.onap.so.client.aai.entities.uri.AAIUriFactory;
16 import org.slf4j.Logger;
17 import org.slf4j.LoggerFactory;
18 import org.springframework.stereotype.Component;
21 public class AAIDataRetrieval {
23 private static final String VF_MODULE_NOT_FOUND_IN_INVENTORY_VNF_ID = "VF Module Not Found In Inventory, VnfId: ";
25 private AAIResourcesClient aaiResourcesClient;
27 private static final Logger logger = LoggerFactory.getLogger(AAIDataRetrieval.class);
29 public ServiceInstance getServiceInstance(String serviceInstanceId) {
30 return this.getAaiResourcesClient()
31 .get(ServiceInstance.class,
32 AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_INSTANCE, serviceInstanceId))
34 logger.debug("No Service Instance found in A&AI ServiceInstanceId: {}", serviceInstanceId);
39 public VfModule getAAIVfModule(String vnfId, String vfModuleId) {
40 return this.getAaiResourcesClient()
41 .get(VfModule.class, AAIUriFactory.createResourceUri(AAIObjectType.VF_MODULE, vnfId, vfModuleId))
43 logger.debug("No Vf Module found in A&AI VnfId: {}" + ", VfModuleId: {}", vnfId, vfModuleId);
48 public GenericVnf getGenericVnf(String vnfId) {
49 return this.getAaiResourcesClient()
50 .get(GenericVnf.class, AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId))
52 logger.debug("No Generic VNF found in A&AI VnfId: {}", vnfId);
57 public VolumeGroup getVolumeGroup(String vnfId, String volumeGroupId) throws AAIEntityNotFound {
58 AAIResultWrapper wrapper =
59 this.getAaiResourcesClient().get(AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId)
60 .relatedTo(AAIObjectType.VOLUME_GROUP, volumeGroupId));
61 Optional<VolumeGroup> volume = wrapper.asBean(VolumeGroup.class);
62 if (volume.isPresent()) {
65 logger.debug("No VolumeGroup in A&AI found: {}", vnfId);
70 public L3Network getNetwork(String networkId) {
71 return this.getAaiResourcesClient()
72 .get(L3Network.class, AAIUriFactory.createResourceUri(AAIObjectType.L3_NETWORK, networkId))
74 logger.debug("No Network found in A&AI NetworkId: {}", networkId);
79 public Service getService(String serviceId) {
80 return this.getAaiResourcesClient()
81 .get(Service.class, AAIUriFactory.createResourceUri(AAIObjectType.SERVICE, serviceId)).orElseGet(() -> {
82 logger.debug("No Service found in A&AI ServiceId: {}", serviceId);
87 public Tenant getTenant(String cloudOwner, String cloudRegion, String tenantId) {
88 return this.getAaiResourcesClient()
90 AAIUriFactory.createResourceUri(AAIObjectType.TENANT, cloudOwner, cloudRegion, tenantId))
92 logger.debug("No Tenant found in A&AI TenantId: {}", tenantId);
97 protected AAIResourcesClient getAaiResourcesClient() {
98 if (aaiResourcesClient == null) {
99 aaiResourcesClient = new AAIResourcesClient();
101 return aaiResourcesClient;