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/08/18 19:38:02 UTC

[airavata-data-lake] branch master updated: Fix Resource fetch

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 b3240d4  Fix Resource fetch
     new ec5c2dd  Merge pull request #148 from isururanawaka/mysql_conversion
b3240d4 is described below

commit b3240d456e0a064e5e9a5128c0212e23ce6ff8ab
Author: Isuru Ranawaka <ir...@gmail.com>
AuthorDate: Thu Aug 18 15:36:41 2022 -0400

    Fix Resource fetch
---
 .../drms/api/handlers/ResourceServiceHandler.java      | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

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 c022396..258f11f 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
@@ -25,12 +25,14 @@ import org.apache.airavata.datalake.drms.AuthenticatedUser;
 import org.apache.airavata.datalake.drms.resource.GenericResource;
 import org.apache.airavata.datalake.drms.storage.*;
 import org.apache.airavata.drms.api.persistance.mapper.ResourceMapper;
+import org.apache.airavata.drms.api.persistance.mapper.StorageMapper;
 import org.apache.airavata.drms.api.persistance.model.Resource;
 import org.apache.airavata.drms.api.persistance.model.ResourceProperty;
 import org.apache.airavata.drms.api.persistance.repository.ResourcePropertyRepository;
 import org.apache.airavata.drms.api.persistance.repository.ResourceRepository;
 import org.apache.airavata.drms.api.utils.CustosUtils;
 import org.apache.airavata.drms.core.constants.SharingConstants;
+import org.apache.airavata.drms.core.constants.StorageConstants;
 import org.apache.custos.clients.CustosClientProvider;
 import org.apache.custos.sharing.management.client.SharingManagementClient;
 import org.apache.custos.sharing.service.Entity;
@@ -87,7 +89,23 @@ public class ResourceServiceHandler extends ResourceServiceGrpc.ResourceServiceI
                     Optional<Resource> resourceOptional = resourceRepository.findById(resourceId);
                     if (resourceOptional.isPresent()) {
 
+                        Resource persistedRes = resourceOptional.get();
                         GenericResource resource = ResourceMapper.map(resourceOptional.get(), entity);
+
+                        while (!persistedRes.getParentResourceId().isEmpty()) {
+                            Optional<Resource> perResourceOptional = resourceRepository.findById(resourceId);
+                            if (perResourceOptional.isPresent()) {
+                                persistedRes = perResourceOptional.get();
+                            }
+                        }
+                        if (persistedRes.getResourceType().equals(StorageConstants.STORAGE_LABEL)) {
+                            AnyStorage storage = StorageMapper.map(persistedRes);
+                            if (storage.getSshStorage().isInitialized()) {
+                                resource.toBuilder().setSshStorage(storage.getSshStorage());
+                            } else {
+                                resource.toBuilder().setS3Storage(storage.getS3Storage());
+                            }
+                        }
                         ResourceFetchResponse response = ResourceFetchResponse
                                 .newBuilder()
                                 .setResource(resource)