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());