From aac7c11f09b79b04bf3f0fadc468d253c6ffb064 Mon Sep 17 00:00:00 2001
From: Manuel Spuhler <manuel.spuhler@chuv.ch>
Date: Mon, 4 Nov 2019 15:50:24 +0100
Subject: [PATCH] Added resultsdetails method for Workflow error handling

---
 .../eu/hbp/mip/controllers/ExperimentApi.java | 21 +++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java b/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java
index 40d12eab8..9f4fee480 100644
--- a/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java
+++ b/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java
@@ -230,6 +230,27 @@ public class ExperimentApi {
         }
     }
 
+    @ApiOperation(value = "get workflow result details", response = String.class)
+    @RequestMapping(value = "/workflow/resultsdetails/{historyId}/content/{resultId}", method = RequestMethod.GET)
+    public ResponseEntity<String> getWorkflowResultsDetails(
+            @ApiParam(value = "historyId", required = true) @PathVariable("historyId") String historyId,
+            @ApiParam(value = "resultId", required = true) @PathVariable("resultId") String resultId) {
+        LOGGER.info("Get a workflow result content");
+
+        String url = workflowUrl + "/getWorkflowResultsDetails/" + historyId + "/contents/" + resultId;
+        try {
+            StringBuilder response = new StringBuilder();
+            User user = userInfo.getUser();
+            String token = JWTUtil.getJWT(jwtSecret, user.getEmail());
+            HTTPUtil.sendAuthorizedHTTP(url, "", response, "GET", "Bearer " + token);
+            JsonElement element = new JsonParser().parse(response.toString());
+
+            return ResponseEntity.ok(gson.toJson(element));
+        } catch (IOException e) {
+            return ResponseEntity.status(500).body(e.getMessage());
+        }
+    }
+
     @ApiOperation(value = "Mark an experiment as viewed", response = Experiment.class)
     @RequestMapping(value = "/{uuid}/markAsViewed", method = RequestMethod.GET)
     public ResponseEntity<String> markExperimentAsViewed(
-- 
GitLab