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