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 352ccfd Transfermapping creation
new fa317cb Merge pull request #136 from isururanawaka/mysql_conversion
352ccfd is described below
commit 352ccfdf825af7239250a6f298018bd691bfe4e4
Author: Isuru Ranawaka <[email protected]>
AuthorDate: Tue Aug 16 20:46:00 2022 -0400
Transfermapping creation
---
.../drms/api/handlers/StorageServiceHandler.java | 59 ++++++++++++++--------
1 file changed, 38 insertions(+), 21 deletions(-)
diff --git
a/data-resource-management-service/drms-rdbms-impl/drms-server/src/main/java/org/apache/airavata/drms/api/handlers/StorageServiceHandler.java
b/data-resource-management-service/drms-rdbms-impl/drms-server/src/main/java/org/apache/airavata/drms/api/handlers/StorageServiceHandler.java
index d3de3e2..67d8d5f 100644
---
a/data-resource-management-service/drms-rdbms-impl/drms-server/src/main/java/org/apache/airavata/drms/api/handlers/StorageServiceHandler.java
+++
b/data-resource-management-service/drms-rdbms-impl/drms-server/src/main/java/org/apache/airavata/drms/api/handlers/StorageServiceHandler.java
@@ -29,7 +29,6 @@ import
org.apache.airavata.drms.api.persistance.repository.ResourceRepository;
import
org.apache.airavata.drms.api.persistance.repository.TransferMappingRepository;
import org.apache.airavata.drms.api.utils.CustosUtils;
import org.apache.airavata.drms.core.constants.SharingConstants;
-import org.apache.airavata.drms.core.serializer.AnyStorageSerializer;
import org.apache.custos.clients.CustosClientProvider;
import org.apache.custos.sharing.management.client.SharingManagementClient;
import org.apache.custos.sharing.service.Entity;
@@ -298,36 +297,54 @@ public class StorageServiceHandler extends
StorageServiceGrpc.StorageServiceImpl
transferMappingRepository
.findById(request.getTransferMapping().getId());
+ if (optionalTransferMapping.isPresent()) {
+
responseObserver.onError(Status.ALREADY_EXISTS.asRuntimeException());
+ return;
+ }
- if (optionalTransferMapping.isEmpty()) {
+ org.apache.airavata.drms.api.persistance.model.TransferMapping
transferMapping = new
+
org.apache.airavata.drms.api.persistance.model.TransferMapping();
- org.apache.airavata.drms.api.persistance.model.TransferMapping
transferMapping = new
-
org.apache.airavata.drms.api.persistance.model.TransferMapping();
+ if (optionalSource.isPresent()) {
- if (optionalSource.isPresent()) {
- transferMapping.setSource(optionalSource.get());
- }
+
Set<org.apache.airavata.drms.api.persistance.model.TransferMapping>
transferMappings =
+ optionalSource.get().getSourceTransferMapping();
+ if (transferMappings != null){
+ transferMappings.add(transferMapping);
+ }else{
+ transferMappings = new HashSet<>();
+ transferMappings.add(transferMapping);
+ }
+ transferMapping.setSource(optionalSource.get());
+
optionalSource.get().setSourceTransferMapping(transferMappings);
+ }
- if (optionalDst.isPresent()) {
- transferMapping.setDestination(optionalDst.get());
+ if (optionalDst.isPresent()) {
+
Set<org.apache.airavata.drms.api.persistance.model.TransferMapping>
transferMappings =
+ optionalDst.get().getDestinationTransferMapping();
+ if (transferMappings != null){
+ transferMappings.add(transferMapping);
+ }else{
+ transferMappings = new HashSet<>();
+ transferMappings.add(transferMapping);
}
+ transferMapping.setDestination(optionalSource.get());
+
optionalDst.get().setDestinationTransferMapping(transferMappings);
+ }
- transferMapping.setScope(scope.name());
- transferMapping.setOwnerId(authenticatedUser.getUsername());
+ transferMapping.setScope(scope.name());
+ transferMapping.setOwnerId(authenticatedUser.getUsername());
- transferMappingRepository.save(transferMapping);
+ transferMappingRepository.save(transferMapping);
- CreateTransferMappingResponse createTransferMappingResponse =
CreateTransferMappingResponse
- .newBuilder()
- .setTransferMapping(request.getTransferMapping())
- .build();
- responseObserver.onNext(createTransferMappingResponse);
- responseObserver.onCompleted();
- return;
+ CreateTransferMappingResponse createTransferMappingResponse =
CreateTransferMappingResponse
+ .newBuilder()
+ .setTransferMapping(request.getTransferMapping())
+ .build();
+ responseObserver.onNext(createTransferMappingResponse);
+ responseObserver.onCompleted();
- }
- //TODO:Error
} catch (Exception e) {
String msg = "Errored while creating transfer mapping; Message:" +
e.getMessage();