From 0f4d621b2bae872bbcdfbb511e17fc04ea5eeba8 Mon Sep 17 00:00:00 2001
From: ThanKarab <tkarabatsis@hotmail.com>
Date: Thu, 9 Apr 2020 16:44:43 +0300
Subject: [PATCH] Fix for similar datasets.

---
 src/main/java/eu/hbp/mip/controllers/ExperimentApi.java | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java b/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java
index 0a7104e9f..f8ca92efb 100644
--- a/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java
+++ b/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java
@@ -110,8 +110,9 @@ public class ExperimentApi {
         UserActionLogging.LogUserAction(userInfo.getUser().getUsername(), "Run algorithm", "Running the algorithm...");
 
         // --- Validating proper access rights on the datasets  ---
-        String userRoles = authentication.getAuthorities().toString();
-        UserActionLogging.LogUserAction(userInfo.getUser().getUsername(), "Authorities", userRoles);
+        List<String> userRoles = Arrays.asList(authentication.getAuthorities().toString().toLowerCase()
+                .replaceAll("[\\s+\\]\\[]","").split(","));
+        UserActionLogging.LogUserAction(userInfo.getUser().getUsername(), "Authorities", userRoles.toString());
 
         // Getting the dataset from the experiment parameters
         String experimentDatasets = null;
@@ -131,7 +132,7 @@ public class ExperimentApi {
 
         for (String dataset : experimentDatasets.split(",")) {
             String datasetRole = "role_" + dataset;
-            if (!userRoles.toLowerCase().contains(datasetRole.toLowerCase())) {
+            if (!userRoles.contains(datasetRole.toLowerCase())) {
                 UserActionLogging.LogUserAction(userInfo.getUser().getUsername(), "Run algorithm",
                         "You are not allowed to use dataset: " + dataset);
                 return ResponseEntity.status(403).body("You are not allowed to use dataset: " + dataset);
-- 
GitLab