-package org.onap.vid.controllers;
+package org.onap.vid.controller;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
import org.onap.vid.exceptions.OperationNotAllowedException;
import org.onap.vid.model.ExceptionResponse;
-
-import org.apache.commons.lang.StringUtils;
-import org.apache.commons.lang.exception.ExceptionUtils;
-
import org.onap.vid.model.JobAuditStatus;
import org.onap.vid.model.ServiceInfo;
import org.onap.vid.model.serviceInstantiation.ServiceInstantiation;
import org.onap.vid.mso.MsoResponseWrapper2;
import org.onap.vid.services.AsyncInstantiationBusinessLogic;
+import org.onap.vid.services.AuditService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.UUID;
+
import static org.springframework.http.HttpStatus.METHOD_NOT_ALLOWED;
protected final AsyncInstantiationBusinessLogic asyncInstantiationBL;
+ protected ObjectMapper objectMapper = new ObjectMapper();
+
+ @Autowired
+ protected AuditService auditService;
+
@Autowired
public AsyncInstantiationController(AsyncInstantiationBusinessLogic asyncInstantiationBL) {
this.asyncInstantiationBL = asyncInstantiationBL;
@RequestMapping(value = "bulk", method = RequestMethod.POST)
public MsoResponseWrapper2<List<String>> createBulkOfServices(@RequestBody ServiceInstantiation request, HttpServletRequest httpServletRequest) {
//Push to DB according the model
-
+ try {
+ LOGGER.debug(EELFLoggerDelegate.debugLogger, "incoming ServiceInstantiation request: "+ objectMapper.writeValueAsString(request));
+ }
+ catch (Exception e) {
+ LOGGER.error(EELFLoggerDelegate.errorLogger, "failed to log incoming ServiceInstantiation request ", e);
+ }
String userId = ControllersUtils.extractUserId(httpServletRequest);
List<UUID> uuids = asyncInstantiationBL.pushBulkJob(request, userId);
return asyncInstantiationBL.getAuditStatuses(jobId, source);
}
+ @RequestMapping(value = "auditStatus/{jobId}/mso", method = RequestMethod.GET)
+ public List<JobAuditStatus> getJobMsoAuditStatusForAlaCarte(HttpServletRequest request,
+ @PathVariable(value="jobId") UUID jobId,
+ @RequestParam(value="requestId", required = false) UUID requestId,
+ @RequestParam(value="serviceInstanceId", required = false) UUID serviceInstanceId){
+ if (serviceInstanceId != null) {
+ return auditService.getAuditStatusFromMsoByServiceInstanceId(jobId, serviceInstanceId);
+ }
+ if (requestId != null){
+ return auditService.getAuditStatusFromMsoByRequestId(jobId, requestId);
+ }
+ return auditService.getAuditStatusFromMsoByJobId(jobId);
+
+ }
+
}