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 18:33:24 UTC

[airavata-data-lake] branch master updated: Fix local parent saving

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 e34a40b  Fix local parent saving
     new b0a9503  Merge pull request #200 from isururanawaka/mysql_conversion
e34a40b is described below

commit e34a40b7d423f4ea7a34a17f55544527902c2eb2
Author: Isuru Ranawaka <ir...@gmail.com>
AuthorDate: Tue Dec 20 13:32:22 2022 -0500

    Fix local parent saving
---
 .../drms/api/handlers/ResourceServiceHandler.java      | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 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 0d740db..df01c7f 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
@@ -396,18 +396,22 @@ public class ResourceServiceHandler extends ResourceServiceGrpc.ResourceServiceI
             AuthenticatedUser callUser = request.getAuthToken().getAuthenticatedUser();
             GenericResource resource = request.getParentResource();
             List<GenericResource> childResources = request.getChildResourcesList();
-            List<GenericResource> allResources = new ArrayList<>();
                 childResources.forEach(childResource-> {
 
                       List<ResourceProperty> resourceProperties =  resourcePropertyRepository.
                               findByPropertyKeyAndResourceId("resourceName",childResource.getResourceId());
+                    Optional<Resource>  exRes = resourceRepository.findById(childResource.getResourceId());
                    try{
-                      if(!resourceProperties.isEmpty()) {
+                      if(!resourceProperties.isEmpty() && exRes.isPresent()) {
                           CustosUtils.mergeResourceEntity(custosClientProvider, callUser.getTenantId(),
                                   resource.getResourceId(), childResource.getType(), childResource.getResourceId(),
                                   resourceProperties.get(0).getPropertyValue(), resourceProperties.get(0).getPropertyValue(),
                                   callUser.getUsername());
-                          allResources.add(childResource);
+                       Resource chResource =  exRes.get();
+                       chResource.setParentResourceId(resource.getResourceId());
+                       resourceRepository.save(chResource);
+
+
                       }
                     } catch (IOException e) {
                         String msg = " Error occurred while adding  child memberships " + e.getMessage();
@@ -437,16 +441,18 @@ public class ResourceServiceHandler extends ResourceServiceGrpc.ResourceServiceI
             AuthenticatedUser callUser = request.getAuthToken().getAuthenticatedUser();
             GenericResource resource = request.getParentResource();
             List<GenericResource> childResources = request.getChildResourcesList();
-            List<GenericResource> allResources = new ArrayList<>();
             childResources.forEach(childResource-> {
                 List<ResourceProperty> resourceProperties =  resourcePropertyRepository.findByPropertyKeyAndResourceId("resourceName",childResource.getResourceId());
+                Optional<Resource>  exRes = resourceRepository.findById(childResource.getResourceId());
                 try {
-                    if(!resourceProperties.isEmpty()) {
+                    if(!resourceProperties.isEmpty() && exRes.isPresent()) {
                         CustosUtils.mergeResourceEntity(custosClientProvider, callUser.getTenantId(),
                                 "", childResource.getType(), childResource.getResourceId(),
                                 resourceProperties.get(0).getPropertyValue(), resourceProperties.get(0).getPropertyValue(),
                                 callUser.getUsername());
-                        allResources.add(childResource);
+                        Resource chResource =  exRes.get();
+                        chResource.setParentResourceId(null);
+                        resourceRepository.save(chResource);
                     }
                 } catch (IOException e) {
                     String msg = " Error occurred while adding  child memberships " + e.getMessage();