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 50b5853  override equals method to avoid duplicates
     new db5853d  Merge pull request #180 from isururanawaka/mysql_conversion
50b5853 is described below

commit 50b58530b58dbe160dd188c0ecd2169a224e8024
Author: Isuru Ranawaka <[email protected]>
AuthorDate: Tue Sep 20 20:23:33 2022 -0400

    override equals method to avoid duplicates
---
 .../drms/api/handlers/ResourceServiceHandler.java  | 69 ++++------------------
 1 file changed, 13 insertions(+), 56 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 9bbbc7f..ef1ed8d 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
@@ -473,20 +473,13 @@ public class ResourceServiceHandler extends 
ResourceServiceGrpc.ResourceServiceI
                     Resource resource = optionalResource.get();
                     Set<ResourceProperty> resourcePropertySet = 
mergeProperties(resource, map);
 
-                    List<ResourceProperty> properties = 
resourcePropertyRepository.
-                            findByPropertyKeyAndResourceId("metadata", 
resource.getId());
-
-                    properties.forEach(property -> {
-                                
resourcePropertyRepository.deleteById(property.getId());
-                            }
-                    );
-
-
                     ResourceProperty resourceProperty = new ResourceProperty();
                     resourceProperty.setPropertyKey("metadata");
                     resourceProperty.setPropertyValue(message);
-                    resourcePropertySet.add(resourceProperty);
                     resourceProperty.setResource(resource);
+                    resourcePropertySet.add(resourceProperty);
+
+                    resourcePropertySet.addAll(resource.getResourceProperty());
 
                     resource.setResourceProperty(resourcePropertySet);
                     resourceRepository.save(resource);
@@ -565,64 +558,28 @@ public class ResourceServiceHandler extends 
ResourceServiceGrpc.ResourceServiceI
 
         for (String key : values.keySet()) {
 
-            List<ResourceProperty> resourcePropertyList = 
exProperties.stream().filter(prop -> {
-                if (prop.getPropertyKey().equals(key)) {
-                    return true;
-                } else {
-                    return false;
-                }
-            }).collect(Collectors.toList());
-
-
             if (values.get(key) instanceof Map) {
                 //TODO: Implement MAP
             } else if (values.get(key) instanceof List) {
                 ArrayList arrayList = (ArrayList) values.get(key);
-                if (!resourcePropertyList.isEmpty()) {
-                    //TODO:handle this
-
-                } else {
-                    arrayList.forEach(val -> {
-                        ResourceProperty resourceProperty = new 
ResourceProperty();
-                        resourceProperty.setPropertyKey(key);
-                        resourceProperty.setPropertyValue(val.toString());
-                        resourceProperty.setResource(resource);
-                        newProperties.add(resourceProperty);
-                    });
-                }
 
-            } else {
-                if (!resourcePropertyList.isEmpty()) {
-                    Set<ResourceProperty> newRes = 
resourcePropertyList.stream().map(prop -> {
-                        prop.setPropertyValue(String.valueOf(values.get(key)));
-                        return prop;
-                    }).collect(Collectors.toSet());
-                    newProperties.addAll(newRes);
-                } else {
-                    String value = String.valueOf(values.get(key));
+                arrayList.forEach(val -> {
                     ResourceProperty resourceProperty = new ResourceProperty();
                     resourceProperty.setPropertyKey(key);
-                    resourceProperty.setPropertyValue(value);
+                    resourceProperty.setPropertyValue(val.toString());
                     resourceProperty.setResource(resource);
                     newProperties.add(resourceProperty);
-                }
-            }
-        }
+                });
 
-       Iterator<ResourceProperty> it =  exProperties.iterator();
-        while (it.hasNext()) {
-            ResourceProperty resourceProperty = it.next();
-            if (values.keySet().stream().filter(prop -> {
-                if (prop.equals(resourceProperty.getPropertyKey())) {
-                    return true;
-                } else {
-                    return false;
-                }
-            }).collect(Collectors.toList()).isEmpty()) {
+
+            } else {
+                String value = String.valueOf(values.get(key));
+                ResourceProperty resourceProperty = new ResourceProperty();
+                resourceProperty.setPropertyKey(key);
+                resourceProperty.setPropertyValue(value);
+                resourceProperty.setResource(resource);
                 newProperties.add(resourceProperty);
             }
-
-
         }
 
         return newProperties;

Reply via email to