You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by is...@apache.org on 2022/12/20 17:43:07 UTC

[airavata-data-lake] branch master updated: Fix collection groups

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

isjarana 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 a0abe68  Fix collection groups
     new d338248  Merge pull request #198 from isururanawaka/mysql_conversion
a0abe68 is described below

commit a0abe6898fd56c4dd4c8b5eb09e797c221648eb8
Author: Isuru Ranawaka <ir...@gmail.com>
AuthorDate: Tue Dec 20 12:39:54 2022 -0500

    Fix collection groups
---
 .../drms/api/handlers/ResourceServiceHandler.java  | 64 +++++++++++++++-------
 .../airavata/drms/api/utils/CustosUtils.java       |  2 +
 2 files changed, 47 insertions(+), 19 deletions(-)

diff --git a/data-resource-management-service/drms-rdbms-impl/drms-server/src/main/java/org/apache/airavata/drms/api/handlers/ResourceServiceHandler.java b/data-resource-management-service/drms-rdbms-impl/drms-server/src/main/java/org/apache/airavata/drms/api/handlers/ResourceServiceHandler.java
index 5b40de8..a200ebd 100644
--- a/data-resource-management-service/drms-rdbms-impl/drms-server/src/main/java/org/apache/airavata/drms/api/handlers/ResourceServiceHandler.java
+++ b/data-resource-management-service/drms-rdbms-impl/drms-server/src/main/java/org/apache/airavata/drms/api/handlers/ResourceServiceHandler.java
@@ -45,6 +45,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 
+import java.io.IOException;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -392,16 +393,28 @@ public class ResourceServiceHandler extends ResourceServiceGrpc.ResourceServiceI
     public void addChildMembership(AddChildResourcesMembershipRequest request,
                                    StreamObserver<OperationStatusResponse> responseObserver) {
         try {
-//            AuthenticatedUser callUser = request.getAuthToken().getAuthenticatedUser();
-//            GenericResource resource = request.getParentResource();
-//            List<GenericResource> childResources = request.getChildResourcesList();
-//
-//            List<GenericResource> allResources = new ArrayList<>();
-//            allResources.add(resource);
-//            allResources.addAll(childResources);
-
-            responseObserver.onError(Status.UNIMPLEMENTED.asRuntimeException());
-
+            AuthenticatedUser callUser = request.getAuthToken().getAuthenticatedUser();
+            GenericResource resource = request.getParentResource();
+            List<GenericResource> childResources = request.getChildResourcesList();
+            List<GenericResource> allResources = new ArrayList<>();
+                childResources.forEach(childResource-> {
+                    try {
+                        CustosUtils.mergeResourceEntity(custosClientProvider, callUser.getTenantId(),
+                                  resource.getResourceId(), childResource.getType(), childResource.getResourceId(),
+                                  childResource.getResourceName(), childResource.getResourceName(),
+                                  callUser.getUsername());
+                        allResources.add(childResource);
+                    } catch (IOException e) {
+                        String msg = " Error occurred while adding  child memberships " + e.getMessage();
+                        logger.error(" Error occurred while adding  child memberships: Messages {} ", e.getMessage(), e);
+                    }
+                });
+                OperationStatusResponse operationStatusResponse = OperationStatusResponse
+                        .newBuilder().
+                                setStatus(true)
+                        .build();
+           responseObserver.onNext(operationStatusResponse);
+           responseObserver.onCompleted();
 
         } catch (Exception e) {
             String msg = " Error occurred while adding  child memberships " + e.getMessage();
@@ -416,15 +429,28 @@ public class ResourceServiceHandler extends ResourceServiceGrpc.ResourceServiceI
                                       StreamObserver<OperationStatusResponse> responseObserver) {
         try {
 
-//            AuthenticatedUser callUser = request.getAuthToken().getAuthenticatedUser();
-//            GenericResource resource = request.getParentResource();
-//            List<GenericResource> childResources = request.getChildResourcesList();
-//
-//            List<GenericResource> allResources = new ArrayList<>();
-//            allResources.add(resource);
-//            allResources.addAll(childResources);
-
-            responseObserver.onError(Status.UNIMPLEMENTED.asRuntimeException());
+            AuthenticatedUser callUser = request.getAuthToken().getAuthenticatedUser();
+            GenericResource resource = request.getParentResource();
+            List<GenericResource> childResources = request.getChildResourcesList();
+            List<GenericResource> allResources = new ArrayList<>();
+            childResources.forEach(childResource-> {
+                try {
+                    CustosUtils.mergeResourceEntity(custosClientProvider, callUser.getTenantId(),
+                            "", childResource.getType(), childResource.getResourceId(),
+                            childResource.getResourceName(), childResource.getResourceName(),
+                            callUser.getUsername());
+                    allResources.add(childResource);
+                } catch (IOException e) {
+                    String msg = " Error occurred while adding  child memberships " + e.getMessage();
+                    logger.error(" Error occurred while adding  child memberships: Messages {} ", e.getMessage(), e);
+                }
+            });
+            OperationStatusResponse operationStatusResponse = OperationStatusResponse
+                    .newBuilder().
+                            setStatus(true)
+                    .build();
+            responseObserver.onNext(operationStatusResponse);
+            responseObserver.onCompleted();
 
 
         } catch (Exception e) {
diff --git a/data-resource-management-service/drms-rdbms-impl/drms-server/src/main/java/org/apache/airavata/drms/api/utils/CustosUtils.java b/data-resource-management-service/drms-rdbms-impl/drms-server/src/main/java/org/apache/airavata/drms/api/utils/CustosUtils.java
index 77ed201..7822bfd 100644
--- a/data-resource-management-service/drms-rdbms-impl/drms-server/src/main/java/org/apache/airavata/drms/api/utils/CustosUtils.java
+++ b/data-resource-management-service/drms-rdbms-impl/drms-server/src/main/java/org/apache/airavata/drms/api/utils/CustosUtils.java
@@ -107,6 +107,8 @@ public class CustosUtils {
             Status status = sharingManagementClient.isEntityExists(tenantId, entity);
             if (!status.getStatus()) {
                 sharingManagementClient.createEntity(tenantId, entity);
+            }else{
+                sharingManagementClient.updateEntity(tenantId,entity);
             }
 
             return Optional.ofNullable(sharingManagementClient.getEntity(tenantId, entity));