Add sending create request to VNFM
[so.git] / adapters / mso-vnfm-adapter / mso-vnfm-etsi-adapter / src / main / java / org / onap / so / adapters / vnfmadapter / rest / VnfmAdapterController.java
index 055b8e0..1cf00da 100644 (file)
@@ -20,9 +20,7 @@
 
 package org.onap.so.adapters.vnfmadapter.rest;
 
-import static org.onap.so.adapters.vnfmadapter.Constants.BASE_URL;
-import javax.validation.Valid;
-import javax.ws.rs.core.MediaType;
+import io.swagger.annotations.ApiParam;
 import org.onap.logging.ref.slf4j.ONAPLogConstants;
 import org.onap.so.adapters.vnfmadapter.jobmanagement.JobManager;
 import org.onap.so.adapters.vnfmadapter.lifecycle.LifecycleManager;
@@ -37,14 +35,10 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestHeader;
-import org.springframework.web.bind.annotation.RequestMapping;
-import io.swagger.annotations.ApiParam;
+import org.springframework.web.bind.annotation.*;
+import javax.validation.Valid;
+import javax.ws.rs.core.MediaType;
+import static org.onap.so.adapters.vnfmadapter.Constants.BASE_URL;
 
 /**
  * Controller for handling requests to the VNFM (Virtual Network Function Manager) adapter REST API.
@@ -87,9 +81,12 @@ public class VnfmAdapterController {
 
         logger.info("REST request vnfCreate with body: {}", createVnfRequest);
 
-        final CreateVnfResponse createVnfResponse = lifecycleManager.createVnf(vnfId, createVnfRequest);
-        clearLoggingMDCs();
-        return new ResponseEntity<>(createVnfResponse, HttpStatus.ACCEPTED);
+        try {
+            final CreateVnfResponse createVnfResponse = lifecycleManager.createVnf(vnfId, createVnfRequest);
+            return new ResponseEntity<>(createVnfResponse, HttpStatus.ACCEPTED);
+        } finally {
+            clearLoggingMDCs();
+        }
     }
 
     @DeleteMapping(value = "/vnfs/{vnfId}")
@@ -113,9 +110,12 @@ public class VnfmAdapterController {
 
         logger.info("REST request vnfDelete for VNF: {}", vnfId);
 
-        final DeleteVnfResponse response = lifecycleManager.deleteVnf(vnfId);
-        clearLoggingMDCs();
-        return new ResponseEntity<>(response, HttpStatus.ACCEPTED);
+        try {
+            final DeleteVnfResponse response = lifecycleManager.deleteVnf(vnfId);
+            return new ResponseEntity<>(response, HttpStatus.ACCEPTED);
+        } finally {
+            clearLoggingMDCs();
+        }
     }
 
     @GetMapping(value = "/jobs/{jobId}")
@@ -136,15 +136,14 @@ public class VnfmAdapterController {
 
         setLoggingMDCs(requestId, partnerName, invocationId);
 
-        final QueryJobResponse response = jobManager.getVnfmOperation(jobId);
-        if (response == null) {
-            return new ResponseEntity<>(HttpStatus.NOT_FOUND);
+        try {
+            final QueryJobResponse response = jobManager.getVnfmOperation(jobId);
+            return new ResponseEntity<>(response, HttpStatus.OK);
+        } finally {
+            clearLoggingMDCs();
         }
-        return new ResponseEntity<>(response, HttpStatus.OK);
-
     }
 
-
     private void setLoggingMDCs(final String requestId, final String partnerName, final String invocationId) {
         MDC.put(ONAPLogConstants.MDCs.REQUEST_ID, requestId);
         MDC.put(ONAPLogConstants.MDCs.PARTNER_NAME, partnerName);