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 f5d2e64  Bug fix in child resource sharings
     new dd1cc41  Merge pull request #40 from isururanawaka/sharing_service_impl
f5d2e64 is described below

commit f5d2e6438d7ed8ba42f68807278df928068b4c22
Author: Isuru Ranawaka <[email protected]>
AuthorDate: Thu Aug 12 15:50:47 2021 -0400

    Bug fix in child resource sharings
---
 .../drms/api/handlers/ResourceServiceHandler.java  | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git 
a/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/ResourceServiceHandler.java
 
b/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/ResourceServiceHandler.java
index 17ffca3..e91d1c2 100644
--- 
a/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/ResourceServiceHandler.java
+++ 
b/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/ResourceServiceHandler.java
@@ -239,25 +239,29 @@ public class ResourceServiceHandler extends 
ResourceServiceGrpc.ResourceServiceI
             String query = " MATCH (u:User),  (r" + type + ") where u.username 
= $username AND u.tenantId = $tenantId AND " +
                     " r.entityId = $entityId AND r.tenantId = $tenantId" +
                     " OPTIONAL MATCH 
(cg:Group)-[:CHILD_OF*]->(g:Group)<-[:MEMBER_OF]-(u)" +
-                    " OPTIONAL MATCH 
(u)<-[:SHARED_WITH]-(r)<-[:CHILD_OF*]-(cr)" +
-                    " OPTIONAL MATCH 
(g)<-[:SHARED_WITH]-(r)<-[:CHILD_OF*]-(chgr)" +
-                    " OPTIONAL MATCH 
(cg)<-[:SHARED_WITH]-(r)<-[:CHILD_OF*]-(chcgr)" +
-                    " return distinct  cr, chgr, chcgr";
+                    " OPTIONAL MATCH 
(u)<-[crRel:SHARED_WITH]-(r)<-[:CHILD_OF*]-(cr)" +
+                    " OPTIONAL MATCH 
(g)<-[chgrRel:SHARED_WITH]-(r)<-[:CHILD_OF*]-(chgr)" +
+                    " OPTIONAL MATCH 
(cg)<-[chcgrRel:SHARED_WITH]-(r)<-[:CHILD_OF*]-(chcgr)" +
+                    " return distinct  cr,crRel, chgr,chgrRel, chcgr,chcgrRel";
 
             if (depth == 1) {
                 query = " MATCH (u:User),  (r" + type + ") where u.username = 
$username AND u.tenantId = $tenantId AND " +
                         " r.entityId = $entityId AND r.tenantId = $tenantId" +
                         " OPTIONAL MATCH 
(cg:Group)-[:CHILD_OF*]->(g:Group)<-[:MEMBER_OF]-(u)" +
-                        " OPTIONAL MATCH 
(u)<-[:SHARED_WITH]-(r)<-[:CHILD_OF]-(cr)" +
-                        " OPTIONAL MATCH 
(g)<-[:SHARED_WITH]-(r)<-[:CHILD_OF]-(chgr)" +
-                        " OPTIONAL MATCH 
(cg)<-[:SHARED_WITH]-(r)<-[:CHILD_OF]-(chcgr)" +
-                        " return distinct  cr, chgr, chcgr";
+                        " OPTIONAL MATCH 
(u)<-[crRel:SHARED_WITH]-(r)<-[:CHILD_OF]-(cr)" +
+                        " OPTIONAL MATCH 
(g)<-[chgrRel:SHARED_WITH]-(r)<-[:CHILD_OF]-(chgr)" +
+                        " OPTIONAL MATCH 
(cg)<-[chcgrRel:SHARED_WITH]-(r)<-[:CHILD_OF]-(chcgr)" +
+                        " return distinct  cr,crRel, chgr,chgrRel, 
chcgr,chcgrRel";
             }
 
             List<Record> records = this.neo4JConnector.searchNodes(userProps, 
query);
 
             try {
-                List<GenericResource> genericResourceList = 
GenericResourceDeserializer.deserializeList(records);
+               List keyList = new ArrayList();
+                keyList.add("cr:crRel");
+                keyList.add("chgr:chgrRel");
+                keyList.add("chcgr:chcgrRel");
+                List<GenericResource> genericResourceList = 
GenericResourceDeserializer.deserializeList(records,keyList);
                 ChildResourceFetchResponse.Builder builder = 
ChildResourceFetchResponse.newBuilder();
                 builder.addAllResources(genericResourceList);
                 responseObserver.onNext(builder.build());

Reply via email to