From 3c08abe796f42da2eb244f89abf881406b04a991 Mon Sep 17 00:00:00 2001
From: kfilippopolitis <kostasfilippop@gmail.com>
Date: Thu, 3 Dec 2020 04:51:33 -0800
Subject: [PATCH] Added badrequest in case  algorithm type is null and fix the
 convertion of the json that exareme provides to a list of results.

---
 src/main/java/eu/hbp/mip/services/ExperimentService.java | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/main/java/eu/hbp/mip/services/ExperimentService.java b/src/main/java/eu/hbp/mip/services/ExperimentService.java
index a79db1016..eb4001665 100644
--- a/src/main/java/eu/hbp/mip/services/ExperimentService.java
+++ b/src/main/java/eu/hbp/mip/services/ExperimentService.java
@@ -169,6 +169,11 @@ public class ExperimentService {
         // Get the type and name of algorithm
         String algorithmType = experimentDTO.getAlgorithmDetails().getType();
 
+        if(algorithmType == null){
+            Logging.LogUserAction(user.getUsername(), endpoint, "Please provide algorithm type.");
+            throw new BadRequestException("Please provide algorithm type.");
+        }
+
         algorithmParametersLogging(experimentDTO, endpoint);
 
         if (authenticationIsEnabled) {
@@ -577,7 +582,8 @@ public class ExperimentService {
         Logging.LogExperimentAction(experimentDTO.getName(), experimentDTO.getUuid(), "Algorithm finished with code: " + code);
 
         // Results are stored in the experiment object
-        List<ExperimentDTO.ResultDTO> resultDTOS = JsonConverters.convertJsonStringToObject(String.valueOf(results), new ArrayList<ExperimentDTO.ResultDTO>().getClass());
+        ExperimentDTO experimentDTOWithOnlyResult = JsonConverters.convertJsonStringToObject(String.valueOf(results), ExperimentDTO.class);
+        List<ExperimentDTO.ResultDTO> resultDTOS = experimentDTOWithOnlyResult.getResult();
         return new ExaremeResult(code, resultDTOS);
     }
 
-- 
GitLab