log.setSlaCompliance(((ProcessInstance) event.getProcessInstance()).getSlaCompliance()); em.merge(log);
@Override public AuditEvent buildEvent(ProcessCompletedEvent pce, Object log) { ProcessInstanceImpl pi = (ProcessInstanceImpl) pce.getProcessInstance(); ProcessInstanceLog logEvent = null; if (log != null) { logEvent = (ProcessInstanceLog) log; } else { logEvent = new ProcessInstanceLog(pi.getId(), pi.getProcessId()); } logEvent.setOutcome(pi.getOutcome()); logEvent.setStatus(pi.getState()); logEvent.setEnd(pce.getEventDate()); logEvent.setDuration(logEvent.getEnd().getTime() - logEvent.getStart().getTime()); logEvent.setProcessInstanceDescription( pi.getDescription() ); logEvent.setSlaCompliance(pi.getSlaCompliance()); return logEvent; }
@Override public AuditEvent buildEvent(ProcessStartedEvent pse) { ProcessInstanceImpl pi = (ProcessInstanceImpl) pse.getProcessInstance(); ProcessInstanceLog log = new ProcessInstanceLog(pi.getId(), pi.getProcessId()); log.setExternalId(""+((KieSession) pse.getKieRuntime()).getIdentifier()); log.setProcessName(pi.getProcess().getName()); log.setProcessVersion(pi.getProcess().getVersion()); log.setStatus(ProcessInstance.STATE_ACTIVE); log.setProcessInstanceDescription( pi.getDescription() ); log.setProcessType(((WorkflowProcess)pi.getProcess()).getProcessType()); log.setSlaCompliance(pi.getSlaCompliance()); log.setSlaDueDate(pi.getSlaDueDate()); // store correlation key in its external form CorrelationKey correlationKey = (CorrelationKey) pi.getMetaData().get("CorrelationKey"); if (correlationKey != null) { log.setCorrelationKey(correlationKey.toExternalForm()); } long parentProcessInstanceId = (Long) pi.getMetaData().getOrDefault("ParentProcessInstanceId", -1L); log.setParentProcessInstanceId( parentProcessInstanceId ); return log; }