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/06/01 17:59:12 UTC
[airavata-data-lake] 29/46: Add working version for EMC to search
data
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
commit 9fe66b6555796945e47dcd6a9268b7246817feda
Author: Isuru Ranawaka <ir...@gmail.com>
AuthorDate: Tue May 11 16:11:04 2021 -0400
Add working version for EMC to search data
---
airavata-data-lake.iws | 140 ++++++++++++++++++---
.../java/org/apache/airavata/drms/api/Client.java | 34 ++++-
.../drms/api/handlers/ResourceServiceHandler.java | 35 ++----
.../handlers/StoragePreferenceServiceHandler.java | 14 ---
.../drms/api/handlers/StorageServiceHandler.java | 25 +---
.../drms/api/interceptors/Authenticator.java | 14 ++-
.../src/main/resources/application.properties | 4 +-
.../deserializer/GenericResourceDeserializer.java | 61 +++++----
.../drms-rest-proxy/src/main/resources/drms.pb | Bin 101906 -> 102693 bytes
.../src/main/resources => drms-stubs}/drms.pb | Bin 101906 -> 102693 bytes
.../src/main/proto/resource/DRMSResource.proto | 2 +
.../airavata/datalake/metadata/clients/Test.java | 26 ++--
.../neo4j/curd/operators/GenericService.java | 5 +-
.../backend/neo4j/curd/operators/Service.java | 5 +-
.../metadata/backend/neo4j/model/nodes/Entity.java | 13 +-
.../metadata/backend/neo4j/model/nodes/Group.java | 106 ++++++++--------
.../backend/neo4j/model/nodes/Resource.java | 83 ++++++------
.../metadata/backend/neo4j/model/nodes/User.java | 36 +++---
18 files changed, 355 insertions(+), 248 deletions(-)
diff --git a/airavata-data-lake.iws b/airavata-data-lake.iws
index b0c58e9..16dcad0 100644
--- a/airavata-data-lake.iws
+++ b/airavata-data-lake.iws
@@ -6,6 +6,22 @@
<component name="ChangeListManager">
<list default="true" id="1d1ef003-bfaa-49fa-837e-dc14d1daa977" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/airavata-data-lake.iws" beforeDir="false" afterPath="$PROJECT_DIR$/airavata-data-lake.iws" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/Client.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/Client.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/ResourceServiceHandler.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/ResourceServiceHandler.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/StoragePreferenceServiceHandler.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/StoragePreferenceServiceHandler.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/StorageServiceHandler.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/StorageServiceHandler.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/interceptors/Authenticator.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/interceptors/Authenticator.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/resources/application.properties" beforeDir="false" afterPath="$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/resources/application.properties" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/data-resource-management-service/drms-core/src/main/java/org/apache/airavata/drms/core/deserializer/GenericResourceDeserializer.java" beforeDir="false" afterPath="$PROJECT_DIR$/data-resource-management-service/drms-core/src/main/java/org/apache/airavata/drms/core/deserializer/GenericResourceDeserializer.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/data-resource-management-service/drms-rest-proxy/src/main/resources/drms.pb" beforeDir="false" afterPath="$PROJECT_DIR$/data-resource-management-service/drms-rest-proxy/src/main/resources/drms.pb" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/data-resource-management-service/drms-stubs/src/main/proto/resource/DRMSResource.proto" beforeDir="false" afterPath="$PROJECT_DIR$/data-resource-management-service/drms-stubs/src/main/proto/resource/DRMSResource.proto" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/metadata-service/db-service/client/src/main/java/org/apache/airavata/datalake/metadata/clients/Test.java" beforeDir="false" afterPath="$PROJECT_DIR$/metadata-service/db-service/client/src/main/java/org/apache/airavata/datalake/metadata/clients/Test.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/curd/operators/GenericService.java" beforeDir="false" afterPath="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/curd/operators/GenericService.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/curd/operators/Service.java" beforeDir="false" afterPath="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/curd/operators/Service.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/Entity.java" beforeDir="false" afterPath="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/Entity.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/Group.java" beforeDir="false" afterPath="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/Group.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/Resource.java" beforeDir="false" afterPath="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/Resource.java" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/User.java" beforeDir="false" afterPath="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/User.java" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -259,11 +275,12 @@
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="aspect.path.notification.shown" value="true" />
- <property name="last_opened_file_path" value="$PROJECT_DIR$/commons/src/main/java/org/apache/airavata/datalake/commons" />
+ <property name="last_opened_file_path" value="$PROJECT_DIR$/data-resource-management-service/drms-rest-proxy/src/main/resources" />
<property name="nodejs_package_manager_path" value="npm" />
</component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
+ <recent name="$PROJECT_DIR$/data-resource-management-service/drms-rest-proxy/src/main/resources" />
<recent name="$PROJECT_DIR$/commons/src/main/java/org/apache/airavata/datalake/commons" />
<recent name="$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/interceptors" />
<recent name="$PROJECT_DIR$/metadata-service" />
@@ -273,7 +290,7 @@
<recent name="$PROJECT_DIR$/data-resource-management-service/drms-rest-proxy/src/main/resources" />
</key>
</component>
- <component name="RunManager" selected="Application.Test">
+ <component name="RunManager" selected="Application.Client">
<configuration selected="false" default="true" type="Applet" factoryName="Applet">
<module name="" />
<option name="MAIN_CLASS_NAME" />
@@ -368,10 +385,10 @@
</configuration>
<recent_temporary>
<list>
+ <item itemvalue="Application.Client" />
+ <item itemvalue="Spring Boot.DRMSApiRunner" />
<item itemvalue="Application.Test" />
<item itemvalue="Spring Boot.Neo4JServiceInitializer" />
- <item itemvalue="Spring Boot.DRMSApiRunner" />
- <item itemvalue="Application.Client" />
</list>
</recent_temporary>
</component>
@@ -419,7 +436,9 @@
<workItem from="1616955618046" duration="1487000" />
<workItem from="1616977751983" duration="68000" />
<workItem from="1617213356776" duration="28852000" />
- <workItem from="1617717367883" duration="12574000" />
+ <workItem from="1617717367883" duration="16718000" />
+ <workItem from="1619528905307" duration="115000" />
+ <workItem from="1620245029118" duration="11436000" />
</task>
<servers />
</component>
@@ -558,17 +577,12 @@
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/Client.java</url>
- <line>78</line>
+ <line>107</line>
<option name="timeStamp" value="19" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/Client.java</url>
- <line>77</line>
- <option name="timeStamp" value="20" />
- </line-breakpoint>
- <line-breakpoint enabled="true" type="java-line">
- <url>file://$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/Client.java</url>
- <line>73</line>
+ <line>103</line>
<option name="timeStamp" value="22" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
@@ -578,7 +592,7 @@
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/ResourceServiceHandler.java</url>
- <line>68</line>
+ <line>47</line>
<option name="timeStamp" value="25" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
@@ -633,17 +647,17 @@
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/curd/operators/GenericService.java</url>
- <line>57</line>
+ <line>58</line>
<option name="timeStamp" value="45" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/curd/operators/GenericService.java</url>
- <line>60</line>
+ <line>61</line>
<option name="timeStamp" value="46" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/curd/operators/GenericService.java</url>
- <line>65</line>
+ <line>66</line>
<option name="timeStamp" value="48" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
@@ -671,6 +685,100 @@
<line>18</line>
<option name="timeStamp" value="57" />
</line-breakpoint>
+ <line-breakpoint enabled="true" type="java-line">
+ <url>file://$PROJECT_DIR$/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/Group.java</url>
+ <line>129</line>
+ <option name="timeStamp" value="58" />
+ </line-breakpoint>
+ <line-breakpoint enabled="true" type="java-line">
+ <url>file://$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/Client.java</url>
+ <option name="timeStamp" value="59" />
+ </line-breakpoint>
+ <line-breakpoint enabled="true" type="java-line">
+ <url>file://$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/Client.java</url>
+ <line>108</line>
+ <option name="timeStamp" value="60" />
+ </line-breakpoint>
+ <line-breakpoint enabled="true" type="java-line">
+ <url>file://$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/interceptors/Authenticator.java</url>
+ <line>28</line>
+ <option name="timeStamp" value="62" />
+ </line-breakpoint>
+ <line-breakpoint enabled="true" type="java-line">
+ <url>file://$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/interceptors/Authenticator.java</url>
+ <line>37</line>
+ <option name="timeStamp" value="63" />
+ </line-breakpoint>
+ <line-breakpoint enabled="true" type="java-line">
+ <url>file://$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/interceptors/Authenticator.java</url>
+ <line>132</line>
+ <option name="timeStamp" value="64" />
+ </line-breakpoint>
+ <line-breakpoint enabled="true" type="java-line">
+ <url>file://$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/ResourceServiceHandler.java</url>
+ <line>90</line>
+ <option name="timeStamp" value="65" />
+ </line-breakpoint>
+ <line-breakpoint enabled="true" type="java-line">
+ <url>file://$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/ResourceServiceHandler.java</url>
+ <line>98</line>
+ <option name="timeStamp" value="66" />
+ </line-breakpoint>
+ <line-breakpoint enabled="true" type="java-line">
+ <url>file://$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/ResourceServiceHandler.java</url>
+ <line>103</line>
+ <option name="timeStamp" value="67" />
+ </line-breakpoint>
+ <line-breakpoint enabled="true" type="java-line">
+ <url>file://$PROJECT_DIR$/data-resource-management-service/drms-core/src/main/java/org/apache/airavata/drms/core/deserializer/GenericResourceDeserializer.java</url>
+ <line>43</line>
+ <option name="timeStamp" value="69" />
+ </line-breakpoint>
+ <line-breakpoint enabled="true" type="java-line">
+ <url>file://$PROJECT_DIR$/data-resource-management-service/drms-core/src/main/java/org/apache/airavata/drms/core/deserializer/GenericResourceDeserializer.java</url>
+ <line>44</line>
+ <option name="timeStamp" value="71" />
+ </line-breakpoint>
+ <line-breakpoint enabled="true" type="java-line">
+ <url>file://$PROJECT_DIR$/data-resource-management-service/drms-core/src/main/java/org/apache/airavata/drms/core/deserializer/GenericResourceDeserializer.java</url>
+ <line>51</line>
+ <option name="timeStamp" value="74" />
+ </line-breakpoint>
+ <line-breakpoint enabled="true" type="java-line">
+ <url>file://$PROJECT_DIR$/data-resource-management-service/drms-core/src/main/java/org/apache/airavata/drms/core/deserializer/GenericResourceDeserializer.java</url>
+ <line>46</line>
+ <option name="timeStamp" value="75" />
+ </line-breakpoint>
+ <line-breakpoint enabled="true" type="java-line">
+ <url>file://$PROJECT_DIR$/data-resource-management-service/drms-core/src/main/java/org/apache/airavata/drms/core/deserializer/GenericResourceDeserializer.java</url>
+ <line>48</line>
+ <option name="timeStamp" value="77" />
+ </line-breakpoint>
+ <line-breakpoint enabled="true" type="java-line">
+ <url>file://$PROJECT_DIR$/data-resource-management-service/drms-core/src/main/java/org/apache/airavata/drms/core/deserializer/GenericResourceDeserializer.java</url>
+ <line>55</line>
+ <option name="timeStamp" value="78" />
+ </line-breakpoint>
+ <line-breakpoint enabled="true" type="java-line">
+ <url>file://$PROJECT_DIR$/data-resource-management-service/drms-core/src/main/java/org/apache/airavata/drms/core/deserializer/GenericResourceDeserializer.java</url>
+ <line>80</line>
+ <option name="timeStamp" value="79" />
+ </line-breakpoint>
+ <line-breakpoint enabled="true" type="java-line">
+ <url>file://$PROJECT_DIR$/data-resource-management-service/drms-core/src/main/java/org/apache/airavata/drms/core/deserializer/GenericResourceDeserializer.java</url>
+ <line>83</line>
+ <option name="timeStamp" value="80" />
+ </line-breakpoint>
+ <line-breakpoint enabled="true" type="java-line">
+ <url>file://$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/ResourceServiceHandler.java</url>
+ <line>104</line>
+ <option name="timeStamp" value="81" />
+ </line-breakpoint>
+ <line-breakpoint enabled="true" type="java-line">
+ <url>file://$PROJECT_DIR$/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/Client.java</url>
+ <line>89</line>
+ <option name="timeStamp" value="82" />
+ </line-breakpoint>
</breakpoints>
</breakpoint-manager>
</component>
diff --git a/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/Client.java b/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/Client.java
index af5e740..184d83a 100644
--- a/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/Client.java
+++ b/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/Client.java
@@ -16,9 +16,25 @@
*/
package org.apache.airavata.drms.api;
+import io.grpc.ManagedChannel;
+import io.grpc.ManagedChannelBuilder;
+import org.apache.airavata.datalake.drms.DRMSServiceAuthToken;
+import org.apache.airavata.datalake.drms.groups.*;
+import org.apache.airavata.datalake.drms.resource.GenericResource;
+import org.apache.airavata.datalake.drms.storage.*;
+import org.apache.custos.clients.CustosClientProvider;
+import org.apache.custos.clients.core.ClientUtils;
+import org.apache.custos.user.management.client.UserManagementClient;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.logging.Logger;
+
public class Client {
public static void main(String ar[]) {
-//
+
// DRMSServiceAuthToken token1 = DRMSServiceAuthToken.newBuilder().setAccessToken("Token-1").build();
// DRMSServiceAuthToken token2 = DRMSServiceAuthToken.newBuilder().setAccessToken("Token-2").build();
//
@@ -61,6 +77,20 @@ public class Client {
// .setValue("02/15/2021")
// .build());
+
+ ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 6565).usePlaintext().build();
+ ResourceServiceGrpc.ResourceServiceBlockingStub resourceClient = ResourceServiceGrpc.newBlockingStub(channel);
+
+ DRMSServiceAuthToken authToken = DRMSServiceAuthToken.newBuilder().
+ setAccessToken("eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI4bTBuMk91R1hLckxMREZ3S0lBQ2J4T2JMYzUtY0MzRnFkT3M2akdLaGQ4In0.eyJqdGkiOiIwNWI5ZWY0ZS1lYzRkLTQyMWUtOWQ4Zi1lNmQ0NzEyMjczMWEiLCJleHAiOjE2MjA3NDkzODEsIm5iZiI6MCwiaWF0IjoxNjIwNzQ3NTgxLCJpc3MiOiJodHRwczovL2tleWNsb2FrLmN1c3Rvcy5zY2lnYXAub3JnOjMxMDAwL2F1dGgvcmVhbG1zLzEwMDAwNzAyIiwiYXVkIjpbInJlYWxtLW1hbmFnZW1lbnQiLCJhY2NvdW50Il0sInN1YiI6ImU4NzE2NjkzLWE5MzYtNDcwNy1hYjhhLWM2ZGMxYjNiOTcxMSIsInR5cCI6IkJlYXJlciIsImF6cCI6 [...]
+ .build();
+ ResourceSearchRequest request = ResourceSearchRequest.newBuilder().setAuthToken(authToken).build();
+
+ ResourceSearchResponse response = resourceClient.searchResource(request);
+ for (GenericResource resource: response.getResourcesList()) {
+ System.out.println(resource.getType());
+ }
+
// try {
// InputStream inputStream = ClientUtils.getServerCertificate("custos.scigap.org",
// "custos-2zuomcugra3ebgsqtzmf-10000514", "mupUhF4JL0S3IFHBjfhiTfLJS1NgSWfvkCj3l6c7");
@@ -76,7 +106,7 @@ public class Client {
// .setClientId("custos-2zuomcugra3ebgsqtzmf-10000514")
// .setClientSec("mupUhF4JL0S3IFHBjfhiTfLJS1NgSWfvkCj3l6c7").build();
// UserManagementClient userManagementClient = custosClientProvider.getUserManagementClient();
-// userManagementClient.getUser("testuser123", "custos-2zuomcugra3ebgsqtzmf-10000514");
+// userManagementClient.getUser("testuser", "custos-cmcdclbywlxmc2ktzv0d-10000702");
//
// } catch (Exception ex) {
//
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 75ee2a9..ff77b68 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
@@ -17,15 +17,8 @@
package org.apache.airavata.drms.api.handlers;
import com.google.protobuf.Empty;
-import io.grpc.ManagedChannel;
-import io.grpc.ManagedChannelBuilder;
import io.grpc.stub.StreamObserver;
import org.apache.airavata.datalake.drms.AuthenticatedUser;
-import org.apache.airavata.datalake.drms.DRMSServiceAuthToken;
-import org.apache.airavata.datalake.drms.groups.FetchCurrentUserRequest;
-import org.apache.airavata.datalake.drms.groups.FetchCurrentUserResponse;
-import org.apache.airavata.datalake.drms.groups.GroupServiceGrpc;
-import org.apache.airavata.datalake.drms.groups.User;
import org.apache.airavata.datalake.drms.resource.GenericResource;
import org.apache.airavata.datalake.drms.storage.*;
import org.apache.airavata.drms.core.Neo4JConnector;
@@ -48,20 +41,6 @@ public class ResourceServiceHandler extends ResourceServiceGrpc.ResourceServiceI
@Autowired
private Neo4JConnector neo4JConnector;
- @org.springframework.beans.factory.annotation.Value("${group.service.host}")
- private String groupServiceHost;
-
- @org.springframework.beans.factory.annotation.Value("${group.service.port}")
- private int groupServicePort;
-
- private User getUser(DRMSServiceAuthToken authToken) {
- ManagedChannel channel = ManagedChannelBuilder.forAddress(groupServiceHost, groupServicePort).usePlaintext().build();
- GroupServiceGrpc.GroupServiceBlockingStub groupClient = GroupServiceGrpc.newBlockingStub(channel);
- FetchCurrentUserResponse userResponse = groupClient.fetchCurrentUser(
- FetchCurrentUserRequest.newBuilder().setAuthToken(authToken).build());
- return userResponse.getUser();
- }
-
@Override
public void fetchResource(ResourceFetchRequest request, StreamObserver<ResourceFetchResponse> responseObserver) {
// User callUser = getUser(request.getAuthToken());
@@ -81,7 +60,6 @@ public class ResourceServiceHandler extends ResourceServiceGrpc.ResourceServiceI
responseObserver.onNext(ResourceFetchResponse.newBuilder().setResource(genericResourceList.get(0)).build());
responseObserver.onCompleted();
} catch (Exception e) {
-
logger.error("Errored while fetching resource with id {}", request.getResourceId(), e);
responseObserver.onError(new Exception("Errored while fetching resource with id "
+ request.getResourceId() + ". Msg " + e.getMessage()));
@@ -113,10 +91,15 @@ public class ResourceServiceHandler extends ResourceServiceGrpc.ResourceServiceI
AuthenticatedUser callUser = request.getAuthToken().getAuthenticatedUser();
// TODO review (u)-[r4:MEMBER_OF]->(g2:Group)<-[r5:SHARED_WITH]-(sp),
- List<Record> records = this.neo4JConnector.searchNodes(
- "MATCH (u:User)-[r1:MEMBER_OF]->(g:Group)<-[r2:SHARED_WITH]-(s:Storage)-[r3:HAS_PREFERENCE]->(sp:StoragePreference)-[r6:HAS_RESOURCE]->(res:Resource), " +
- "(u)-[r7:MEMBER_OF]->(g3:Group)<-[r8:SHARED_WITH]-(res) " +
- "where u.userId = '" + callUser.getUsername() + "' return distinct res, sp, s");
+// List<Record> records = this.neo4JConnector.searchNodes(
+// "MATCH (u:User)-[r1:MEMBER_OF]->(g:Group)<-[r2:SHARED_WITH]-(s:Storage)-[r3:HAS_PREFERENCE]->(sp:StoragePreference)-[r6:HAS_RESOURCE]->(res:Resource), " +
+// "(u)-[r7:MEMBER_OF]->(g3:Group)<-[r8:SHARED_WITH]-(res) " +
+// "where u.userId = '" + callUser.getUsername() + "' return distinct res, sp, s");
+
+ List<Record> records = this.neo4JConnector.searchNodes("match (u:User)-[:HAS_PERMISSION]->(r) where u.username='" + callUser.getUsername() + "'optional match (u)-[:MEMBER_OF]->(g)-[:HAS_PERMISSION]->(m)<-[:CHILD_OF]-(p) " +
+ "return distinct r, m,p");
+
+
try {
List<GenericResource> genericResourceList = GenericResourceDeserializer.deserializeList(records);
ResourceSearchResponse.Builder builder = ResourceSearchResponse.newBuilder();
diff --git a/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/StoragePreferenceServiceHandler.java b/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/StoragePreferenceServiceHandler.java
index 1a68e6a..0886533 100644
--- a/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/StoragePreferenceServiceHandler.java
+++ b/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/StoragePreferenceServiceHandler.java
@@ -46,20 +46,6 @@ public class StoragePreferenceServiceHandler extends StoragePreferenceServiceGrp
@Autowired
private Neo4JConnector neo4JConnector;
- @org.springframework.beans.factory.annotation.Value("${group.service.host}")
- private String groupServiceHost;
-
- @org.springframework.beans.factory.annotation.Value("${group.service.port}")
- private int groupServicePort;
-
-
- private User getUser(DRMSServiceAuthToken authToken) {
- ManagedChannel channel = ManagedChannelBuilder.forAddress(groupServiceHost, groupServicePort).usePlaintext().build();
- GroupServiceGrpc.GroupServiceBlockingStub groupClient = GroupServiceGrpc.newBlockingStub(channel);
- FetchCurrentUserResponse userResponse = groupClient.fetchCurrentUser(
- FetchCurrentUserRequest.newBuilder().setAuthToken(authToken).build());
- return userResponse.getUser();
- }
@Override
public void fetchStoragePreference(StoragePreferenceFetchRequest request, StreamObserver<StoragePreferenceFetchResponse> responseObserver) {
diff --git a/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/StorageServiceHandler.java b/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/StorageServiceHandler.java
index b078944..40a0e77 100644
--- a/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/StorageServiceHandler.java
+++ b/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/handlers/StorageServiceHandler.java
@@ -17,15 +17,8 @@
package org.apache.airavata.drms.api.handlers;
import com.google.protobuf.Empty;
-import io.grpc.ManagedChannel;
-import io.grpc.ManagedChannelBuilder;
import io.grpc.stub.StreamObserver;
import org.apache.airavata.datalake.drms.AuthenticatedUser;
-import org.apache.airavata.datalake.drms.DRMSServiceAuthToken;
-import org.apache.airavata.datalake.drms.groups.FetchCurrentUserRequest;
-import org.apache.airavata.datalake.drms.groups.FetchCurrentUserResponse;
-import org.apache.airavata.datalake.drms.groups.GroupServiceGrpc;
-import org.apache.airavata.datalake.drms.groups.User;
import org.apache.airavata.datalake.drms.storage.*;
import org.apache.airavata.drms.core.Neo4JConnector;
import org.apache.airavata.drms.core.constants.StorageConstants;
@@ -48,20 +41,6 @@ public class StorageServiceHandler extends StorageServiceGrpc.StorageServiceImpl
@Autowired
private Neo4JConnector neo4JConnector;
- @org.springframework.beans.factory.annotation.Value("${group.service.host}")
- private String groupServiceHost;
-
- @org.springframework.beans.factory.annotation.Value("${group.service.port}")
- private int groupServicePort;
-
-
- private User getUser(DRMSServiceAuthToken authToken) {
- ManagedChannel channel = ManagedChannelBuilder.forAddress(groupServiceHost, groupServicePort).usePlaintext().build();
- GroupServiceGrpc.GroupServiceBlockingStub groupClient = GroupServiceGrpc.newBlockingStub(channel);
- FetchCurrentUserResponse userResponse = groupClient.fetchCurrentUser(
- FetchCurrentUserRequest.newBuilder().setAuthToken(authToken).build());
- return userResponse.getUser();
- }
@Override
public void fetchStorage(StorageFetchRequest request, StreamObserver<StorageFetchResponse> responseObserver) {
@@ -92,10 +71,10 @@ public class StorageServiceHandler extends StorageServiceGrpc.StorageServiceImpl
@Override
public void createStorage(StorageCreateRequest request, StreamObserver<StorageCreateResponse> responseObserver) {
- User user = getUser(request.getAuthToken());
+ AuthenticatedUser callUser = request.getAuthToken().getAuthenticatedUser();
AnyStorage storage = request.getStorage();
Map<String, Object> serializedMap = AnyStorageSerializer.serializeToMap(storage);
- this.neo4JConnector.createNode(serializedMap, StorageConstants.STORAGE_LABEL, user.getUserId());
+ this.neo4JConnector.createNode(serializedMap, StorageConstants.STORAGE_LABEL, callUser.getUsername());
}
@Override
diff --git a/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/interceptors/Authenticator.java b/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/interceptors/Authenticator.java
index 8476f44..476ec96 100644
--- a/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/interceptors/Authenticator.java
+++ b/data-resource-management-service/drms-api/src/main/java/org/apache/airavata/drms/api/interceptors/Authenticator.java
@@ -40,6 +40,7 @@ public class Authenticator implements ServiceInterceptor {
}
+ // TODO : replace with security context
private Optional<String> getAccessToken(Object msg) {
if (msg instanceof StorageCreateRequest) {
@@ -104,8 +105,6 @@ public class Authenticator implements ServiceInterceptor {
} else if (msg instanceof ResourceDeleteRequest) {
- } else if (msg instanceof ResourceSearchRequest) {
-
} else if (msg instanceof AddResourceMetadataRequest) {
} else if (msg instanceof FetchResourceMetadataRequest) {
@@ -130,6 +129,17 @@ public class Authenticator implements ServiceInterceptor {
} else if (msg instanceof StoragePreferenceSearchRequest) {
+ }else if (msg instanceof ResourceSearchRequest) {
+ DRMSServiceAuthToken drmsServiceAuthToken = ((ResourceSearchRequest) msg)
+ .getAuthToken();
+ drmsServiceAuthToken = drmsServiceAuthToken
+ .toBuilder()
+ .setAuthenticatedUser(user)
+ .build();
+
+ return ((ResourceSearchRequest) msg)
+ .toBuilder()
+ .setAuthToken(drmsServiceAuthToken).build();
}
return Optional.empty();
}
diff --git a/data-resource-management-service/drms-api/src/main/resources/application.properties b/data-resource-management-service/drms-api/src/main/resources/application.properties
index d891249..1e261be 100644
--- a/data-resource-management-service/drms-api/src/main/resources/application.properties
+++ b/data-resource-management-service/drms-api/src/main/resources/application.properties
@@ -16,9 +16,9 @@
# limitations under the License.
#
-neo4j.server.uri=bolt://192.168.0.14:7687
+neo4j.server.uri=bolt://149.165.156.173:7687
neo4j.server.user=neo4j
-neo4j.server.password=123456
+neo4j.server.password=blastcovid19
group.service.host=localhost
group.service.port=6565
custos.id=custos-2zuomcugra3ebgsqtzmf-10000514
diff --git a/data-resource-management-service/drms-core/src/main/java/org/apache/airavata/drms/core/deserializer/GenericResourceDeserializer.java b/data-resource-management-service/drms-core/src/main/java/org/apache/airavata/drms/core/deserializer/GenericResourceDeserializer.java
index c4f4d97..b5458cb 100644
--- a/data-resource-management-service/drms-core/src/main/java/org/apache/airavata/drms/core/deserializer/GenericResourceDeserializer.java
+++ b/data-resource-management-service/drms-core/src/main/java/org/apache/airavata/drms/core/deserializer/GenericResourceDeserializer.java
@@ -18,49 +18,42 @@
package org.apache.airavata.drms.core.deserializer;
import org.apache.airavata.datalake.drms.resource.GenericResource;
-import org.apache.airavata.datalake.drms.storage.AnyStorage;
import org.apache.airavata.datalake.drms.storage.AnyStoragePreference;
-import org.apache.airavata.drms.core.constants.ResourceConstants;
-import org.apache.airavata.drms.core.constants.StorageConstants;
-import org.apache.airavata.drms.core.constants.StoragePreferenceConstants;
+import org.apache.commons.collections.map.HashedMap;
import org.neo4j.driver.Record;
import org.neo4j.driver.Value;
import org.neo4j.driver.internal.InternalRecord;
import org.neo4j.driver.types.Node;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanWrapper;
import org.springframework.beans.PropertyAccessorFactory;
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
public class GenericResourceDeserializer {
+ public static final Logger LOGGER = LoggerFactory.getLogger(GenericResourceDeserializer.class);
public static List<GenericResource> deserializeList(List<Record> neo4jRecords) throws Exception {
- List<GenericResource> resourceList = new ArrayList<>();
+ Map<Long, Node> nodeMap = new HashedMap();
for (Record record : neo4jRecords) {
InternalRecord internalRecord = (InternalRecord) record;
List<Value> values = internalRecord.values();
- if (values.size() == 3) {
- Value resourceValue = values.get(0);
- Value prfValue = values.get(1);
- Value stoValue = values.get(2);
- Node resourceNode = resourceValue.asNode();
- Node prefNode = prfValue.asNode();
- Node stoNode = stoValue.asNode();
- if (resourceNode.hasLabel(ResourceConstants.RESOURCE_LABEL) &&
- prefNode.hasLabel(StoragePreferenceConstants.STORAGE_PREFERENCE_LABEL) &&
- stoNode.hasLabel(StorageConstants.STORAGE_LABEL)) {
-
- AnyStorage storage = AnyStorageDeserializer.deriveStorageFromMap(stoNode.asMap());
- AnyStoragePreference preference = AnyStoragePreferenceDeserializer.deriveStoragePrefFromMap(
- prefNode.asMap(), storage);
- GenericResource genericResource = deriveGenericResourceFromMap(resourceNode.asMap(), preference);
- resourceList.add(genericResource);
- }
+
+ if (values.size() > 0) {
+ Map<Long, Node> longNodeMap = values.stream().filter(val ->
+ val.toString().equals("NULL") ? false : true
+ ).collect(Collectors.toMap(val -> val.asNode().id(),
+ Value::asNode,(existing, replacement) -> existing));
+ nodeMap.putAll(longNodeMap);
}
}
- return resourceList;
+
+ return deriveGenericResourceFromMap(nodeMap);
}
public static GenericResource deriveGenericResourceFromMap(Map<String, Object> fixedMap,
@@ -68,7 +61,7 @@ public class GenericResourceDeserializer {
GenericResource.Builder genericResourceBuilder = GenericResource.newBuilder();
setObjectFieldsUsingMap(genericResourceBuilder, fixedMap);
- switch (preference.getStorageCase()){
+ switch (preference.getStorageCase()) {
case S3STORAGEPREFERENCE:
genericResourceBuilder.setS3Preference(preference.getS3StoragePreference());
break;
@@ -80,10 +73,28 @@ public class GenericResourceDeserializer {
return genericResourceBuilder.build();
}
+ public static List<GenericResource> deriveGenericResourceFromMap(Map<Long, Node> nodeMap) throws Exception {
+ return nodeMap.values().stream().map(node -> {
+ GenericResource.Builder genericResourceBuilder = GenericResource.newBuilder();
+ Iterator<String> iterator = node.labels().iterator();
+ while (iterator.hasNext()) {
+ genericResourceBuilder.setType(iterator.next());
+ }
+ for (String field : node.asMap().keySet()) {
+ genericResourceBuilder.putProperties(field, String.valueOf(node.asMap().get(field)));
+ }
+ return genericResourceBuilder.build();
+ }).collect(Collectors.toList());
+
+ }
+
+
private static void setObjectFieldsUsingMap(Object target, Map<String, Object> values) {
- for (String field :values.keySet()) {
+ for (String field : values.keySet()) {
BeanWrapper beanWrapper = PropertyAccessorFactory.forBeanPropertyAccess(target);
beanWrapper.setPropertyValue(field, values.get(field));
}
}
+
+
}
diff --git a/data-resource-management-service/drms-rest-proxy/src/main/resources/drms.pb b/data-resource-management-service/drms-rest-proxy/src/main/resources/drms.pb
index bb14862..528ff35 100644
Binary files a/data-resource-management-service/drms-rest-proxy/src/main/resources/drms.pb and b/data-resource-management-service/drms-rest-proxy/src/main/resources/drms.pb differ
diff --git a/data-resource-management-service/drms-rest-proxy/src/main/resources/drms.pb b/data-resource-management-service/drms-stubs/drms.pb
similarity index 98%
copy from data-resource-management-service/drms-rest-proxy/src/main/resources/drms.pb
copy to data-resource-management-service/drms-stubs/drms.pb
index bb14862..528ff35 100644
Binary files a/data-resource-management-service/drms-rest-proxy/src/main/resources/drms.pb and b/data-resource-management-service/drms-stubs/drms.pb differ
diff --git a/data-resource-management-service/drms-stubs/src/main/proto/resource/DRMSResource.proto b/data-resource-management-service/drms-stubs/src/main/proto/resource/DRMSResource.proto
index adf1231..fb95271 100644
--- a/data-resource-management-service/drms-stubs/src/main/proto/resource/DRMSResource.proto
+++ b/data-resource-management-service/drms-stubs/src/main/proto/resource/DRMSResource.proto
@@ -31,4 +31,6 @@ message GenericResource {
org.apache.airavata.datalake.drms.storage.preference.s3.S3StoragePreference s3Preference = 3;
org.apache.airavata.datalake.drms.storage.preference.ssh.SSHStoragePreference sshPreference = 4;
}
+ map<string, string> properties = 5;
+ string type=6;
}
\ No newline at end of file
diff --git a/metadata-service/db-service/client/src/main/java/org/apache/airavata/datalake/metadata/clients/Test.java b/metadata-service/db-service/client/src/main/java/org/apache/airavata/datalake/metadata/clients/Test.java
index 4ddd116..4f0155b 100644
--- a/metadata-service/db-service/client/src/main/java/org/apache/airavata/datalake/metadata/clients/Test.java
+++ b/metadata-service/db-service/client/src/main/java/org/apache/airavata/datalake/metadata/clients/Test.java
@@ -297,20 +297,20 @@ public class Test {
.setTenant(tenant)
.build();
-// stub.createTenant(request);
-//
+ stub.createTenant(request);
-// ResourceMetadataServiceGrpc.ResourceMetadataServiceBlockingStub resourceMetadataServiceBlockingStub = serviceClient.resource();
-//
-// ResourcePermissionRequest permissionRequest = ResourcePermissionRequest
-// .newBuilder()
-// .setPermissionType("READ")
-// .setUsername("testuser")
-// .setResourceName("FileA")
-// .setTenantId("custos-cmcdclbywlxmc2ktzv0d-10000702")
-// .build();
-// ResourcePermissionResponse response = resourceMetadataServiceBlockingStub.hasAccess(permissionRequest);
-// System.out.println(response.getAccessible());
+
+ ResourceMetadataServiceGrpc.ResourceMetadataServiceBlockingStub resourceMetadataServiceBlockingStub = serviceClient.resource();
+
+ ResourcePermissionRequest permissionRequest = ResourcePermissionRequest
+ .newBuilder()
+ .setPermissionType("READ")
+ .setUsername("testuser")
+ .setResourceName("FileA")
+ .setTenantId("custos-cmcdclbywlxmc2ktzv0d-10000702")
+ .build();
+ ResourcePermissionResponse response = resourceMetadataServiceBlockingStub.hasAccess(permissionRequest);
+ System.out.println(response.getAccessible());
// TenantMetadataAPIRequest tenantMetadataAPIRequest = TenantMetadataAPIRequest
diff --git a/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/curd/operators/GenericService.java b/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/curd/operators/GenericService.java
index 389277e..2352bcc 100644
--- a/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/curd/operators/GenericService.java
+++ b/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/curd/operators/GenericService.java
@@ -14,6 +14,7 @@ import java.io.IOException;
import java.util.Collection;
import java.util.List;
import java.util.Map;
+import java.util.UUID;
import java.util.concurrent.atomic.AtomicReference;
@@ -40,12 +41,12 @@ public abstract class GenericService<T> implements Service<T>, Closeable {
}
@Override
- public T find(Long id) {
+ public T find(UUID id) {
return session.load(getEntityType(), id, DEPTH_ENTITY);
}
@Override
- public void delete(Long id) {
+ public void delete(UUID id) {
session.delete(session.load(getEntityType(), id));
}
diff --git a/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/curd/operators/Service.java b/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/curd/operators/Service.java
index e1fecb7..008c086 100644
--- a/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/curd/operators/Service.java
+++ b/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/curd/operators/Service.java
@@ -7,14 +7,15 @@ import org.neo4j.ogm.cypher.query.SortOrder;
import java.util.Collection;
import java.util.List;
import java.util.Map;
+import java.util.UUID;
public interface Service<T> {
Iterable<T> findAll();
- T find(Long id);
+ T find(UUID id);
- void delete(Long id);
+ void delete(UUID id);
Collection<T> search(List<SearchOperator> searchOperatorList);
diff --git a/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/Entity.java b/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/Entity.java
index c1a2bcc..0ebec8d 100644
--- a/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/Entity.java
+++ b/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/Entity.java
@@ -3,14 +3,19 @@ package org.apache.airavata.datalake.metadata.backend.neo4j.model.nodes;
import org.apache.airavata.datalake.metadata.backend.neo4j.model.relationships.Has;
import org.apache.airavata.datalake.metadata.parsers.ExecutionContext;
import org.neo4j.ogm.annotation.*;
+import org.neo4j.ogm.annotation.typeconversion.Convert;
+import org.neo4j.ogm.id.UuidStrategy;
+import org.neo4j.ogm.typeconversion.UuidStringConverter;
import java.util.HashMap;
import java.util.Map;
+import java.util.UUID;
public abstract class Entity {
@Id
- @GeneratedValue
- private Long id;
+ @GeneratedValue(strategy = UuidStrategy.class )
+ @Convert(UuidStringConverter.class)
+ private UUID id;
@Properties(prefix = "external_id")
private Map<String,String > externalIds = new HashMap<>();
@@ -41,7 +46,7 @@ public abstract class Entity {
- public Long getId() {
+ public UUID getId() {
return id;
}
@@ -109,7 +114,7 @@ public abstract class Entity {
this.tenantId = tenantId;
}
- public void setId(Long id) {
+ public void setId(UUID id) {
this.id = id;
}
diff --git a/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/Group.java b/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/Group.java
index 9b735ec..1841e43 100644
--- a/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/Group.java
+++ b/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/Group.java
@@ -24,15 +24,15 @@ public class Group extends Entity {
@Relationship(type = "HAS_CHILD_GROUP", direction = Relationship.INCOMING)
private HasChildGroup childGroupInPointers;
+//
+// @Relationship(type = "HAS_CHILD_USER")
+// private Set<HasChildUser> childUsers = new HashSet<>();
- @Relationship(type = "HAS_CHILD_USER")
- private Set<HasChildUser> childUsers = new HashSet<>();
-
- @Relationship(type = "HAS_PARENT_GROUP", direction = Relationship.INCOMING)
- private final Set<HasParentGroup> parentGroupInPointers = new HashSet<>();
-
- @Relationship(type = "HAS_PARENT_GROUP")
- private HasParentGroup parent;
+// @Relationship(type = "HAS_PARENT_GROUP", direction = Relationship.INCOMING)
+// private final Set<HasParentGroup> parentGroupInPointers = new HashSet<>();
+//
+// @Relationship(type = "HAS_PARENT_GROUP")
+// private HasParentGroup parent;
@Relationship(type = "MEMBER_OF", direction = Relationship.INCOMING)
private Set<MemberOf> memberUsersInPointers = new HashSet<>();
@@ -40,8 +40,8 @@ public class Group extends Entity {
@Relationship(type = "SHARED_WITH", direction = Relationship.INCOMING)
private final Set<SharedWith> sharedResourcesInPointers = new HashSet<>();
- @Relationship(type = "HAS_ACCESS")
- private final Set<HasAccess> accessibleResources = new HashSet<>();
+// @Relationship(type = "HAS_ACCESS")
+// private final Set<HasAccess> accessibleResources = new HashSet<>();
public Group() {
@@ -73,13 +73,13 @@ public class Group extends Entity {
this.childGroups.add(childGroup);
}
- public Set<HasChildUser> getChildUsers() {
- return childUsers;
- }
-
- public void addChildUser(HasChildUser childUser) {
- this.childUsers.add(childUser);
- }
+// public Set<HasChildUser> getChildUsers() {
+// return childUsers;
+// }
+//
+// public void addChildUser(HasChildUser childUser) {
+// this.childUsers.add(childUser);
+// }
public Set<MemberOf> getMemberUsersInPointers() {
@@ -98,13 +98,13 @@ public class Group extends Entity {
this.sharedResourcesInPointers.add(sharedResourcesInPointer);
}
- public Set<HasAccess> getAccessibleResources() {
- return accessibleResources;
- }
-
- public void addAccessibleResources(HasAccess accessibleResources) {
- this.accessibleResources.add(accessibleResources);
- }
+// public Set<HasAccess> getAccessibleResources() {
+// return accessibleResources;
+// }
+//
+// public void addAccessibleResources(HasAccess accessibleResources) {
+// this.accessibleResources.add(accessibleResources);
+// }
public void setChildGroups(Set<HasChildGroup> childGroups) {
this.childGroups = childGroups;
@@ -118,25 +118,25 @@ public class Group extends Entity {
this.childGroupInPointers = childGroupInPointers;
}
- public void setChildUsers(Set<HasChildUser> childUsers) {
- this.childUsers = childUsers;
- }
-
- public Set<HasParentGroup> getParentGroupInPointers() {
- return parentGroupInPointers;
- }
-
- private void addParentGroupInPointer(HasParentGroup parentGroup) {
- this.parentGroupInPointers.add(parentGroup);
- }
-
- public HasParentGroup getParent() {
- return parent;
- }
-
- public void setParent(HasParentGroup parent) {
- this.parent = parent;
- }
+// public void setChildUsers(Set<HasChildUser> childUsers) {
+// this.childUsers = childUsers;
+// }
+
+// public Set<HasParentGroup> getParentGroupInPointers() {
+// return parentGroupInPointers;
+// }
+//
+// private void addParentGroupInPointer(HasParentGroup parentGroup) {
+// this.parentGroupInPointers.add(parentGroup);
+// }
+//
+// public HasParentGroup getParent() {
+// return parent;
+// }
+//
+// public void setParent(HasParentGroup parent) {
+// this.parent = parent;
+// }
public void setMemberUsersInPointers(Set<MemberOf> memberUsersInPointers) {
this.memberUsersInPointers = memberUsersInPointers;
@@ -160,8 +160,8 @@ public class Group extends Entity {
childUser.setUserType(membership);
childUser.setStartEntity(this);
childUser.setEndEntity(user);
- user.addGroup(childUser);
- this.addChildUser(childUser);
+// user.addGroup(childUser);
+// this.addChildUser(childUser);
if (relationshipCreatedAt != 0) {
memberOf.setCreatedAt(relationshipCreatedAt);
@@ -188,22 +188,22 @@ public class Group extends Entity {
this.addChildGroup(hasChildGroup);
group.setChildGroupInPointers(hasChildGroup);
- HasParentGroup hasParentGroup = new HasParentGroup();
- hasParentGroup.setStartEntity(group);
- hasParentGroup.setEndEntity(this);
- group.setParent(hasParentGroup);
- this.addParentGroupInPointer(hasParentGroup);
+// HasParentGroup hasParentGroup = new HasParentGroup();
+// hasParentGroup.setStartEntity(group);
+// hasParentGroup.setEndEntity(this);
+// group.setParent(hasParentGroup);
+// this.addParentGroupInPointer(hasParentGroup);
if (relationShipCreatedAt != 0) {
- hasParentGroup.setCreatedAt(relationShipCreatedAt);
+// hasParentGroup.setCreatedAt(relationShipCreatedAt);
hasChildGroup.setCreatedAt(relationShipCreatedAt);
}
if (relationShipModifiedAt != 0) {
- hasParentGroup.setLastModifiedAt(relationShipModifiedAt);
+// hasParentGroup.setLastModifiedAt(relationShipModifiedAt);
hasChildGroup.setLastModifiedAt(relationShipModifiedAt);
}
if (relationshipProperties != null) {
- hasParentGroup.setProperties(relationshipProperties);
+// hasParentGroup.setProperties(relationshipProperties);
hasChildGroup.setProperties(relationshipProperties);
}
diff --git a/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/Resource.java b/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/Resource.java
index a61848b..aea5eba 100644
--- a/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/Resource.java
+++ b/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/Resource.java
@@ -7,13 +7,12 @@ import org.neo4j.ogm.annotation.*;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
+import java.util.UUID;
@NodeEntity
public class Resource extends Entity {
- @Id
- @GeneratedValue
- private Long id;
+
@Property(name = "name")
private String name;
@@ -27,17 +26,17 @@ public class Resource extends Entity {
@Relationship(type = "HAS_CHILD_RESOURCE", direction = Relationship.INCOMING)
private HasChildResource parentInPointer;
- @Relationship(type = "HAS_PARENT_RESOURCE", direction = Relationship.INCOMING)
- private final Set<HasParentResource> childInPointers = new HashSet<>();
-
- @Relationship(type = "HAS_PARENT_RESOURCE")
- private HasParentResource parent;
+// @Relationship(type = "HAS_PARENT_RESOURCE", direction = Relationship.INCOMING)
+// private final Set<HasParentResource> childInPointers = new HashSet<>();
+//
+// @Relationship(type = "HAS_PARENT_RESOURCE")
+// private HasParentResource parent;
@Relationship(type = "SHARED_WITH")
private final Set<SharedWith> shares = new HashSet<>();
- @Relationship(type = "HAS_ACCESS", direction = Relationship.INCOMING)
- private final Set<HasAccess> accesses = new HashSet<>();
+// @Relationship(type = "HAS_ACCESS", direction = Relationship.INCOMING)
+// private final Set<HasAccess> accesses = new HashSet<>();
public Resource() {
}
@@ -59,21 +58,21 @@ public class Resource extends Entity {
this.childResourceSet.add(childResource);
}
- public Set<HasParentResource> getChildInPointers() {
- return childInPointers;
- }
-
- public void addChildInPointers(HasParentResource childInPointers) {
- this.childInPointers.add(childInPointers);
- }
-
- public HasParentResource getParent() {
- return parent;
- }
-
- public void setParent(HasParentResource parent) {
- this.parent = parent;
- }
+// public Set<HasParentResource> getChildInPointers() {
+// return childInPointers;
+// }
+//
+// public void addChildInPointers(HasParentResource childInPointers) {
+// this.childInPointers.add(childInPointers);
+// }
+//
+// public HasParentResource getParent() {
+// return parent;
+// }
+//
+// public void setParent(HasParentResource parent) {
+// this.parent = parent;
+// }
public HasChildResource getParentInPointer() {
return parentInPointer;
@@ -99,28 +98,20 @@ public class Resource extends Entity {
this.shares.add(share);
}
- public Set<HasAccess> getAccesses() {
- return accesses;
- }
-
- public void addAccess(HasAccess access) {
- this.accesses.add(access);
- }
+// public Set<HasAccess> getAccesses() {
+// return accesses;
+// }
+//
+// public void addAccess(HasAccess access) {
+// this.accesses.add(access);
+// }
@Override
public String getSearchableId() {
return this.getName()+"@"+this.getTenantId();
}
- @Override
- public Long getId() {
- return id;
- }
- @Override
- public void setId(Long id) {
- this.id = id;
- }
public void addChildResource(Resource resource, long createdAt, long lastModifiedAt,
Map<String, String> properties) {
@@ -133,8 +124,8 @@ public class Resource extends Entity {
HasParentResource hasParentResource = new HasParentResource();
hasParentResource.setStartEntity(resource);
hasParentResource.setEndEntity(this);
- resource.setParent(hasParentResource);
- this.addChildInPointers(hasParentResource);
+// resource.setParent(hasParentResource);
+// this.addChildInPointers(hasParentResource);
if (createdAt != 0) {
hasParentResource.setCreatedAt(createdAt);
@@ -165,8 +156,8 @@ public class Resource extends Entity {
hasAccess.setStartEntity(user);
hasAccess.setEndEntity(this);
hasAccess.setPermissionType(permission);
- this.addAccess(hasAccess);
- user.addAccessibleResources(hasAccess);
+// this.addAccess(hasAccess);
+// user.addAccessibleResources(hasAccess);
if (createdAt != 0) {
sharedWith.setCreatedAt(createdAt);
@@ -197,8 +188,8 @@ public class Resource extends Entity {
hasAccess.setStartEntity(group);
hasAccess.setEndEntity(this);
hasAccess.setPermissionType(permission);
- this.addAccess(hasAccess);
- group.addAccessibleResources(hasAccess);
+// this.addAccess(hasAccess);
+// group.addAccessibleResources(hasAccess);
if (relationshipCreatedAt != 0) {
sharedWith.setCreatedAt(relationshipCreatedAt);
diff --git a/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/User.java b/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/User.java
index 10a00ff..326d11d 100644
--- a/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/User.java
+++ b/metadata-service/db-service/server/src/main/java/org/apache/airavata/datalake/metadata/backend/neo4j/model/nodes/User.java
@@ -30,14 +30,14 @@ public class User extends Entity {
@Relationship(type = "MEMBER_OF")
private final Set<MemberOf> memberGroups = new HashSet<>();
- @Relationship(type = "HAS_CHILD_USER", direction = Relationship.INCOMING)
- private final Set<HasChildUser> groups = new HashSet<>();
+// @Relationship(type = "HAS_CHILD_USER", direction = Relationship.INCOMING)
+// private final Set<HasChildUser> groups = new HashSet<>();
@Relationship(type = "SHARED_WITH", direction = Relationship.INCOMING)
private final Set<SharedWith> sharedResources = new HashSet<>();
- @Relationship(type = "HAS_ACCESS")
- private final Set<HasAccess> accessibleResources = new HashSet<>();
+// @Relationship(type = "HAS_ACCESS")
+// private final Set<HasAccess> accessibleResources = new HashSet<>();
public User() {
}
@@ -106,13 +106,13 @@ public class User extends Entity {
this.memberGroups.add(memberGroup);
}
- public Set<HasChildUser> getGroups() {
- return groups;
- }
-
- public void addGroup(HasChildUser hasChildUser) {
- this.groups.add(hasChildUser);
- }
+// public Set<HasChildUser> getGroups() {
+// return groups;
+// }
+//
+// public void addGroup(HasChildUser hasChildUser) {
+// this.groups.add(hasChildUser);
+// }
public Set<SharedWith> getSharedResources() {
return sharedResources;
@@ -122,13 +122,13 @@ public class User extends Entity {
this.sharedResources.add(sharedResource);
}
- public Set<HasAccess> getAccessibleResources() {
- return accessibleResources;
- }
-
- public void addAccessibleResources(HasAccess accessibleResources) {
- this.accessibleResources.add(accessibleResources);
- }
+// public Set<HasAccess> getAccessibleResources() {
+// return accessibleResources;
+// }
+//
+// public void addAccessibleResources(HasAccess accessibleResources) {
+// this.accessibleResources.add(accessibleResources);
+// }
@Override
public String getSearchableId() {