Merge 'origin/casablanca' into master
[so.git] / bpmn / MSOCommonBPMN / src / main / groovy / org / onap / so / bpmn / common / scripts / OofUtils.groovy
index f72fc47..af33f38 100644 (file)
@@ -33,16 +33,29 @@ import org.onap.so.bpmn.core.domain.ServiceInstance
 import org.onap.so.bpmn.core.domain.Subscriber
 import org.onap.so.bpmn.core.domain.VnfResource
 import org.onap.so.bpmn.core.json.JsonUtils
+import org.onap.so.client.HttpClient
+import org.onap.so.client.HttpClientFactory
 import org.onap.so.db.catalog.beans.CloudSite
 import org.onap.so.db.catalog.beans.HomingInstance
-import javax.ws.rs.core.UriBuilder
-import org.onap.so.bpmn.common.util.OofInfraUtils
+import org.onap.so.utils.TargetEntity
+import org.springframework.http.HttpEntity
+import org.springframework.http.HttpHeaders
+import org.springframework.http.HttpMethod
+import org.springframework.http.ResponseEntity
+import org.springframework.http.client.BufferingClientHttpRequestFactory
+import org.springframework.http.client.HttpComponentsClientHttpRequestFactory
+import org.springframework.web.client.RestTemplate
+import org.springframework.web.util.UriComponentsBuilder
+
+import javax.ws.rs.core.MediaType
+import javax.ws.rs.core.Response
+import javax.xml.ws.http.HTTPException
+
 import static org.onap.so.bpmn.common.scripts.GenericUtils.*
 
 class OofUtils {
     ExceptionUtil exceptionUtil = new ExceptionUtil()
     JsonUtils jsonUtil = new JsonUtils()
-    OofInfraUtils oofInfraUtils = new OofInfraUtils()
 
     private AbstractServiceTaskProcessor utils
 
@@ -491,10 +504,29 @@ class OofUtils {
      *
      * @return void
      */
-    Void createCloudSite(CloudSite cloudSite, DelegateExecution execution) {
-        oofInfraUtils.createCloudSite(cloudSite, execution)
-    }
+    Void createCloudSiteCatalogDb(CloudSite cloudSite, DelegateExecution execution) {
+
+        String endpoint = UrnPropertiesReader.getVariable("mso.catalog.db.spring.endpoint", execution)
+        String auth = UrnPropertiesReader.getVariable("mso.db.auth", execution)
+        String uri = "/cloudSite"
+
+           URL url = new URL(endpoint + uri)
+        HttpClient client = new HttpClientFactory().newJsonClient(url, TargetEntity.EXTERNAL)
+        client.addAdditionalHeader(HttpHeaders.AUTHORIZATION, auth)
+           client.addAdditionalHeader(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON)
+
+        Response response = client.post(request.getBody().toString())
 
+        int responseCode = response.getStatus()
+        logDebug("CatalogDB response code is: " + responseCode, isDebugEnabled)
+        String syncResponse = response.readEntity(String.class)
+        logDebug("CatalogDB response is: " + syncResponse, isDebugEnabled)
+
+        if(responseCode != 202){
+            exceptionUtil.buildAndThrowWorkflowException(execution, responseCode, "Received a Bad Sync Response from CatalogDB.")
+        }
+    }
+    
     /**
      * This method creates a HomingInstance in catalog database.
      *
@@ -505,7 +537,6 @@ class OofUtils {
     Void createHomingInstance(HomingInstance homingInstance, DelegateExecution execution) {
         oofInfraUtils.createHomingInstance(homingInstance, execution)
     }
-
      String getMsbHost(DelegateExecution execution) {
          String msbHost = UrnPropertiesReader.getVariable("mso.msb.host", execution, "msb-iag.onap")