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;
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.
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}")
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}")
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);