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