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 <[email protected]>
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)));
}
}