This is an automated email from the ASF dual-hosted git repository. marat pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-karavan.git
The following commit(s) were added to refs/heads/main by this push: new afc93e5e Push notification afc93e5e is described below commit afc93e5e67db6004724bbcfc744cb8eedb350bde Author: Marat Gubaidullin <ma...@talismancloud.io> AuthorDate: Wed May 29 16:09:30 2024 -0400 Push notification --- .../camel/karavan/manager/NotificationManager.java | 24 ++++++++++++++++------ .../camel/karavan/project/ProjectService.java | 3 +-- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/karavan-app/src/main/java/org/apache/camel/karavan/manager/NotificationManager.java b/karavan-app/src/main/java/org/apache/camel/karavan/manager/NotificationManager.java index 544515df..a4236dd9 100644 --- a/karavan-app/src/main/java/org/apache/camel/karavan/manager/NotificationManager.java +++ b/karavan-app/src/main/java/org/apache/camel/karavan/manager/NotificationManager.java @@ -16,14 +16,18 @@ */ package org.apache.camel.karavan.manager; +import io.quarkus.vertx.ConsumeEvent; import io.vertx.core.eventbus.DeliveryOptions; import io.vertx.core.json.JsonObject; import io.vertx.mutiny.core.eventbus.EventBus; import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; +import org.apache.camel.karavan.project.model.Project; import java.util.UUID; +import static org.apache.camel.karavan.project.ProjectEvents.COMMIT_HAPPENED; + @ApplicationScoped public class NotificationManager { @@ -35,19 +39,27 @@ public class NotificationManager { @Inject EventBus eventBus; + @ConsumeEvent(value = COMMIT_HAPPENED, blocking = true, ordered = true) + public void onCommitHappened(JsonObject event) throws Exception { + JsonObject pj = event.getJsonObject("project"); + Project p = pj.mapTo(Project.class); + String eventId = event.getString("eventId"); + sendSystem(eventId, "commit", Project.class.getSimpleName(), JsonObject.mapFrom(p)); + } + public void send(String userId, String eventId, String evenName, String className, JsonObject data) { eventBus.publish(userId, data, new DeliveryOptions() - .addHeader(NOTIFICATION_HEADER_EVENT_ID, eventId != null ? eventId : UUID.randomUUID().toString()) - .addHeader(NOTIFICATION_HEADER_EVENT_NAME, evenName) - .addHeader(NOTIFICATION_HEADER_CLASS_NAME, className) + .addHeader(NOTIFICATION_HEADER_EVENT_ID, eventId != null ? eventId : UUID.randomUUID().toString()) + .addHeader(NOTIFICATION_HEADER_EVENT_NAME, evenName) + .addHeader(NOTIFICATION_HEADER_CLASS_NAME, className) ); } public void sendSystem(String eventId, String evenName, String className, JsonObject data) { eventBus.publish(NOTIFICATION_ADDRESS_SYSTEM, data, new DeliveryOptions() - .addHeader(NOTIFICATION_HEADER_EVENT_ID, eventId != null ? eventId : UUID.randomUUID().toString()) - .addHeader(NOTIFICATION_HEADER_EVENT_NAME, evenName) - .addHeader(NOTIFICATION_HEADER_CLASS_NAME, className) + .addHeader(NOTIFICATION_HEADER_EVENT_ID, eventId != null ? eventId : UUID.randomUUID().toString()) + .addHeader(NOTIFICATION_HEADER_EVENT_NAME, evenName) + .addHeader(NOTIFICATION_HEADER_CLASS_NAME, className) ); } } \ No newline at end of file diff --git a/karavan-projects/src/main/java/org/apache/camel/karavan/project/ProjectService.java b/karavan-projects/src/main/java/org/apache/camel/karavan/project/ProjectService.java index b40cd925..c9d27808 100644 --- a/karavan-projects/src/main/java/org/apache/camel/karavan/project/ProjectService.java +++ b/karavan-projects/src/main/java/org/apache/camel/karavan/project/ProjectService.java @@ -74,8 +74,7 @@ public class ProjectService { p.setLastCommitTimestamp(lastUpdate); projectsCache.saveProject(p); if (userId != null) { -// notificationService.sendSystem(eventId, COMMIT_HAPPENED, Project.class.getSimpleName(), JsonObject.mapFrom(p)); - eventBus.publish(COMMIT_HAPPENED, JsonObject.mapFrom(p)); + eventBus.publish(COMMIT_HAPPENED, JsonObject.of("eventId", eventId, "project", JsonObject.mapFrom(p))); } }