- logger.info("PUT isTest={}", isTest);
- boolean isInsertTestEvent = false;
- String insertTestEvent = refProp.getStringValue("action.insert.test.event");
- if (insertTestEvent != null && insertTestEvent.equalsIgnoreCase("true")) {
- isInsertTestEvent = true;
- }
- logger.info("PUT isInsertTestEvent={}", isInsertTestEvent);
- // determine if requested action is permitted
- model.validateAction(actionCd);
- // input variables to camunda process
- Map<String, Object> variables = new HashMap<>();
- variables.put("actionCd", actionCd);
- variables.put("modelProp", prop.getBytes());
- variables.put("modelBpmnProp", bpmnJson);
- variables.put("modelName", modelName);
- variables.put("controlName", controlName);
- variables.put("docText", docText.getBytes());
- variables.put("isTest", isTest);
- variables.put("userid", userid);
- variables.put("isInsertTestEvent", isInsertTestEvent);
- logger.info("modelProp - " + prop);
- logger.info("docText - " + docText);
- try {
- // start camunda process
- ProcessInstance pi = runtimeService.startProcessInstanceByKey(processDefinitionKey, variables);
- // log process info
- logger.info("Started processDefinitionId={}, processInstanceId={}", pi.getProcessDefinitionId(),
- pi.getProcessInstanceId());
- } catch (SdcCommunicationException | PolicyClientException | BadRequestException e) {
- logger.error("Exception occured during invoking bpmn process", e);
- throw new CldsConfigException(e.getMessage(), e);
- }
- // refresh model info from db (get fresh event info)
- CldsModel retreivedModel = CldsModel.retrieve(cldsDao, modelName, false);
- if (actionCd.equalsIgnoreCase(CldsEvent.ACTION_SUBMIT)
- || actionCd.equalsIgnoreCase(CldsEvent.ACTION_RESUBMIT)) {
- // To verify inventory status and modify model status to distribute
- dcaeInventoryServices.setEventInventory(retreivedModel, getUserId());
- retreivedModel.save(cldsDao, getUserId());