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/09/07 23:11:46 UTC

[airavata-data-lake] branch master updated: Bug fix metadata fecthing

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 ab85707  Bug fix metadata fecthing
     new b3cc735  Merge pull request #165 from isururanawaka/mysql_conversion
ab85707 is described below

commit ab8570739def3e4c888934b959b5577635fe81c0
Author: Isuru Ranawaka <ir...@gmail.com>
AuthorDate: Wed Sep 7 19:11:03 2022 -0400

    Bug fix metadata fecthing
---
 .../drms/api/handlers/ResourceServiceHandler.java         | 15 +++++++++++++++
 .../repository/ResourcePropertyRepository.java            |  3 +++
 2 files changed, 18 insertions(+)

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 9bb7692..d9be5bc 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
@@ -18,6 +18,7 @@ package org.apache.airavata.drms.api.handlers;
 
 import com.google.protobuf.Empty;
 import com.google.protobuf.Struct;
+import com.google.protobuf.Value;
 import com.google.protobuf.util.JsonFormat;
 import io.grpc.Status;
 import io.grpc.stub.StreamObserver;
@@ -45,6 +46,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import java.util.*;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 @GRpcService
@@ -522,7 +524,20 @@ public class ResourceServiceHandler extends ResourceServiceGrpc.ResourceServiceI
                         Struct.Builder structBuilder = Struct.newBuilder();
                         JsonFormat.parser().merge(message, structBuilder);
                         builder.addMetadata(structBuilder.build());
+                    } else {
+                        List<ResourceProperty> resourceProperties = resourcePropertyRepository.findAllByResourceId(resourceId);
+                        Struct.Builder structBuilder = Struct.newBuilder();
+
+                        Map<String, Value> valueMap = resourceProperties.stream()
+                                .collect(Collectors.toMap(ResourceProperty::getPropertyKey,
+                                        e->Value.newBuilder().setStringValue(e.getPropertyValue()).build()));
+
+                        structBuilder.putAllFields(valueMap);
+
+                        builder.addMetadata(structBuilder.build());
+
                     }
+
                 }
                 responseObserver.onNext(builder.build());
                 responseObserver.onCompleted();
diff --git a/data-resource-management-service/drms-rdbms-impl/drms-server/src/main/java/org/apache/airavata/drms/api/persistance/repository/ResourcePropertyRepository.java b/data-resource-management-service/drms-rdbms-impl/drms-server/src/main/java/org/apache/airavata/drms/api/persistance/repository/ResourcePropertyRepository.java
index 361ef77..9452804 100644
--- a/data-resource-management-service/drms-rdbms-impl/drms-server/src/main/java/org/apache/airavata/drms/api/persistance/repository/ResourcePropertyRepository.java
+++ b/data-resource-management-service/drms-rdbms-impl/drms-server/src/main/java/org/apache/airavata/drms/api/persistance/repository/ResourcePropertyRepository.java
@@ -3,9 +3,12 @@ package org.apache.airavata.drms.api.persistance.repository;
 import org.apache.airavata.drms.api.persistance.model.ResourceProperty;
 import org.springframework.data.jpa.repository.JpaRepository;
 
+import java.util.List;
 import java.util.Optional;
 
 public interface ResourcePropertyRepository extends JpaRepository<ResourceProperty, String> {
 
     Optional<ResourceProperty> findByPropertyKeyAndResourceId(String key, String resourceId);
+
+    List<ResourceProperty> findAllByResourceId(String resourceId);
 }