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/08/31 19:29:03 UTC

[airavata-data-lake] branch master updated: Avoid duplicate storage listing

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 33b94cb  Avoid duplicate storage listing
     new 8207b7d  Merge pull request #44 from isururanawaka/sharing_service_impl
33b94cb is described below

commit 33b94cb8a3882fc0eb7ca0070d70de86d486be04
Author: Isuru Ranawaka <ir...@gmail.com>
AuthorDate: Tue Aug 31 15:28:06 2021 -0400

    Avoid duplicate storage listing
---
 .../airavata/drms/core/deserializer/AnyStorageDeserializer.java   | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/data-resource-management-service/drms-core/src/main/java/org/apache/airavata/drms/core/deserializer/AnyStorageDeserializer.java b/data-resource-management-service/drms-core/src/main/java/org/apache/airavata/drms/core/deserializer/AnyStorageDeserializer.java
index 2ae477f..07b263b 100644
--- a/data-resource-management-service/drms-core/src/main/java/org/apache/airavata/drms/core/deserializer/AnyStorageDeserializer.java
+++ b/data-resource-management-service/drms-core/src/main/java/org/apache/airavata/drms/core/deserializer/AnyStorageDeserializer.java
@@ -37,14 +37,18 @@ public class AnyStorageDeserializer {
 
     public static List<AnyStorage> deserializeList(List<Record> neo4jRecords) throws Exception {
         List<AnyStorage> storageList = new ArrayList<>();
+        List<Node> processedNodes = new ArrayList<>();
         for (Record record : neo4jRecords) {
             InternalRecord internalRecord = (InternalRecord) record;
             List<Value> values = internalRecord.values();
             for (Value value : values) {
                 if (!value.isNull()) {
                     Node node = value.asNode();
-                    if (node.hasLabel(StorageConstants.STORAGE_LABEL)) {
-                        storageList.add(deriveStorageFromMap(node.asMap()));
+                    if (!processedNodes.contains(node)) {
+                        if (node.hasLabel(StorageConstants.STORAGE_LABEL)) {
+                            storageList.add(deriveStorageFromMap(node.asMap()));
+                            processedNodes.add(node);
+                        }
                     }
                 }
             }