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 f1075ae  initia search by key
     new 8f567af  Merge pull request #174 from isururanawaka/mysql_conversion
f1075ae is described below

commit f1075ae15d975a1aebcd199f3a182f62b2d9d181
Author: Isuru Ranawaka <[email protected]>
AuthorDate: Tue Sep 20 15:20:56 2022 -0400

    initia search by key
---
 .../drms/api/handlers/ResourceServiceHandler.java  | 40 +++++++---------------
 .../repository/ResourcePropertyRepository.java     |  2 ++
 2 files changed, 14 insertions(+), 28 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 6d98b2f..d34ace3 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
@@ -558,26 +558,16 @@ public class ResourceServiceHandler extends 
ResourceServiceGrpc.ResourceServiceI
     private Set<ResourceProperty> mergeProperties(Resource resource, 
Map<String, Object> values) {
 
         Set<ResourceProperty> resourcePropertySet = new HashSet<>();
-        Set<ResourceProperty> exisitingProperties = 
resource.getResourceProperty();
 
         for (String key : values.keySet()) {
-            List<ResourceProperty> matched = 
exisitingProperties.stream().filter(prop -> {
-                if (prop.getPropertyKey().equals(key)) {
-                    return true;
-                } else {
-                    return false;
-                }
-            }).collect(Collectors.toList());
+
+            
resourcePropertyRepository.deleteAllByPropertyKeyAndResourceId(key,resource.getId());
 
             if (values.get(key) instanceof Map) {
                 //TODO: Implement MAP
             } else if (values.get(key) instanceof List) {
                 ArrayList arrayList = (ArrayList) values.get(key);
-                if (!matched.isEmpty()) {
-                    matched.forEach(val -> {
-                        resourcePropertyRepository.delete(val);
-                    });
-                }
+
                 arrayList.forEach(val -> {
                     ResourceProperty resourceProperty = new ResourceProperty();
                     resourceProperty.setPropertyKey(key);
@@ -587,29 +577,23 @@ public class ResourceServiceHandler extends 
ResourceServiceGrpc.ResourceServiceI
                 });
             } else {
                 String value = String.valueOf(values.get(key));
-                if (!matched.isEmpty()) {
-                    matched.forEach(val -> {
-                        resourcePropertyRepository.deleteById(val.getId());
-                    });
-                }
-
                 ResourceProperty resourceProperty = new ResourceProperty();
                 resourceProperty.setPropertyKey(key);
                 resourceProperty.setPropertyValue(value);
                 resourceProperty.setResource(resource);
                 resourcePropertySet.add(resourceProperty);
             }
-
         }
 
-        Optional<ResourceProperty> hostOp = 
resourcePropertyRepository.findByPropertyKeyAndResourceId("hostName",resource.getId());
-        Optional<ResourceProperty> resourceOp = 
resourcePropertyRepository.findByPropertyKeyAndResourceId("resourcePath",resource.getId());
-        if(hostOp.isPresent()){
-            resourcePropertySet.add(hostOp.get());
-        }
-        if(resourceOp.isPresent()){
-            resourcePropertySet.add(resourceOp.get());
-        }
+//        Optional<ResourceProperty> hostOp = 
resourcePropertyRepository.findByPropertyKeyAndResourceId("hostName",resource.getId());
+//        Optional<ResourceProperty> resourceOp = 
resourcePropertyRepository.findByPropertyKeyAndResourceId("resourcePath",resource.getId());
+//
+//        if(hostOp.isPresent()){
+//            resourcePropertySet.add(hostOp.get());
+//        }
+//        if(resourceOp.isPresent()){
+//            resourcePropertySet.add(resourceOp.get());
+//        }
 
 
         return resourcePropertySet;
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 897d2b4..ef1cdae 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
@@ -11,4 +11,6 @@ public interface ResourcePropertyRepository extends 
JpaRepository<ResourceProper
     Optional<ResourceProperty> findByPropertyKeyAndResourceId(String key, 
String resourceId);
 
     List<ResourceProperty> findAllByResourceId(String resourceId);
+
+    void deleteAllByPropertyKeyAndResourceId(String propertyKey, String 
resourceId);
 }

Reply via email to