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 17:43:07 UTC
[airavata-data-lake] branch master updated: Fix collection groups
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 a0abe68 Fix collection groups
new d338248 Merge pull request #198 from isururanawaka/mysql_conversion
a0abe68 is described below
commit a0abe6898fd56c4dd4c8b5eb09e797c221648eb8
Author: Isuru Ranawaka <ir...@gmail.com>
AuthorDate: Tue Dec 20 12:39:54 2022 -0500
Fix collection groups
---
.../drms/api/handlers/ResourceServiceHandler.java | 64 +++++++++++++++-------
.../airavata/drms/api/utils/CustosUtils.java | 2 +
2 files changed, 47 insertions(+), 19 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 5b40de8..a200ebd 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
@@ -45,6 +45,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;
@@ -392,16 +393,28 @@ public class ResourceServiceHandler extends ResourceServiceGrpc.ResourceServiceI
public void addChildMembership(AddChildResourcesMembershipRequest request,
StreamObserver<OperationStatusResponse> responseObserver) {
try {
-// AuthenticatedUser callUser = request.getAuthToken().getAuthenticatedUser();
-// GenericResource resource = request.getParentResource();
-// List<GenericResource> childResources = request.getChildResourcesList();
-//
-// List<GenericResource> allResources = new ArrayList<>();
-// allResources.add(resource);
-// allResources.addAll(childResources);
-
- responseObserver.onError(Status.UNIMPLEMENTED.asRuntimeException());
-
+ AuthenticatedUser callUser = request.getAuthToken().getAuthenticatedUser();
+ GenericResource resource = request.getParentResource();
+ List<GenericResource> childResources = request.getChildResourcesList();
+ List<GenericResource> allResources = new ArrayList<>();
+ childResources.forEach(childResource-> {
+ try {
+ CustosUtils.mergeResourceEntity(custosClientProvider, callUser.getTenantId(),
+ resource.getResourceId(), childResource.getType(), childResource.getResourceId(),
+ childResource.getResourceName(), childResource.getResourceName(),
+ callUser.getUsername());
+ allResources.add(childResource);
+ } catch (IOException e) {
+ String msg = " Error occurred while adding child memberships " + e.getMessage();
+ logger.error(" Error occurred while adding child memberships: Messages {} ", e.getMessage(), e);
+ }
+ });
+ OperationStatusResponse operationStatusResponse = OperationStatusResponse
+ .newBuilder().
+ setStatus(true)
+ .build();
+ responseObserver.onNext(operationStatusResponse);
+ responseObserver.onCompleted();
} catch (Exception e) {
String msg = " Error occurred while adding child memberships " + e.getMessage();
@@ -416,15 +429,28 @@ public class ResourceServiceHandler extends ResourceServiceGrpc.ResourceServiceI
StreamObserver<OperationStatusResponse> responseObserver) {
try {
-// AuthenticatedUser callUser = request.getAuthToken().getAuthenticatedUser();
-// GenericResource resource = request.getParentResource();
-// List<GenericResource> childResources = request.getChildResourcesList();
-//
-// List<GenericResource> allResources = new ArrayList<>();
-// allResources.add(resource);
-// allResources.addAll(childResources);
-
- responseObserver.onError(Status.UNIMPLEMENTED.asRuntimeException());
+ AuthenticatedUser callUser = request.getAuthToken().getAuthenticatedUser();
+ GenericResource resource = request.getParentResource();
+ List<GenericResource> childResources = request.getChildResourcesList();
+ List<GenericResource> allResources = new ArrayList<>();
+ childResources.forEach(childResource-> {
+ try {
+ CustosUtils.mergeResourceEntity(custosClientProvider, callUser.getTenantId(),
+ "", childResource.getType(), childResource.getResourceId(),
+ childResource.getResourceName(), childResource.getResourceName(),
+ callUser.getUsername());
+ allResources.add(childResource);
+ } catch (IOException e) {
+ String msg = " Error occurred while adding child memberships " + e.getMessage();
+ logger.error(" Error occurred while adding child memberships: Messages {} ", e.getMessage(), e);
+ }
+ });
+ OperationStatusResponse operationStatusResponse = OperationStatusResponse
+ .newBuilder().
+ setStatus(true)
+ .build();
+ responseObserver.onNext(operationStatusResponse);
+ responseObserver.onCompleted();
} catch (Exception e) {
diff --git a/data-resource-management-service/drms-rdbms-impl/drms-server/src/main/java/org/apache/airavata/drms/api/utils/CustosUtils.java b/data-resource-management-service/drms-rdbms-impl/drms-server/src/main/java/org/apache/airavata/drms/api/utils/CustosUtils.java
index 77ed201..7822bfd 100644
--- a/data-resource-management-service/drms-rdbms-impl/drms-server/src/main/java/org/apache/airavata/drms/api/utils/CustosUtils.java
+++ b/data-resource-management-service/drms-rdbms-impl/drms-server/src/main/java/org/apache/airavata/drms/api/utils/CustosUtils.java
@@ -107,6 +107,8 @@ public class CustosUtils {
Status status = sharingManagementClient.isEntityExists(tenantId, entity);
if (!status.getStatus()) {
sharingManagementClient.createEntity(tenantId, entity);
+ }else{
+ sharingManagementClient.updateEntity(tenantId,entity);
}
return Optional.ofNullable(sharingManagementClient.getEntity(tenantId, entity));