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

commit 530485b83af87088454aa6cf6035a45cde841ce4
Author: Akshay <aksrajvan...@gmail.com>
AuthorDate: Thu Apr 23 17:15:25 2020 -0400

    Committing the implementation of getDropboxSecret in FileBasedSecretBackend 
file.
---
 .../backend/file/FileBasedSecretBackend.java       | 23 ++++++++++++++++++++--
 1 file changed, 21 insertions(+), 2 deletions(-)

diff --git 
a/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/backend/file/FileBasedSecretBackend.java
 
b/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/backend/file/FileBasedSecretBackend.java
index 3e1d6fa..bcd47c0 100644
--- 
a/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/backend/file/FileBasedSecretBackend.java
+++ 
b/services/secret-service/server/src/main/java/org/apache/airavata/mft/secret/server/backend/file/FileBasedSecretBackend.java
@@ -255,8 +255,27 @@ public class FileBasedSecretBackend implements 
SecretBackend {
 
     @Override
     public Optional<DropboxSecret> getDropboxSecret(DropboxSecretGetRequest 
request) throws Exception {
-        throw new UnsupportedOperationException("Operation is not supported in 
backend");
-    }
+        JSONParser jsonParser = new JSONParser();
+        InputStream inputStream = 
FileBasedSecretBackend.class.getClassLoader().getResourceAsStream(secretFile);
+
+        try (InputStreamReader reader = new InputStreamReader(inputStream)) {
+            Object obj = jsonParser.parse(reader);
+            JSONArray resourceList = (JSONArray) obj;
+
+            List<DropboxSecret> dbxSecrets = (List<DropboxSecret>) 
resourceList.stream()
+                    .filter(resource -> "DROPBOX".equals(((JSONObject) 
resource).get("type").toString()))
+                    .map(resource -> {
+                        JSONObject r = (JSONObject) resource;
+
+                        DropboxSecret dbxSecret = DropboxSecret.newBuilder()
+                                .setSecretId(r.get("secretId").toString())
+                                
.setAccessToken(r.get("accessToken").toString()).build();
+                        return dbxSecret;
+
+                    }).collect(Collectors.toList());
+            return dbxSecrets.stream().filter(r -> 
request.getSecretId().equals(r.getSecretId())).findFirst();
+        }
+        }
 
     @Override
     public DropboxSecret createDropboxSecret(DropboxSecretCreateRequest 
request) throws Exception {

Reply via email to