You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by di...@apache.org on 2021/09/07 23:38:28 UTC

[airavata-data-lake] branch master updated: Adding get notification status by notofocation id api

This is an automated email from the ASF dual-hosted git repository.

dimuthuupe pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata-data-lake.git


The following commit(s) were added to refs/heads/master by this push:
     new 83ce467  Adding get notification status by notofocation id api
83ce467 is described below

commit 83ce467dd6450c6a4c88fc10e025cbdc3fad8ee0
Author: Dimuthu Wannipurage <di...@gmail.com>
AuthorDate: Tue Sep 7 19:38:12 2021 -0400

    Adding get notification status by notofocation id api
---
 .../repository/NotificationStatusEntityRepository.java     |  4 ++++
 .../orchestrator/handlers/grpc/NotificationApiHandler.java | 14 ++++++++++++++
 .../src/main/proto/notification.proto                      | 10 ++++++++++
 3 files changed, 28 insertions(+)

diff --git a/data-orchestrator/data-orchestrator-registry/src/main/java/org/apache/airavata/datalake/orchestrator/registry/persistance/repository/NotificationStatusEntityRepository.java b/data-orchestrator/data-orchestrator-registry/src/main/java/org/apache/airavata/datalake/orchestrator/registry/persistance/repository/NotificationStatusEntityRepository.java
index 565cbb2..4c3cb3c 100644
--- a/data-orchestrator/data-orchestrator-registry/src/main/java/org/apache/airavata/datalake/orchestrator/registry/persistance/repository/NotificationStatusEntityRepository.java
+++ b/data-orchestrator/data-orchestrator-registry/src/main/java/org/apache/airavata/datalake/orchestrator/registry/persistance/repository/NotificationStatusEntityRepository.java
@@ -20,5 +20,9 @@ package org.apache.airavata.datalake.orchestrator.registry.persistance.repositor
 import org.apache.airavata.datalake.orchestrator.registry.persistance.entity.notification.NotificationStatusEntity;
 import org.springframework.data.jpa.repository.JpaRepository;
 
+import java.util.List;
+
 public interface NotificationStatusEntityRepository extends JpaRepository<NotificationStatusEntity, String> {
+
+    public List<NotificationStatusEntity> findByNotificationId(String notificationId);
 }
diff --git a/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/src/main/java/org/apache/airavata/datalake/orchestrator/handlers/grpc/NotificationApiHandler.java b/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/src/main/java/org/apache/airavata/datalake/orchestrator/handlers/grpc/NotificationApiHandler.java
index d44d81d..61fbbd1 100644
--- a/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/src/main/java/org/apache/airavata/datalake/orchestrator/handlers/grpc/NotificationApiHandler.java
+++ b/data-orchestrator/data-orchestrator-service/data-orchestrator-api-server/src/main/java/org/apache/airavata/datalake/orchestrator/handlers/grpc/NotificationApiHandler.java
@@ -85,4 +85,18 @@ public class NotificationApiHandler extends NotificationServiceGrpc.Notification
         responseObserver.onNext(responseBuilder.build());
         responseObserver.onCompleted();
     }
+
+    @Override
+    public void fetchNotificationStatus(NotificationStatusFetchRequest request, StreamObserver<NotificationStatusListResponse> responseObserver) {
+        List<NotificationStatusEntity> allEntities = notificationStatusRepository.findByNotificationId(request.getNotificationId());
+        DozerBeanMapper mapper = new DozerBeanMapper();
+        NotificationStatusListResponse.Builder responseBuilder = NotificationStatusListResponse.newBuilder();
+        for (NotificationStatusEntity e : allEntities) {
+            NotificationStatus.Builder builder = NotificationStatus.newBuilder();
+            mapper.map(e, builder);
+            responseBuilder.addStatuses(builder.build());
+        }
+        responseObserver.onNext(responseBuilder.build());
+        responseObserver.onCompleted();
+    }
 }
diff --git a/data-orchestrator/data-orchestrator-service/data-orchestrator-api-stub/src/main/proto/notification.proto b/data-orchestrator/data-orchestrator-service/data-orchestrator-api-stub/src/main/proto/notification.proto
index d7354e9..4ad1b17 100644
--- a/data-orchestrator/data-orchestrator-service/data-orchestrator-api-stub/src/main/proto/notification.proto
+++ b/data-orchestrator/data-orchestrator-service/data-orchestrator-api-stub/src/main/proto/notification.proto
@@ -80,6 +80,10 @@ message NotificationStatusListResponse {
     repeated NotificationStatus statuses = 1;
 }
 
+message NotificationStatusFetchRequest {
+    string notificationId = 1;
+}
+
 service NotificationService {
 
     rpc registerNotification (NotificationRegisterRequest) returns (NotificationRegisterResponse) {
@@ -105,4 +109,10 @@ service NotificationService {
       get: "/v1.0/api/dataorch/notification/status"
     };
     }
+
+    rpc fetchNotificationStatus(NotificationStatusFetchRequest) returns (NotificationStatusListResponse) {
+        option (google.api.http) = {
+      get: "/v1.0/api/dataorch/notification/status/{notificationId}"
+    };
+    }
 }
\ No newline at end of file