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 2021/09/21 21:05:36 UTC

[airavata-data-lake] branch master updated: Implement user and group membership listening

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 345a7aa  Implement user and group membership listening
     new 920c9ed  Merge pull request #78 from isururanawaka/master
345a7aa is described below

commit 345a7aafaa7a49ed4e428d820662556d7955e656
Author: Isuru Ranawaka <ir...@gmail.com>
AuthorDate: Tue Sep 21 17:04:45 2021 -0400

    Implement user and group membership listening
---
 .../custos/synchronizer/handlers/UserAndGroupHandler.java    |  2 +-
 .../drms/custos/synchronizer/handlers/events/EventDemux.java | 12 +++++++-----
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/data-resource-management-service/drms-custos-synchronizer/src/main/java/org/apache/airavata/drms/custos/synchronizer/handlers/UserAndGroupHandler.java b/data-resource-management-service/drms-custos-synchronizer/src/main/java/org/apache/airavata/drms/custos/synchronizer/handlers/UserAndGroupHandler.java
index 7bfbbdb..f854631 100644
--- a/data-resource-management-service/drms-custos-synchronizer/src/main/java/org/apache/airavata/drms/custos/synchronizer/handlers/UserAndGroupHandler.java
+++ b/data-resource-management-service/drms-custos-synchronizer/src/main/java/org/apache/airavata/drms/custos/synchronizer/handlers/UserAndGroupHandler.java
@@ -188,7 +188,7 @@ public class UserAndGroupHandler {
 
     public void deleteUserGroupMembership(String username, String tenantId, String groupId) {
         String query = "MATCH (a:User)-[r:MEMBER_OF]->(b:Group) WHERE a.username = $username AND a.tenantId = $tenantId " +
-                "AND " + "b.groupId =$groupId AND b.tenantId =$tenantId Delete r";
+                "AND " + "b.groupId =$groupId AND b.tenantId =$tenantId DETACH DELETE r";
         Map<String, Object> map = new HashMap<>();
         map.put("username", username);
         map.put("groupId", groupId);
diff --git a/data-resource-management-service/drms-custos-synchronizer/src/main/java/org/apache/airavata/drms/custos/synchronizer/handlers/events/EventDemux.java b/data-resource-management-service/drms-custos-synchronizer/src/main/java/org/apache/airavata/drms/custos/synchronizer/handlers/events/EventDemux.java
index aff59f0..05f7df8 100644
--- a/data-resource-management-service/drms-custos-synchronizer/src/main/java/org/apache/airavata/drms/custos/synchronizer/handlers/events/EventDemux.java
+++ b/data-resource-management-service/drms-custos-synchronizer/src/main/java/org/apache/airavata/drms/custos/synchronizer/handlers/events/EventDemux.java
@@ -26,8 +26,9 @@ public class EventDemux {
                         case "DELETE_GROUP":
                             deleteGroup(message);
                             break;
-
-
+                        case "REMOVE_USER_FROM_GROUP":
+                            deleteGroupMembership(message);
+                            break;
                     }
                     break;
                 case "SHARING_MANAGEMENT_SERVICE":
@@ -45,8 +46,8 @@ public class EventDemux {
                     break;
                 default:
             }
-        }catch (Exception ex) {
-            ex.printStackTrace();
+        } catch (Exception ex) {
+            LOGGER.error("Error occurred while decoding custos event ",ex);
         }
 
     }
@@ -92,7 +93,8 @@ public class EventDemux {
         UserAndGroupHandler userAndGroupHandler = new UserAndGroupHandler();
         String clientId = message.getClientId();
         String groupId = message.getPropertiesMap().get("GROUP_ID");
-        userAndGroupHandler.deleteGroup(groupId, clientId);
+        String userId = message.getPropertiesMap().get("USER_ID");
+        userAndGroupHandler.deleteUserGroupMembership(userId, clientId, groupId);
     }
 
 }