public void publish()

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());
        }
    }