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.ServiceInstance;
7 import org.onap.aai.domain.yang.VfModule;
8 import org.onap.aai.domain.yang.VolumeGroup;
9 import org.onap.so.apihandlerinfra.infra.rest.exception.AAIEntityNotFound;
10 import org.onap.so.client.aai.AAIObjectType;
11 import org.onap.so.client.aai.AAIResourcesClient;
12 import org.onap.so.client.aai.entities.AAIResultWrapper;
13 import org.onap.so.client.aai.entities.uri.AAIUriFactory;
14 import org.slf4j.Logger;
15 import org.slf4j.LoggerFactory;
16 import org.springframework.stereotype.Component;
19 public class AAIDataRetrieval {
21 private static final String VF_MODULE_NOT_FOUND_IN_INVENTORY_VNF_ID = "VF Module Not Found In Inventory, VnfId: ";
23 private AAIResourcesClient aaiResourcesClient;
25 private static final Logger logger = LoggerFactory.getLogger(AAIDataRetrieval.class);
27 public ServiceInstance getServiceInstance(String serviceInstanceId) {
28 return this.getAaiResourcesClient()
29 .get(ServiceInstance.class,
30 AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_INSTANCE, serviceInstanceId))
32 logger.debug("No Service Instance found in A&AI ServiceInstanceId: {}", serviceInstanceId);
38 public VfModule getAAIVfModule(String vnfId, String vfModuleId) {
39 return this.getAaiResourcesClient()
40 .get(VfModule.class, AAIUriFactory.createResourceUri(AAIObjectType.VF_MODULE, vnfId, vfModuleId))
42 logger.debug("No Vf Module found in A&AI VnfId: {}" + ", VfModuleId: {}", vnfId, vfModuleId);
47 public GenericVnf getGenericVnf(String vnfId) {
48 return this.getAaiResourcesClient()
49 .get(GenericVnf.class, AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId))
51 logger.debug("No Generic VNF found in A&AI VnfId: {}", vnfId);
56 public VolumeGroup getVolumeGroup(String vnfId, String volumeGroupId) throws AAIEntityNotFound {
57 AAIResultWrapper wrapper =
58 this.getAaiResourcesClient().get(AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId)
59 .relatedTo(AAIObjectType.VOLUME_GROUP, volumeGroupId));
60 Optional<VolumeGroup> volume = wrapper.asBean(VolumeGroup.class);
61 if (volume.isPresent()) {
64 logger.debug("No VolumeGroup in A&AI found: {}", vnfId);
69 public L3Network getNetwork(String networkId) {
70 return this.getAaiResourcesClient()
71 .get(L3Network.class, AAIUriFactory.createResourceUri(AAIObjectType.L3_NETWORK, networkId))
73 logger.debug("No Network found in A&AI NetworkId: {}", networkId);
78 protected AAIResourcesClient getAaiResourcesClient() {
79 if (aaiResourcesClient == null) {
80 aaiResourcesClient = new AAIResourcesClient();
82 return aaiResourcesClient;