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)