in quarkus/extensions/kogito-quarkus-workflow-extension-common/kogito-quarkus-workflow-common/src/main/java/org/kie/kogito/quarkus/workflow/devservices/DataIndexEventPublisher.java [58:113]
public void publish(DataEvent<?> event) {
if (dataIndexUrl.isEmpty()) {
return;
}
LOGGER.debug("Sending event to data index: {}", event);
switch (event.getType()) {
case "ProcessDefinitionEvent":
webClient.postAbs(dataIndexUrl.get() + "/definitions")
.putHeader(CONTENT_TYPE, CLOUD_EVENTS_CONTENT_TYPE)
.expect(ResponsePredicate.SC_ACCEPTED)
.sendJson(event, result -> {
if (result.failed()) {
LOGGER.error("Failed to send message to Data Index", result.cause());
} else {
LOGGER.debug("Event published to Data Index");
}
});
break;
case "ProcessInstanceErrorDataEvent":
case "ProcessInstanceNodeDataEvent":
case "ProcessInstanceSLADataEvent":
case "ProcessInstanceStateDataEvent":
case "ProcessInstanceVariableDataEvent":
webClient.postAbs(dataIndexUrl.get() + "/processes")
.putHeader(CONTENT_TYPE, CLOUD_EVENTS_CONTENT_TYPE)
.expect(ResponsePredicate.SC_ACCEPTED)
.sendJson(event, result -> {
if (result.failed()) {
LOGGER.error("Failed to send message to Data Index", result.cause());
} else {
LOGGER.debug("Event published to Data Index");
}
});
break;
case "UserTaskInstanceAssignmentDataEvent":
case "UserTaskInstanceAttachmentDataEvent":
case "UserTaskInstanceCommentDataEvent":
case "UserTaskInstanceDeadlineDataEvent":
case "UserTaskInstanceStateDataEvent":
case "UserTaskInstanceVariableDataEvent":
webClient.postAbs(dataIndexUrl.get() + "/tasks")
.putHeader(CONTENT_TYPE, CLOUD_EVENTS_CONTENT_TYPE)
.expect(ResponsePredicate.SC_ACCEPTED)
.sendJson(event, result -> {
if (result.failed()) {
LOGGER.error("Failed to send message to Data Index", result.cause());
} else {
LOGGER.debug("Event published to Data Index");
}
});
break;
default:
LOGGER.debug("Unknown type of event '{}', ignoring for this publisher", event.getType());
}
}