Merge "Reorder modifiers"
[so.git] / mso-api-handlers / mso-api-handler-infra / src / main / java / org / openecomp / mso / apihandlerinfra / ServiceInstances.java
index efc58ed..32a016f 100644 (file)
@@ -20,6 +20,7 @@
  */
 package org.openecomp.mso.apihandlerinfra;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -42,6 +43,7 @@ import org.openecomp.mso.apihandler.common.CommonConstants;
 import org.openecomp.mso.apihandler.common.ErrorNumbers;
 import org.openecomp.mso.apihandler.common.RequestClient;
 import org.openecomp.mso.apihandler.common.RequestClientFactory;
+import org.openecomp.mso.apihandler.common.RequestClientParamater;
 import org.openecomp.mso.apihandler.common.ResponseHandler;
 import org.openecomp.mso.apihandler.common.ValidationException;
 import org.openecomp.mso.serviceinstancebeans.ModelInfo;
@@ -77,7 +79,6 @@ import com.wordnik.swagger.annotations.ApiOperation;
 @Api(value="/serviceInstances",description="API Requests for Service Instances")
 public class ServiceInstances {
 
-       private HashMap<String, String> instanceIdMap = new HashMap<>();
        private static MsoLogger msoLogger = MsoLogger.getMsoLogger (MsoLogger.Catalog.APIH);
        private static MsoAlarmLogger alarmLogger = new MsoAlarmLogger ();
 
@@ -87,10 +88,7 @@ public class ServiceInstances {
        @Produces(MediaType.APPLICATION_JSON)
        @ApiOperation(value="Create a Service Instance on a version provided",response=Response.class)
        public Response createServiceInstance(String request, @PathParam("version") String version) {
-
-               Response response = serviceInstances(request, Action.createInstance, null, version);
-
-               return response;
+               return serviceInstances(request, Action.createInstance, null, version);
        }
        
        @POST
@@ -99,11 +97,9 @@ public class ServiceInstances {
        @Produces(MediaType.APPLICATION_JSON)
        @ApiOperation(value="Activate provided Service Instance",response=Response.class)
        public Response activateServiceInstance(String request, @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId) {
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
-               Response response = serviceInstances(request, Action.activateInstance, instanceIdMap, version);
-
-               return response;
+               return serviceInstances(request, Action.activateInstance, instanceIdMap, version);
        }
        
        @POST
@@ -112,11 +108,9 @@ public class ServiceInstances {
        @Produces(MediaType.APPLICATION_JSON)
        @ApiOperation(value="Deactivate provided Service Instance",response=Response.class)
        public Response deactivateServiceInstance(String request, @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId) {
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
-               Response response = serviceInstances(request, Action.deactivateInstance, instanceIdMap, version);
-
-               return response;
+               return serviceInstances(request, Action.deactivateInstance, instanceIdMap, version);
        }
        
        @DELETE
@@ -125,10 +119,9 @@ public class ServiceInstances {
        @Produces(MediaType.APPLICATION_JSON)
        @ApiOperation(value="Delete provided Service Instance",response=Response.class)
        public Response deleteServiceInstance(String request, @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId) {
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
-               Response response = serviceInstances(request, Action.deleteInstance, instanceIdMap, version);
-               return response;
+               return serviceInstances(request, Action.deleteInstance, instanceIdMap, version);
        }
        
        @POST
@@ -137,11 +130,9 @@ public class ServiceInstances {
        @Produces(MediaType.APPLICATION_JSON)
        @ApiOperation(value="Create Port Mirroring Configuration",response=Response.class)
        public Response createPortConfiguration(String request, @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId) {
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
-               Response response = configurationRecipeLookup(request, Action.createInstance, instanceIdMap, version);
-
-               return response;
+               return configurationRecipeLookup(request, Action.createInstance, instanceIdMap, version);
        }
        
        @DELETE
@@ -151,11 +142,10 @@ public class ServiceInstances {
        @ApiOperation(value="Delete provided Port",response=Response.class)
        public Response deletePortConfiguration(String request, @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId,
                                                                        @PathParam("configurationInstanceId") String configurationInstanceId) {
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
                instanceIdMap.put("configurationInstanceId", configurationInstanceId);
-               Response response = configurationRecipeLookup(request, Action.deleteInstance, instanceIdMap, version);
-               return response;
+               return configurationRecipeLookup(request, Action.deleteInstance, instanceIdMap, version);
        }
        
        @POST
@@ -165,12 +155,10 @@ public class ServiceInstances {
        @ApiOperation(value="Enable Port Mirroring",response=Response.class)
        public Response enablePort(String request, @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId,
                                                                @PathParam("configurationInstanceId") String configurationInstanceId) {
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
                instanceIdMap.put("configurationInstanceId", configurationInstanceId);
-               Response response = configurationRecipeLookup(request, Action.enablePort, instanceIdMap, version);
-
-               return response;
+               return configurationRecipeLookup(request, Action.enablePort, instanceIdMap, version);
        }
        
        @POST
@@ -180,12 +168,10 @@ public class ServiceInstances {
        @ApiOperation(value="Disable Port Mirroring",response=Response.class)
        public Response disablePort(String request, @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId,
                                                                @PathParam("configurationInstanceId") String configurationInstanceId) {
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
                instanceIdMap.put("configurationInstanceId", configurationInstanceId);
-               Response response = configurationRecipeLookup(request, Action.disablePort, instanceIdMap, version);
-
-               return response;
+               return configurationRecipeLookup(request, Action.disablePort, instanceIdMap, version);
        }
        
        @POST
@@ -195,12 +181,10 @@ public class ServiceInstances {
        @ApiOperation(value="Activate Port Mirroring",response=Response.class)
        public Response activatePort(String request, @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId,
                                                                @PathParam("configurationInstanceId") String configurationInstanceId) {
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
                instanceIdMap.put("configurationInstanceId", configurationInstanceId);
-               Response response = configurationRecipeLookup(request, Action.activateInstance, instanceIdMap, version);
-
-               return response;
+               return configurationRecipeLookup(request, Action.activateInstance, instanceIdMap, version);
        }
        
        @POST
@@ -210,12 +194,10 @@ public class ServiceInstances {
        @ApiOperation(value="Deactivate Port Mirroring",response=Response.class)
        public Response deactivatePort(String request, @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId,
                                                                @PathParam("configurationInstanceId") String configurationInstanceId) {
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
                instanceIdMap.put("configurationInstanceId", configurationInstanceId);
-               Response response = configurationRecipeLookup(request, Action.deactivateInstance, instanceIdMap, version);
-
-               return response;
+               return configurationRecipeLookup(request, Action.deactivateInstance, instanceIdMap, version);
        }
 
        @POST
@@ -225,11 +207,9 @@ public class ServiceInstances {
        @ApiOperation(value="Add Relationships to a Service Instance",response=Response.class)
        public Response addRelationships(String request,  @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId) {
                msoLogger.debug ("version is: " + version);
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
-               Response response = configurationRecipeLookup(request, Action.addRelationships, instanceIdMap, version);
-
-               return response;
+               return configurationRecipeLookup(request, Action.addRelationships, instanceIdMap, version);
        }
        
        @POST
@@ -239,11 +219,9 @@ public class ServiceInstances {
        @ApiOperation(value="Remove Relationships from Service Instance",response=Response.class)
        public Response removeRelationships(String request,  @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId) {
                msoLogger.debug ("version is: " + version);
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
-               Response response = configurationRecipeLookup(request, Action.removeRelationships, instanceIdMap, version);
-
-               return response;
+               return configurationRecipeLookup(request, Action.removeRelationships, instanceIdMap, version);
        }
        
        @POST
@@ -253,11 +231,9 @@ public class ServiceInstances {
        @ApiOperation(value="Create VNF on a specified version and serviceInstance",response=Response.class)
        public Response createVnfInstance(String request,  @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId) {
                msoLogger.debug ("version is: " + version);
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
-               Response response = serviceInstances(request, Action.createInstance, instanceIdMap, version);
-
-               return response;
+               return serviceInstances(request, Action.createInstance, instanceIdMap, version);
        }
        
        @POST
@@ -268,12 +244,10 @@ public class ServiceInstances {
        public Response replaceVnfInstance(String request,  @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId,
                        @PathParam("vnfInstanceId") String vnfInstanceId) {
                msoLogger.debug ("version is: " + version);
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
                instanceIdMap.put("vnfInstanceId", vnfInstanceId);
-               Response response = serviceInstances(request, Action.replaceInstance, instanceIdMap, version);
-
-               return response;
+               return serviceInstances(request, Action.replaceInstance, instanceIdMap, version);
        }
        
        @PUT
@@ -283,12 +257,10 @@ public class ServiceInstances {
        @ApiOperation(value="Update VNF on a specified version, serviceInstance and vnfInstance",response=Response.class)
        public Response updateVnfInstance(String request, @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId,
                        @PathParam("vnfInstanceId") String vnfInstanceId) {                     
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
-               instanceIdMap.put("vnfInstanceId", vnfInstanceId);              
-               Response response = serviceInstances(request, Action.updateInstance, instanceIdMap, version);
-
-               return response;
+               instanceIdMap.put("vnfInstanceId", vnfInstanceId);
+               return serviceInstances(request, Action.updateInstance, instanceIdMap, version);
        }
        
        @POST
@@ -298,12 +270,10 @@ public class ServiceInstances {
        @ApiOperation(value="Apply updated configuration",response=Response.class)
        public Response applyUpdatedConfig(String request, @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId,
                        @PathParam("vnfInstanceId") String vnfInstanceId) {                     
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
-               instanceIdMap.put("vnfInstanceId", vnfInstanceId);              
-               Response response = serviceInstances(request, Action.applyUpdatedConfig, instanceIdMap, version);
-
-               return response;
+               instanceIdMap.put("vnfInstanceId", vnfInstanceId);
+               return serviceInstances(request, Action.applyUpdatedConfig, instanceIdMap, version);
        }
 
 
@@ -314,12 +284,10 @@ public class ServiceInstances {
        @ApiOperation(value="Delete provided VNF instance",response=Response.class)
        public Response deleteVnfInstance(String request,  @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId,
                        @PathParam("vnfInstanceId") String vnfInstanceId) {
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
                instanceIdMap.put("vnfInstanceId", vnfInstanceId);
-               Response response = serviceInstances(request, Action.deleteInstance, instanceIdMap, version);
-
-               return response;
+               return serviceInstances(request, Action.deleteInstance, instanceIdMap, version);
        }
 
        @POST
@@ -330,12 +298,10 @@ public class ServiceInstances {
        public Response createVfModuleInstance(String request,  @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId,
                        @PathParam("vnfInstanceId") String vnfInstanceId) {
                msoLogger.debug ("version is: " + version);
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
                instanceIdMap.put("vnfInstanceId", vnfInstanceId);
-               Response response = serviceInstances(request, Action.createInstance, instanceIdMap, version);
-
-               return response;
+               return serviceInstances(request, Action.createInstance, instanceIdMap, version);
        }
        
        @POST
@@ -347,13 +313,11 @@ public class ServiceInstances {
                        @PathParam("vnfInstanceId") String vnfInstanceId,
                        @PathParam("vfmoduleInstanceId") String vfmoduleInstanceId) {
                msoLogger.debug ("version is: " + version);
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
                instanceIdMap.put("vnfInstanceId", vnfInstanceId);
                instanceIdMap.put("vfModuleInstanceId", vfmoduleInstanceId);
-               Response response = serviceInstances(request, Action.replaceInstance, instanceIdMap, version);
-
-               return response;
+               return serviceInstances(request, Action.replaceInstance, instanceIdMap, version);
        }
 
        @PUT
@@ -364,13 +328,11 @@ public class ServiceInstances {
        public Response updateVfModuleInstance(String request, @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId,
                        @PathParam("vnfInstanceId") String vnfInstanceId,
                        @PathParam("vfmoduleInstanceId") String vfmoduleInstanceId) {
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
                instanceIdMap.put("vnfInstanceId", vnfInstanceId);
                instanceIdMap.put("vfModuleInstanceId", vfmoduleInstanceId);
-               Response response = serviceInstances(request, Action.updateInstance, instanceIdMap, version);
-
-               return response;
+               return serviceInstances(request, Action.updateInstance, instanceIdMap, version);
        }
        
        @POST
@@ -380,12 +342,10 @@ public class ServiceInstances {
        @ApiOperation(value="Perform VNF software update",response=Response.class)
        public Response inPlaceSoftwareUpdate(String request, @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId,
                        @PathParam("vnfInstanceId") String vnfInstanceId) {                     
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
-               instanceIdMap.put("vnfInstanceId", vnfInstanceId);              
-               Response response = serviceInstances(request, Action.inPlaceSoftwareUpdate, instanceIdMap, version);
-
-               return response;
+               instanceIdMap.put("vnfInstanceId", vnfInstanceId);
+               return serviceInstances(request, Action.inPlaceSoftwareUpdate, instanceIdMap, version);
        }
        
        @DELETE
@@ -396,13 +356,11 @@ public class ServiceInstances {
        public Response deleteVfModuleInstance(String request, @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId,
                        @PathParam("vnfInstanceId") String vnfInstanceId,
                        @PathParam("vfmoduleInstanceId") String vfmoduleInstanceId) {
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
                instanceIdMap.put("vnfInstanceId", vnfInstanceId);
                instanceIdMap.put("vfModuleInstanceId", vfmoduleInstanceId);
-               Response response = serviceInstances(request, Action.deleteInstance, instanceIdMap, version);
-
-               return response;
+               return serviceInstances(request, Action.deleteInstance, instanceIdMap, version);
        }
 
 
@@ -413,12 +371,10 @@ public class ServiceInstances {
        @ApiOperation(value="Create VolumeGroup on a specified version, serviceInstance, vnfInstance",response=Response.class)
        public Response createVolumeGroupInstance(String request, @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId,
                        @PathParam("vnfInstanceId") String vnfInstanceId) {
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
                instanceIdMap.put("vnfInstanceId", vnfInstanceId);
-               Response response = serviceInstances(request, Action.createInstance, instanceIdMap, version);
-
-               return response;
+               return serviceInstances(request, Action.createInstance, instanceIdMap, version);
        }
 
        @PUT
@@ -429,13 +385,11 @@ public class ServiceInstances {
        public Response updateVolumeGroupInstance(String request, @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId,
                        @PathParam("vnfInstanceId") String vnfInstanceId,
                        @PathParam("volumeGroupInstanceId") String volumeGroupInstanceId) {
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
                instanceIdMap.put("vnfInstanceId", vnfInstanceId);
                instanceIdMap.put("volumeGroupInstanceId", volumeGroupInstanceId);
-               Response response = serviceInstances(request, Action.updateInstance, instanceIdMap, version);
-
-               return response;
+               return serviceInstances(request, Action.updateInstance, instanceIdMap, version);
        }
 
        @DELETE
@@ -446,13 +400,11 @@ public class ServiceInstances {
        public Response deleteVolumeGroupInstance(String request, @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId,
                        @PathParam("vnfInstanceId") String vnfInstanceId,
                        @PathParam("volumeGroupInstanceId") String volumeGroupInstanceId) {
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
                instanceIdMap.put("vnfInstanceId", vnfInstanceId);
                instanceIdMap.put("volumeGroupInstanceId", volumeGroupInstanceId);
-               Response response = serviceInstances(request, Action.deleteInstance, instanceIdMap, version);
-
-               return response;
+               return serviceInstances(request, Action.deleteInstance, instanceIdMap, version);
        }
 
        @POST
@@ -461,11 +413,9 @@ public class ServiceInstances {
        @Produces(MediaType.APPLICATION_JSON)
        @ApiOperation(value="Create NetworkInstance on a specified version and serviceInstance ",response=Response.class)
        public Response createNetworkInstance(String request, @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId) {
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
-               Response response = serviceInstances(request, Action.createInstance, instanceIdMap, version);
-
-               return response;
+               return serviceInstances(request, Action.createInstance, instanceIdMap, version);
        }
 
        @PUT
@@ -475,12 +425,10 @@ public class ServiceInstances {
        @ApiOperation(value="Update VolumeGroup on a specified version, serviceInstance, networkInstance",response=Response.class)
        public Response updateNetworkInstance(String request, @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId,
                        @PathParam("networkInstanceId") String networkInstanceId) {
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
                instanceIdMap.put("networkInstanceId", networkInstanceId);
-               Response response = serviceInstances(request, Action.updateInstance, instanceIdMap, version);
-
-               return response;
+               return serviceInstances(request, Action.updateInstance, instanceIdMap, version);
        }
 
        @DELETE
@@ -490,12 +438,10 @@ public class ServiceInstances {
        @ApiOperation(value="Delete provided Network instance",response=Response.class)
        public Response deleteNetworkInstance(String request, @PathParam("version") String version, @PathParam("serviceInstanceId") String serviceInstanceId,
                        @PathParam("networkInstanceId") String networkInstanceId) {
-               HashMap<String, String> instanceIdMap = new HashMap<String,String>();
+               HashMap<String, String> instanceIdMap = new HashMap<>();
                instanceIdMap.put("serviceInstanceId", serviceInstanceId);
                instanceIdMap.put("networkInstanceId", networkInstanceId);
-               Response response = serviceInstances(request, Action.deleteInstance, instanceIdMap, version);
-
-               return response;
+               return serviceInstances(request, Action.deleteInstance, instanceIdMap, version);
        }
 
        private Response serviceInstances(String requestJSON, Action action, HashMap<String,String> instanceIdMap, String version) {
@@ -508,8 +454,9 @@ public class ServiceInstances {
                MsoRequest msoRequest = new MsoRequest (requestId);
 
                try {
-                       sir = convertJsonToServiceInstanceRequest(requestJSON, action, startTime, sir, msoRequest);
+                       sir = convertJsonToServiceInstanceRequest(requestJSON, action, startTime, msoRequest);
                } catch(Exception e) {
+                       msoLogger.debug("Exception occurred while mapping of request to JSON object ", e);
                        Response response = msoRequest.buildServiceErrorResponse(HttpStatus.SC_BAD_REQUEST, MsoException.ServiceException,
                                        "Mapping of request to JSON object failed.  " + e.getMessage(),
                                        ErrorNumbers.SVC_BAD_PARAMETER, null);
@@ -520,6 +467,7 @@ public class ServiceInstances {
                try {
                        parseRequest(requestJSON, action, instanceIdMap, version, startTime, sir, msoRequest);
                } catch(Exception e) {
+                       msoLogger.debug("Exception occurred while logging ", e);
                        Response response = msoRequest.buildServiceErrorResponse(HttpStatus.SC_BAD_REQUEST, MsoException.ServiceException,
                                        "Error parsing request.  " + e.getMessage(),
                                        ErrorNumbers.SVC_BAD_PARAMETER, null);
@@ -689,42 +637,13 @@ public class ServiceInstances {
                }
 
                db.close();
-
-               String serviceInstanceId = "";
-               String vnfId = "";
-               String vfModuleId = "";
-               String volumeGroupId = "";
-               String networkId = "";
-               ServiceInstancesRequest siReq = msoRequest.getServiceInstancesRequest();
-
-               if(siReq.getServiceInstanceId () != null){
-                       serviceInstanceId = siReq.getServiceInstanceId ();
-               }
-
-               if(siReq.getVnfInstanceId () != null){
-                       vnfId = siReq.getVnfInstanceId ();
-               }
-
-               if(siReq.getVfModuleInstanceId () != null){
-                       vfModuleId = siReq.getVfModuleInstanceId ();
-               }
-
-               if(siReq.getVolumeGroupInstanceId () != null){
-                       volumeGroupId = siReq.getVolumeGroupInstanceId ();
-               }
-
-               if(siReq.getNetworkInstanceId () != null){
-                       networkId = siReq.getNetworkInstanceId ();
-               }
-
-
-               requestId = msoRequest.getRequestId ();
-               msoLogger.debug ("requestId is: " + requestId);
+               msoLogger.debug ("requestId is: " + msoRequest.getRequestId());
                msoLogger.debug ("About to insert a record");
 
                try {
                        createRequestRecord(action, startTime, msoRequest);
                } catch(Exception e) {
+                       msoLogger.debug("Exception occurred while creating record in DB", e);
                        Response response = msoRequest.buildServiceErrorResponse(HttpStatus.SC_INTERNAL_SERVER_ERROR,
                                                                                                                                        MsoException.ServiceException,
                                                                                                                                        "Exception while creating record in DB " + e.getMessage(),
@@ -734,15 +653,32 @@ public class ServiceInstances {
                        return response;
                }
                
-               return postBPELRequest(action, requestId, startTime, msoRequest, recipeLookupResult.getOrchestrationURI(), recipeLookupResult.getRecipeTimeout(), 
-                                                               isBaseVfModule, serviceInstanceId, vnfId, vfModuleId, volumeGroupId, networkId, null,
-                                                               msoRequest.getServiceInstanceType(), msoRequest.getVnfType(), msoRequest.getVfModuleType(), msoRequest.getNetworkType());
+               return postBPELRequest(action, startTime, msoRequest, recipeLookupResult.getOrchestrationURI(),
+                               recipeLookupResult.getRecipeTimeout(), isBaseVfModule);
        }
 
-       private Response postBPELRequest(Action action, String requestId, long startTime, MsoRequest msoRequest,
-                                                                       String orchestrationUri, int timeOut, Boolean isBaseVfModule,
-                                                                       String serviceInstanceId, String vnfId, String vfModuleId, String volumeGroupId, String networkId,
-                                                                       String configurationId, String serviceInstanceType, String vnfType, String vfModuleType, String networkType) {
+       private RequestClientParamater buildRequestClientParameter(MsoRequest msoRequest, boolean isBaseVfModule,
+                       int timeOut, String requestAction) throws IOException {
+               return new RequestClientParamater.Builder().
+                               setRequestId(msoRequest.getRequestId()).
+                               setBaseVfModule(isBaseVfModule).setRecipeTimeout(timeOut).
+                               setRequestAction(requestAction).
+                               setServiceInstanceId(msoRequest.getServiceInstancesRequest().getServiceInstanceId()).
+                               setCorrelationId(msoRequest.getServiceInstancesRequest().getCorrelationId()).
+                               setVnfId(msoRequest.getServiceInstancesRequest().getVnfInstanceId()).
+                               setVfModuleId(msoRequest.getServiceInstancesRequest().getVfModuleInstanceId()).
+                               setVolumeGroupId(msoRequest.getServiceInstancesRequest().getVolumeGroupInstanceId()).
+                               setNetworkId(msoRequest.getServiceInstancesRequest().getNetworkInstanceId()).
+                               setConfigurationId(msoRequest.getServiceInstancesRequest().getConfigurationId()).
+                               setServiceType(msoRequest.getServiceInstanceType()).
+                               setVnfType(msoRequest.getVnfType()).
+                               setVfModuleType(msoRequest.getVfModuleType()).
+                               setNetworkType(msoRequest.getNetworkType()).
+                               setRequestDetails(msoRequest.getRequestJSON()).build();
+       }
+
+       private Response postBPELRequest(Action action, long startTime, MsoRequest msoRequest,
+                       String orchestrationUri, int timeOut, Boolean isBaseVfModule) {
                RequestClient requestClient = null;
                HttpResponse response = null;
                long subStartTime = System.currentTimeMillis();
@@ -752,12 +688,7 @@ public class ServiceInstances {
 
                        System.out.println("URL : " + requestClient.getUrl ());
 
-                       response = requestClient.post(requestId, isBaseVfModule, timeOut, action.name (),
-                                       serviceInstanceId, vnfId, vfModuleId, volumeGroupId, networkId, configurationId,
-                                       msoRequest.getServiceInstanceType (),
-                                       msoRequest.getVnfType (), msoRequest.getVfModuleType (),
-                                       msoRequest.getNetworkType (), msoRequest.getRequestJSON(), null);
-
+                       response = requestClient.post(buildRequestClientParameter(msoRequest, isBaseVfModule, timeOut, action.name()));
                        msoLogger.recordMetricEvent (subStartTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully received response from BPMN engine", "BPMN", orchestrationUri, null);
                } catch (Exception e) {
                        msoLogger.recordMetricEvent (subStartTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.CommunicationError, "Exception while communicate with BPMN engine", "BPMN", orchestrationUri, null);
@@ -796,7 +727,7 @@ public class ServiceInstances {
 
                // BPEL accepted the request, the request is in progress
                if (bpelStatus == HttpStatus.SC_ACCEPTED) {
-                       String camundaJSONResponseBody = respHandler.getResponseBody ();
+                       String camundaJSONResponseBody = respHandler.getContent();
                        msoLogger.debug ("Received from Camunda: " + camundaJSONResponseBody);
                        msoRequest.setStatus (org.openecomp.mso.apihandlerinfra.vnfbeans.RequestStatusType.IN_PROGRESS);
                        (RequestsDatabase.getInstance()).updateInfraStatus (msoRequest.getRequestId (),
@@ -809,7 +740,7 @@ public class ServiceInstances {
                } else {
                        List<String> variables = new ArrayList<>();
                        variables.add(bpelStatus + "");
-                       String camundaJSONResponseBody = respHandler.getResponseBody ();
+                       String camundaJSONResponseBody = respHandler.getContent();
                        if (camundaJSONResponseBody != null && !camundaJSONResponseBody.isEmpty ()) {
                                msoRequest.setStatus (org.openecomp.mso.apihandlerinfra.vnfbeans.RequestStatusType.FAILED);
                                Response resp =  msoRequest.buildServiceErrorResponse(bpelStatus,
@@ -904,11 +835,10 @@ public class ServiceInstances {
        }
 
        private ServiceInstancesRequest convertJsonToServiceInstanceRequest(String requestJSON, Action action, long startTime,
-                                                                                                                                               ServiceInstancesRequest sir, MsoRequest msoRequest) throws Exception {
+                       MsoRequest msoRequest) throws Exception {
                try{
                        ObjectMapper mapper = new ObjectMapper();
-                       sir = mapper.readValue(requestJSON, ServiceInstancesRequest.class);
-
+                       return mapper.readValue(requestJSON, ServiceInstancesRequest.class);
                } catch(Exception e){
                        msoLogger.debug ("Mapping of request to JSON object failed : ", e);
                        if (msoRequest.getRequestId () != null) {
@@ -919,7 +849,6 @@ public class ServiceInstances {
                        msoLogger.recordAuditEvent (startTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.SchemaError, "Mapping of request to JSON object failed");
                        throw new Exception(e);
                }
-               return sir;
        }
 
        private RecipeLookupResult getServiceInstanceOrchestrationURI (CatalogDatabase db, MsoRequest msoRequest, Action action) throws Exception {
@@ -982,17 +911,17 @@ public class ServiceInstances {
                }
                //if an aLaCarte flag was sent in the request, throw an error if the recipe was not found
                RequestParameters reqParam = msoRequest.getServiceInstancesRequest().getRequestDetails().getRequestParameters();
-               if(reqParam!=null && reqParam.isaLaCarte() && recipe==null){
+               if(reqParam!=null && reqParam.isaLaCarte()!=null && reqParam.isaLaCarte() && recipe==null){
                        return null;
+               } else if (recipe==null) {
+                       //aLaCarte wasn't sent, so we'll try the default
+                       serviceRecord = db.getServiceByModelName(defaultSourceServiceModelName);
+                       if (serviceRecord == null) {
+                               serviceRecord = db.getServiceByModelName(defaultServiceModelName);
+                       }
+                       recipe = db.getServiceRecipeByModelUUID(serviceRecord.getModelUUID(), action.name());
                }
 
-               //aLaCarte wasn't sent, so we'll try the default
-               serviceRecord = db.getServiceByModelName(defaultSourceServiceModelName);
-               if (serviceRecord == null) {
-                       serviceRecord = db.getServiceByModelName(defaultServiceModelName);
-               }
-
-               recipe = db.getServiceRecipeByModelUUID(serviceRecord.getModelUUID(), action.name());
                if(modelInfo.getModelVersionId() == null) {
                        modelInfo.setModelVersionId(serviceRecord.getModelUUID());
                }
@@ -1191,7 +1120,6 @@ public class ServiceInstances {
                return new RecipeLookupResult (vnfRecipe.getOrchestrationUri(), vnfRecipe.getRecipeTimeout());          
        }
 
-
        private RecipeLookupResult getNetworkUri (CatalogDatabase db, MsoRequest msoRequest, Action action) throws Exception {
 
                String defaultNetworkType = msoRequest.getRequestInfo().getSource() + "_DEFAULT";
@@ -1230,7 +1158,7 @@ public class ServiceInstances {
                MsoRequest msoRequest = new MsoRequest (requestId);
 
                try {
-                       sir = convertJsonToServiceInstanceRequest(requestJSON, action, startTime, sir, msoRequest);
+                       sir = convertJsonToServiceInstanceRequest(requestJSON, action, startTime, msoRequest);
                } catch(Exception e) {
                        Response response = msoRequest.buildServiceErrorResponse(HttpStatus.SC_BAD_REQUEST, MsoException.ServiceException,
                                        "Mapping of request to JSON object failed.  " + e.getMessage(),
@@ -1299,18 +1227,6 @@ public class ServiceInstances {
                        return response;
                        
                }
-               
-               String serviceInstanceId = "";
-               String configurationId = "";
-               ServiceInstancesRequest siReq = msoRequest.getServiceInstancesRequest();
-
-               if(siReq.getServiceInstanceId () != null){
-                       serviceInstanceId = siReq.getServiceInstanceId ();
-               }
-
-               if(siReq.getConfigurationId() != null){
-                       configurationId = siReq.getConfigurationId();
-               }
 
                requestId = msoRequest.getRequestId ();
                msoLogger.debug ("requestId is: " + requestId);
@@ -1328,7 +1244,6 @@ public class ServiceInstances {
                        return response;
                }
 
-               return postBPELRequest(action, requestId, startTime, msoRequest, orchestrationUri, Integer.parseInt(timeOut), false, 
-                                                               serviceInstanceId, null, null, null, null, configurationId, null, null, null, null);
+               return postBPELRequest(action, startTime, msoRequest, orchestrationUri, Integer.parseInt(timeOut), false);
        }
 }