in data-index/data-index-storage/data-index-storage-common/src/main/java/org/kie/kogito/index/storage/merger/ProcessInstanceStateDataEventMerger.java [41:71]
public ProcessInstance merge(ProcessInstance pi, ProcessInstanceDataEvent<?> data) {
ProcessInstanceStateDataEvent event = (ProcessInstanceStateDataEvent) data;
pi = getOrNew(pi, data, event.getData().getEventDate());
LOGGER.debug("Value before merging: {}", pi);
pi.setId(event.getData().getProcessInstanceId());
pi.setVersion(event.getData().getProcessVersion());
pi.setProcessId(event.getData().getProcessId());
pi.setProcessName(event.getData().getProcessName());
pi.setRootProcessInstanceId(event.getData().getRootProcessInstanceId());
pi.setRootProcessId(event.getData().getRootProcessId());
pi.setParentProcessInstanceId(event.getData().getParentInstanceId());
pi.setRoles(event.getData().getRoles());
pi.setState(event.getData().getState());
if (event.getData().getEventType() == null || event.getData().getEventType() == ProcessInstanceStateEventBody.EVENT_TYPE_STARTED) {
pi.setStart(toZonedDateTime(event.getData().getEventDate()));
pi.setCreatedBy(event.getData().getEventUser());
} else if (event.getData().getEventType() == ProcessInstanceStateEventBody.EVENT_TYPE_STARTED) {
pi.setEnd(toZonedDateTime(event.getData().getEventDate()));
} else if (event.getData().getEventType() == ProcessInstanceStateEventBody.EVENT_TYPE_RETRIGGERED) {
pi.setError(null);
}
pi.setBusinessKey(event.getData().getBusinessKey());
pi.setAddons(isNullOrEmpty(event.getKogitoAddons()) ? null : Set.of(event.getKogitoAddons().split(",")));
pi.setEndpoint(event.getSource() == null ? null : event.getSource().toString());
pi.setLastUpdate(toZonedDateTime(event.getTime()));
pi.setDefinition(definitions(event));
pi.setUpdatedBy(event.getData().getEventUser());
pi.setSlaDueDate(toZonedDateTime(event.getData().getSlaDueDate()));
LOGGER.debug("Value after merging: {}", pi);
return pi;
}