long startTime = System.currentTimeMillis();\r
msoLogger.debug("requestId is: " + requestId);\r
E2EServiceInstanceRequest e2eSir = null;\r
+ String serviceId = instanceIdMap.get("serviceId");\r
\r
MsoRequest msoRequest = new MsoRequest(requestId);\r
ObjectMapper mapper = new ObjectMapper();\r
\r
} catch (Exception e) {\r
\r
- this.createOperationStatusRecordForError(action, requestId);\r
- \r
msoLogger.debug("Mapping of request to JSON object failed : ", e);\r
Response response = msoRequest.buildServiceErrorResponse(HttpStatus.SC_BAD_REQUEST,\r
MsoException.ServiceException, "Mapping of request to JSON object failed. " + e.getMessage(),\r
ErrorNumbers.SVC_BAD_PARAMETER, null);\r
if (msoRequest.getRequestId() != null) {\r
msoLogger.debug("Logging failed message to the database");\r
- this.createOperationStatusRecordForError(action, requestId);\r
}\r
msoLogger.error(MessageEnum.APIH_REQUEST_VALIDATION_ERROR, MSO_PROP_APIHANDLER_INFRA, "", "",\r
MsoLogger.ErrorCode.SchemaError, requestJSON, e);\r
}\r
\r
//check for the current operation status\r
- Response resp = checkE2ESvcInstStatus(action, requestId, startTime, msoRequest);\r
- if(resp != null && resp.getStatus() != 200) {\r
- return resp;\r
- }\r
+// Response resp = checkE2ESvcInstStatus(action, serviceId, startTime, msoRequest);\r
+// if(resp != null && resp.getStatus() != 200) {\r
+// return resp;\r
+// }\r
\r
CatalogDatabase db = null;\r
RecipeLookupResult recipeLookupResult = null;\r
msoLogger.recordAuditEvent(startTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.DBAccessError,\r
"Exception while communciate with DB");\r
msoLogger.debug(END_OF_THE_TRANSACTION + (String) response.getEntity());\r
- createOperationStatusRecordForError(action, requestId);\r
+ \r
return response;\r
} finally {\r
closeCatalogDB(db);\r
msoLogger.recordAuditEvent(startTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.DataNotFound,\r
"No recipe found in DB");\r
msoLogger.debug(END_OF_THE_TRANSACTION + (String) response.getEntity());\r
- createOperationStatusRecordForError(action, requestId);\r
+\r
return response;\r
}\r
\r
String serviceInstanceType = e2eSir.getService().getServiceType();\r
\r
- String serviceId = instanceIdMap.get("serviceId");\r
RequestClient requestClient = null;\r
HttpResponse response = null;\r
\r
msoLogger.recordAuditEvent(startTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.CommunicationError,\r
"Exception while communicate with BPMN engine");\r
msoLogger.debug("End of the transaction, the final response is: " + (String) getBPMNResp.getEntity());\r
- createOperationStatusRecordForError(action, requestId);\r
+\r
return getBPMNResp;\r
}\r
\r
msoLogger.recordAuditEvent(startTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.InternalError,\r
"Null response from BPMN");\r
msoLogger.debug(END_OF_THE_TRANSACTION + (String) getBPMNResp.getEntity());\r
- this.createOperationStatusRecordForError(action, requestId);\r
+\r
return getBPMNResp;\r
}\r
\r
ResponseHandler respHandler = new ResponseHandler(response, requestClient.getType());\r
int bpelStatus = respHandler.getStatus();\r
\r
- return beplStatusUpdate(requestId, startTime, msoRequest, requestClient, respHandler, bpelStatus, action, instanceIdMap);\r
+ return beplStatusUpdate(serviceId, startTime, msoRequest, requestClient, respHandler, bpelStatus, action, instanceIdMap);\r
}\r
\r
- private Response checkE2ESvcInstStatus(Action action, String requestId, long startTime, MsoRequest msoRequest) {\r
+ private Response checkE2ESvcInstStatus(Action action, String serviceId, long startTime, MsoRequest msoRequest) {\r
OperationStatus curStatus = null;\r
// String instanceName = sir.getRequestDetails().getRequestInfo().getInstanceName();\r
String requestScope = sir.getRequestDetails().getModelInfo().getModelType().name();\r
try {\r
- if (!(requestId == null && "service".equals(requestScope) && (action == Action.updateInstance))) { \r
- curStatus = chkSvcInstOperStatusbySvcId(requestId);\r
+ if (!(serviceId == null && "service".equals(requestScope) && (action == Action.updateInstance))) { \r
+ curStatus = chkSvcInstOperStatusbySvcId(serviceId);\r
}\r
} catch (Exception e) {\r
msoLogger.error(MessageEnum.APIH_DUPLICATE_CHECK_EXC, MSO_PROP_APIHANDLER_INFRA, "", "",\r
}\r
\r
if (curStatus != null && curStatus.getResult() != null && curStatus.getResult().equalsIgnoreCase("processing")) {\r
- String chkMessage = "Error: Locked instance - This " + requestScope + " (" + requestId + ") "\r
+ String chkMessage = "Error: Locked instance - This " + requestScope + " (" + serviceId + ") "\r
+ "now being worked with a status of " + curStatus.getResult() \r
+ ". The latest workflow of instance must be finished or cleaned up.";\r
\r
\r
msoLogger.debug("End of the transaction, the final response is: " + (String) response.getEntity());\r
\r
- createOperationStatusRecordForError(action, requestId);\r
-\r
return response;\r
}\r
\r
}\r
}\r
\r
- private Response beplStatusUpdate(String requestId, long startTime,\r
+ private Response beplStatusUpdate(String serviceId, long startTime,\r
MsoRequest msoRequest, RequestClient requestClient,\r
ResponseHandler respHandler, int bpelStatus, Action action,\r
HashMap<String, String> instanceIdMap) {\r
DelE2ESvcResp jo = mapper.readValue(\r
camundaJSONResponseBody, DelE2ESvcResp.class);\r
String operationId = jo.getOperationId();\r
- this.createOperationStatusRecord("DELETE", requestId,\r
+ this.createOperationStatusRecord("DELETE", serviceId,\r
operationId);\r
} catch (Exception ex) {\r
msoLogger.error(MessageEnum.APIH_BPEL_RESPONSE_ERROR,\r
}\r
\r
private void createOperationStatusRecordForError(Action action,\r
- String requestId) throws MsoDatabaseException {\r
+ String serviceId) throws MsoDatabaseException {\r
\r
AbstractSessionFactoryManager requestsDbSessionFactoryManager = new RequestsDbSessionFactoryManager();\r
\r
os.setProgress("100");\r
os.setReason("");\r
os.setResult("error");\r
- os.setServiceId(requestId);\r
+ os.setServiceId(serviceId);\r
os.setUserId("");\r
Timestamp startTimeStamp = new Timestamp(System.currentTimeMillis());\r
Timestamp endTimeStamp = new Timestamp(System.currentTimeMillis());\r