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