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/07/10 15:51:40 UTC

[airavata-custos] branch develop updated: Bug fix

This is an automated email from the ASF dual-hosted git repository.

isjarana pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata-custos.git


The following commit(s) were added to refs/heads/develop by this push:
     new 83bfa35  Bug fix
     new 6f9ef1b  Merge pull request #218 from isururanawaka/develop
83bfa35 is described below

commit 83bfa352e56c68490083774e25e3911482e7fd76
Author: Isuru Ranawaka <ir...@gmail.com>
AuthorDate: Sat Jul 10 11:49:37 2021 -0400

    Bug fix
---
 .../custos/sharing/mapper/SharingMapper.java       | 13 ++++
 .../custos/sharing/service/SharingService.java     | 73 ++++++++--------------
 2 files changed, 39 insertions(+), 47 deletions(-)

diff --git a/custos-core-services/sharing-core-service/src/main/java/org/apache/custos/sharing/mapper/SharingMapper.java b/custos-core-services/sharing-core-service/src/main/java/org/apache/custos/sharing/mapper/SharingMapper.java
index e6f34a7..4e2e4fe 100644
--- a/custos-core-services/sharing-core-service/src/main/java/org/apache/custos/sharing/mapper/SharingMapper.java
+++ b/custos-core-services/sharing-core-service/src/main/java/org/apache/custos/sharing/mapper/SharingMapper.java
@@ -104,6 +104,19 @@ public class SharingMapper {
 
     }
 
+    public static SharingMetadata getSharingMetadata(Sharing sharing, Entity entity,
+                                                     PermissionType permissionType, String type) throws SQLException {
+        org.apache.custos.sharing.service.Entity en = EntityMapper.createEntity(entity);
+        return SharingMetadata.newBuilder()
+                .setEntity(en)
+                .setOwnerId(sharing.getAssociatingId())
+                .setOwnerType(type)
+                .setSharedBy(sharing.getSharedBy()!=null?sharing.getSharedBy():"")
+                .setPermission(org.apache.custos.sharing.service.PermissionType.newBuilder()
+                        .setId(permissionType.getExternalId()).build()).build();
+
+    }
+
     public static Optional<List<SharingMetadata>> getSharingMetadata(List<Sharing> sharingList) {
         if (sharingList != null && !sharingList.isEmpty()) {
 
diff --git a/custos-core-services/sharing-core-service/src/main/java/org/apache/custos/sharing/service/SharingService.java b/custos-core-services/sharing-core-service/src/main/java/org/apache/custos/sharing/service/SharingService.java
index 06871e9..ef7615d 100644
--- a/custos-core-services/sharing-core-service/src/main/java/org/apache/custos/sharing/service/SharingService.java
+++ b/custos-core-services/sharing-core-service/src/main/java/org/apache/custos/sharing/service/SharingService.java
@@ -1176,59 +1176,38 @@ public class SharingService extends org.apache.custos.sharing.service.SharingSer
             List<org.apache.custos.sharing.service.Entity> arrayList = new ArrayList<>();
             List<SharingMetadata> sharingMetadata = new ArrayList<>();
             entities.forEach(entity -> {
-                try {
-                    Entity en = EntityMapper.createEntity(entity);
-                    permissionTypes.forEach(perm -> {
-                        String permId = perm.getId();
-                        List<String> sharingList = new ArrayList<>();
-                        sharingList.add(Constants.DIRECT_CASCADING);
-                        sharingList.add(Constants.DIRECT_NON_CASCADING);
-
-                        List<Sharing> sharings = sharingRepository.
-                                findAllByEntityAndPermissionTypeAndOwnerTypeAndSharingType(request.getTenantId(), entity.getId(),
-                                        permId, Constants.USER, sharingList);
-                        org.apache.custos.sharing.service.SharedOwners owners = SharingMapper.getSharedOwners(sharings);
-
-                        if (owners != null) {
-                            owners.getOwnerIdsList().forEach(ownerId -> {
-                                SharingMetadata metadata =
-                                        SharingMetadata.newBuilder()
-                                                .setEntity(en)
-                                                .setOwnerId(ownerId)
-                                                .setOwnerType(Constants.USER)
-                                                .setPermission(PermissionType.newBuilder()
-                                                        .setId(perm.getExternalId()).build()).build();
-                                sharingMetadata.add(metadata);
-
-                            });
-
+                permissionTypes.forEach(perm -> {
+                    String permId = perm.getId();
+                    List<String> sharingList = new ArrayList<>();
+                    sharingList.add(Constants.DIRECT_CASCADING);
+                    sharingList.add(Constants.DIRECT_NON_CASCADING);
+
+                    List<Sharing> sharings = sharingRepository.
+                            findAllByEntityAndPermissionTypeAndOwnerTypeAndSharingType(request.getTenantId(), entity.getId(),
+                                    permId, Constants.USER, sharingList);
+                    sharings.forEach(shr -> {
+                        try {
+                            sharingMetadata.add(SharingMapper.getSharingMetadata(shr, entity, perm, Constants.USER));
+                        } catch (SQLException throwables) {
+                            String msg = "Error occurred while transforming entity" + entity.getId();
+                            LOGGER.error(msg);
                         }
+                    });
 
-                        List<Sharing> sharingsGroups = sharingRepository.
-                                findAllByEntityAndPermissionTypeAndOwnerTypeAndSharingType(request.getTenantId(), entity.getId(),
-                                        permId, Constants.GROUP, sharingList);
-                        org.apache.custos.sharing.service.SharedOwners groupOwners = SharingMapper.getSharedOwners(sharingsGroups);
-
-                        if (groupOwners != null) {
-                            groupOwners.getOwnerIdsList().forEach(ownerId -> {
-                                SharingMetadata metadata =
-                                        SharingMetadata.newBuilder()
-                                                .setEntity(en)
-                                                .setOwnerId(ownerId)
-                                                .setOwnerType(Constants.GROUP)
-                                                .setPermission(PermissionType.newBuilder().
-                                                        setId(perm.getExternalId()).build()).build();
-                                sharingMetadata.add(metadata);
-
-                            });
 
+                    List<Sharing> sharingsGroups = sharingRepository.
+                            findAllByEntityAndPermissionTypeAndOwnerTypeAndSharingType(request.getTenantId(), entity.getId(),
+                                    permId, Constants.GROUP, sharingList);
+                    sharingsGroups.forEach(shr -> {
+                        try {
+                            sharingMetadata.add(SharingMapper.getSharingMetadata(shr, entity, perm, Constants.GROUP));
+                        } catch (SQLException throwables) {
+                            String msg = "Error occurred while transforming entity" + entity.getId();
+                            LOGGER.error(msg);
                         }
                     });
+                });
 
-                } catch (SQLException throwables) {
-                    String msg = "Error occurred while transforming entity" + entity.getId();
-                    LOGGER.error(msg);
-                }
             });
             GetAllDirectSharingsResponse response = GetAllDirectSharingsResponse
                     .newBuilder().addAllSharedData(sharingMetadata).build();