Minior Change - Licence Statement
[so.git] / mso-catalog-db / src / main / java / org / onap / so / db / catalog / client / CatalogDbClient.java
index 51c55bd..ac123b2 100644 (file)
@@ -36,6 +36,7 @@ import org.onap.so.db.catalog.beans.CollectionResourceInstanceGroupCustomization
 import org.onap.so.db.catalog.beans.ControllerSelectionReference;
 import org.onap.so.db.catalog.beans.CvnfcCustomization;
 import org.onap.so.db.catalog.beans.ExternalServiceToInternalService;
+import org.onap.so.db.catalog.beans.HomingInstance;
 import org.onap.so.db.catalog.beans.InstanceGroup;
 import org.onap.so.db.catalog.beans.NetworkCollectionResourceCustomization;
 import org.onap.so.db.catalog.beans.NetworkRecipe;
@@ -126,8 +127,10 @@ public class CatalogDbClient {
        private static final String WORK_STEP = "workStep";
        private static final String CLLI = "clli";
        private static final String CLOUD_VERSION = "cloudVersion";
+       private static final String HOMING_INSTANCE = "/homingInstance";
        
        private static final String TARGET_ENTITY = "SO:CatalogDB";
+       private static final String ASTERISK = "*";
 
        private String findExternalToInternalServiceByServiceName = "/findByServiceName";
        private String findServiceByModelName = "/findOneByModelName";
@@ -153,8 +156,11 @@ public class CatalogDbClient {
        private String findCollectionResourceInstanceGroupCustomizationByModelCustomizationUUID = "/findByModelCustomizationUUID";
        private String findOneByActionAndRequestScopeAndIsAlacarte = "/findOneByActionAndRequestScopeAndIsAlacarte";
        private String findOneByActionAndRequestScopeAndIsAlacarteAndCloudOwner = "/findOneByActionAndRequestScopeAndIsAlacarteAndCloudOwner";
+       private String findOneByActionAndRequestScopeAndIsAlacarteAndCloudOwnerAndServiceType = "/findOneByActionAndRequestScopeAndIsAlacarteAndCloudOwnerAndServiceType";
        private String findOneByFlowNameAndServiceTypeAndVnfTypeAndErrorCodeAndWorkStep = "/findOneByFlowNameAndServiceTypeAndVnfTypeAndErrorCodeAndWorkStep";
        private String findByClliAndCloudVersion = "/findByClliAndCloudVersion";
+       private String findServiceByServiceInstanceId = "/findServiceByServiceInstanceId";
+
 
        private String serviceURI;
        private String vfModuleURI;
@@ -167,6 +173,7 @@ public class CatalogDbClient {
        private String instanceGroupURI;
        private String cloudifyManagerURI;
        private String cloudSiteURI;
+       private String homingInstanceURI;
 
        private final Client<Service> serviceClient;
 
@@ -212,9 +219,11 @@ public class CatalogDbClient {
 
        private final Client<CloudSite> cloudSiteClient;
 
+       private final Client<HomingInstance> homingInstanceClient;
+
        private final Client<CloudifyManager> cloudifyManagerClient;
        
-       private Client<CvnfcCustomization> cvnfcCustomizationClient;
+       private final Client<CvnfcCustomization> cvnfcCustomizationClient;
 
        private final Client<ControllerSelectionReference> controllerSelectionReferenceClient;
 
@@ -251,6 +260,7 @@ public class CatalogDbClient {
                findCollectionResourceInstanceGroupCustomizationByModelCustomizationUUID = endpoint + COLLECTION_RESOURCE_INSTANCE_GROUP_CUSTOMIZATION + SEARCH + findCollectionResourceInstanceGroupCustomizationByModelCustomizationUUID;
                findOneByActionAndRequestScopeAndIsAlacarte = endpoint + NORTHBOUND_REQUEST_REF_LOOKUP + SEARCH + findOneByActionAndRequestScopeAndIsAlacarte;
                findOneByActionAndRequestScopeAndIsAlacarteAndCloudOwner = endpoint + NORTHBOUND_REQUEST_REF_LOOKUP + SEARCH + findOneByActionAndRequestScopeAndIsAlacarteAndCloudOwner;
+               findOneByActionAndRequestScopeAndIsAlacarteAndCloudOwnerAndServiceType = endpoint + NORTHBOUND_REQUEST_REF_LOOKUP + SEARCH + findOneByActionAndRequestScopeAndIsAlacarteAndCloudOwnerAndServiceType;
                findOneByFlowNameAndServiceTypeAndVnfTypeAndErrorCodeAndWorkStep = endpoint + RAINY_DAY_HANDLER_MACRO + SEARCH + findOneByFlowNameAndServiceTypeAndVnfTypeAndErrorCodeAndWorkStep;
                findByClliAndCloudVersion = endpoint + CLOUD_SITE + SEARCH + findByClliAndCloudVersion;
 
@@ -265,6 +275,7 @@ public class CatalogDbClient {
                instanceGroupURI = endpoint + INSTANCE_GROUP + URI_SEPARATOR;
                cloudifyManagerURI = endpoint + CLOUDIFY_MANAGER + URI_SEPARATOR;
                cloudSiteURI = endpoint + CLOUD_SITE + URI_SEPARATOR;
+               homingInstanceURI = endpoint + HOMING_INSTANCE + URI_SEPARATOR;
 
        }
 
@@ -303,6 +314,7 @@ public class CatalogDbClient {
                networkCollectionResourceCustomizationClient = clientFactory.create(NetworkCollectionResourceCustomization.class);
                collectionNetworkResourceCustomizationClient = clientFactory.create(CollectionNetworkResourceCustomization.class);
                cloudSiteClient = clientFactory.create(CloudSite.class);
+               homingInstanceClient = clientFactory.create(HomingInstance.class);
                cloudifyManagerClient = clientFactory.create(CloudifyManager.class);
                serviceRecipeClient = clientFactory.create(ServiceRecipe.class);
                cvnfcCustomizationClient = clientFactory.create(CvnfcCustomization.class);
@@ -345,6 +357,7 @@ public class CatalogDbClient {
                networkCollectionResourceCustomizationClient = clientFactory.create(NetworkCollectionResourceCustomization.class);
                collectionNetworkResourceCustomizationClient = clientFactory.create(CollectionNetworkResourceCustomization.class);
                cloudSiteClient = clientFactory.create(CloudSite.class);
+               homingInstanceClient = clientFactory.create(HomingInstance.class);
                cloudifyManagerClient = clientFactory.create(CloudifyManager.class);
                serviceRecipeClient = clientFactory.create(ServiceRecipe.class);
                cvnfcCustomizationClient = clientFactory.create(CvnfcCustomization.class);
@@ -484,10 +497,21 @@ public class CatalogDbClient {
        public NorthBoundRequest getNorthBoundRequestByActionAndIsALaCarteAndRequestScopeAndCloudOwner(String requestAction,
                        String resourceName, boolean aLaCarte, String cloudOwner) {
                return this.getSingleResource(northBoundRequestClient, getUri(UriBuilder
-                               .fromUri(findOneByActionAndRequestScopeAndIsAlacarteAndCloudOwner)
+                               .fromUri(findOneByActionAndRequestScopeAndIsAlacarteAndCloudOwnerAndServiceType)
+                               .queryParam(ACTION, requestAction).queryParam(REQUEST_SCOPE, resourceName)
+                               .queryParam(IS_ALACARTE, aLaCarte)
+                               .queryParam(CLOUD_OWNER, cloudOwner)
+                               .queryParam(SERVICE_TYPE, ASTERISK).build().toString()));
+       }
+       
+       public NorthBoundRequest getNorthBoundRequestByActionAndIsALaCarteAndRequestScopeAndCloudOwnerAndServiceType(String requestAction,
+                       String resourceName, boolean aLaCarte, String cloudOwner, String serviceType) {
+               return this.getSingleResource(northBoundRequestClient, getUri(UriBuilder
+                               .fromUri(findOneByActionAndRequestScopeAndIsAlacarteAndCloudOwnerAndServiceType)
                                .queryParam(ACTION, requestAction).queryParam(REQUEST_SCOPE, resourceName)
                                .queryParam(IS_ALACARTE, aLaCarte)
-                               .queryParam(CLOUD_OWNER, cloudOwner).build().toString()));
+                               .queryParam(CLOUD_OWNER, cloudOwner)
+                               .queryParam(SERVICE_TYPE, serviceType).build().toString()));
        }
 
        public RainyDayHandlerStatus getRainyDayHandlerStatusByFlowNameAndServiceTypeAndVnfTypeAndErrorCodeAndWorkStep(
@@ -595,20 +619,39 @@ public class CatalogDbClient {
        }
 
        public CloudSite getCloudSite(String id){
-               return this.getSingleResource(cloudSiteClient, getUri(cloudSiteURI + id));
+               return this.getSingleResource(cloudSiteClient,
+                               getUri(cloudSiteURI + id));
+       }
+
+       public CloudSite getCloudSite(String id, String uri){
+               return this.getSingleResource(cloudSiteClient,
+                               getUri(uri + id));
        }
 
        public void postCloudSite(CloudSite cloudSite){
                this.postSingleResource(cloudSiteClient, cloudSite);
        }
 
-
        public CloudSite getCloudSiteByClliAndAicVersion (String clli, String cloudVersion){
                return this.getSingleResource(cloudSiteClient, getUri(UriBuilder
                                .fromUri(findByClliAndCloudVersion)
                                .queryParam(CLLI,clli).queryParam(CLOUD_VERSION,cloudVersion).build().toString()));
        }
 
+       public HomingInstance getHomingInstance (String serviceInstanceId){
+               return this.getSingleResource(homingInstanceClient,
+                               getUri(homingInstanceURI + serviceInstanceId));
+       }
+
+       public HomingInstance getHomingInstance (String serviceInstanceId, String uri){
+               return this.getSingleResource(homingInstanceClient,
+                               getUri(uri + serviceInstanceId));
+       }
+
+       public void postHomingInstance(HomingInstance homingInstance){
+               this.postSingleResource(homingInstanceClient, homingInstance);
+       }
+
        public Service getServiceByModelVersionAndModelInvariantUUID(String modelVersion, String modelInvariantUUID) {
                return this.getSingleResource(serviceClient, getUri(UriBuilder
                                .fromUri(findFirstByModelVersionAndModelInvariantUUIDURI)
@@ -652,18 +695,11 @@ public class CatalogDbClient {
        }
        
        public List<CvnfcCustomization> getCvnfcCustomizationByVnfCustomizationUUIDAndVfModuleCustomizationUUID(String vnfCustomizationUUID, String vfModuleCustomizationUUID){
-               return this.getMultipleVnfcCustomizations(
-                               UriBuilder.fromUri(endpoint + "/vnfcCustomization/search/findByVnfCustomizationUUIDAndVfModuleCustomizationUUID")
-                                               .queryParam("VNF_CUSTOMIZATION_UUID", vnfCustomizationUUID)
-                                               .queryParam("VFMODULE_CUSTOMIZATION_UUID", vfModuleCustomizationUUID).build());
-       }
-       
-       private List<CvnfcCustomization> getMultipleVnfcCustomizations(URI uri) {
-               Iterable<CvnfcCustomization> vnfcIterator = cvnfcCustomizationClient.getAll(uri);
-               List<CvnfcCustomization> vnfcList = new ArrayList<>();
-               Iterator<CvnfcCustomization> it = vnfcIterator.iterator();
-               it.forEachRemaining(vnfcList::add);
-               return vnfcList;
+
+               return this.getMultipleResources(cvnfcCustomizationClient,getUri(UriBuilder
+                                               .fromUri(endpoint + "/cvnfcCustomization/search/findByVnfResourceCustomizationAndVfModuleCustomization")
+                                               .queryParam("VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID", vnfCustomizationUUID)
+                                               .queryParam("VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID", vfModuleCustomizationUUID).build().toString()));
        }
 
 }