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 5c1f54f  Bug fix in storage preference
     new 0296a19  Merge pull request #135 from isururanawaka/mysql_conversion
5c1f54f is described below

commit 5c1f54f1d6ca351f5280191dff727ee84e4e237b
Author: Isuru Ranawaka <[email protected]>
AuthorDate: Tue Aug 16 16:26:28 2022 -0400

    Bug fix in storage preference
---
 .../handlers/StoragePreferenceServiceHandler.java  | 36 +++++++++++++---------
 1 file changed, 21 insertions(+), 15 deletions(-)

diff --git 
a/data-resource-management-service/drms-rdbms-impl/drms-server/src/main/java/org/apache/airavata/drms/api/handlers/StoragePreferenceServiceHandler.java
 
b/data-resource-management-service/drms-rdbms-impl/drms-server/src/main/java/org/apache/airavata/drms/api/handlers/StoragePreferenceServiceHandler.java
index bc8ca0a..1f22631 100644
--- 
a/data-resource-management-service/drms-rdbms-impl/drms-server/src/main/java/org/apache/airavata/drms/api/handlers/StoragePreferenceServiceHandler.java
+++ 
b/data-resource-management-service/drms-rdbms-impl/drms-server/src/main/java/org/apache/airavata/drms/api/handlers/StoragePreferenceServiceHandler.java
@@ -113,7 +113,15 @@ public class StoragePreferenceServiceHandler extends 
StoragePreferenceServiceGrp
             serializedMap.remove("storage");
             String storageId = null;
 
+            if (resourceRepository.findById(storagePreferenceId).isPresent()) {
+                
responseObserver.onError(Status.ALREADY_EXISTS.asRuntimeException());
+                return;
+            }
+
+
             Resource resource = new Resource();
+            resource.setTenantId(callUser.getTenantId());
+            resource.setId(storagePreferenceId);
             if 
(storage.getStorageCase().equals(AnyStoragePreference.StorageCase.S3_STORAGE_PREFERENCE))
 {
                 storageId = 
storage.getS3StoragePreference().getStorage().getStorageId();
                 
serializedMap.put(StoragePreferenceConstants.STORAGE_PREFERENCE_TYPE_LABEL,
@@ -143,26 +151,24 @@ public class StoragePreferenceServiceHandler extends 
StoragePreferenceServiceGrp
                 
resource.setResourceType(StoragePreferenceConstants.SDA_STORAGE_PREFERENCE_TYPE_LABEL);
             }
 
+            if (storageId == null || 
resourceRepository.findById(storageId).isEmpty()) {
 
-            if (storageId != null) {
-                CustosUtils.
-                        mergeStoragePreferenceEntity(custosClientProvider, 
callUser.getTenantId(),
-                                storagePreferenceId, storageId, 
callUser.getUsername());
-                Optional<Resource> resourceOptional = 
resourceRepository.findById(storageId);
-                Optional<Resource> storagePrefOptional = 
resourceRepository.findById(storagePreferenceId);
-                if (resourceOptional.isPresent() && 
storagePrefOptional.isEmpty()) {
+                
responseObserver.onError(Status.NOT_FOUND.withDescription("Storage not 
found").asRuntimeException());
+                return;
+            }
 
-                    Set<ResourceProperty> resourcePropertySet = new 
HashSet<>();
+            CustosUtils.
+                    mergeStoragePreferenceEntity(custosClientProvider, 
callUser.getTenantId(),
+                            storagePreferenceId, storageId, 
callUser.getUsername());
+            Set<ResourceProperty> resourcePropertySet = new HashSet<>();
 
-                    serializedMap.forEach((key, value) -> {
-                        resourcePropertySet.add(new ResourceProperty(key, 
value.toString(), resource));
-                    });
-                }
-                //TODO:Error
+            serializedMap.forEach((key, value) -> {
+                resourcePropertySet.add(new ResourceProperty(key, 
value.toString(), resource));
+            });
+            resource.setResourceProperty(resourcePropertySet);
 
+            resourceRepository.save(resource);
 
-                resourceRepository.save(resource);
-            }
             StoragePreferenceCreateResponse response = 
StoragePreferenceCreateResponse
                     .newBuilder().setStoragePreference(storage).build();
             responseObserver.onNext(response);

Reply via email to