You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ma...@apache.org on 2024/05/29 20:09:41 UTC
(camel-karavan) branch main updated: Push notification
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)));
}
}