You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by di...@apache.org on 2021/01/27 18:05:55 UTC
[airavata-mft] branch master updated: Fixing SCP storage loading
issue in file backend
This is an automated email from the ASF dual-hosted git repository.
dimuthuupe pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata-mft.git
The following commit(s) were added to refs/heads/master by this push:
new f1ce313 Fixing SCP storage loading issue in file backend
f1ce313 is described below
commit f1ce313fa11854689aa4f048f7cf07b060e7a9c6
Author: Dimuthu Wannipurage <di...@gmail.com>
AuthorDate: Wed Jan 27 13:05:40 2021 -0500
Fixing SCP storage loading issue in file backend
---
.../backend/file/FileBasedResourceBackend.java | 41 +++++++++++++++-------
1 file changed, 28 insertions(+), 13 deletions(-)
diff --git a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/backend/file/FileBasedResourceBackend.java b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/backend/file/FileBasedResourceBackend.java
index eace41a..d127d6a 100644
--- a/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/backend/file/FileBasedResourceBackend.java
+++ b/services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/backend/file/FileBasedResourceBackend.java
@@ -137,21 +137,36 @@ public class FileBasedResourceBackend implements ResourceBackend {
.map(resource -> {
JSONObject r = (JSONObject) resource;
- SCPResource.Builder builder = SCPResource.newBuilder()
- .setResourceId(r.get("resourceId").toString())
- .setScpStorage(SCPStorage.newBuilder().setStorageId(r.get("storageId").toString()).getDefaultInstanceForType());
+ Optional<SCPStorage> storage = Optional.of(SCPStorage.getDefaultInstance());
+ String storageId = r.get("storageId").toString();
+
+ try {
+ storage = getSCPStorage(SCPStorageGetRequest.newBuilder().setStorageId(storageId).build());
+ } catch (Exception e) {
+ logger.error("Errored while fetching storage with id {}", storageId, e);
+ return null;
+ }
- switch (r.get("resourceMode").toString()) {
- case "FILE":
- FileResource fileResource = FileResource.newBuilder().setResourcePath(r.get("resourcePath").toString()).build();
- builder = builder.setFile(fileResource);
- break;
- case "DIRECTORY":
- DirectoryResource directoryResource = DirectoryResource.newBuilder().setResourcePath(r.get("resourcePath").toString()).build();
- builder = builder.setDirectory(directoryResource);
- break;
+ if (storage.isPresent()) {
+ SCPResource.Builder builder = SCPResource.newBuilder()
+ .setResourceId(r.get("resourceId").toString())
+ .setScpStorage(storage.get());
+
+ switch (r.get("resourceMode").toString()) {
+ case "FILE":
+ FileResource fileResource = FileResource.newBuilder().setResourcePath(r.get("resourcePath").toString()).build();
+ builder = builder.setFile(fileResource);
+ break;
+ case "DIRECTORY":
+ DirectoryResource directoryResource = DirectoryResource.newBuilder().setResourcePath(r.get("resourcePath").toString()).build();
+ builder = builder.setDirectory(directoryResource);
+ break;
+ }
+ return builder.build();
+ } else {
+ logger.error("Coudn't find an storage with id {}", storageId);
+ return null;
}
- return builder.build();
}).collect(Collectors.toList());