From 679b35f21b31265d8380ff41026b48bcc0d47455 Mon Sep 17 00:00:00 2001
From: Mirco Nasuti <mirco.nasuti@chuv.ch>
Date: Wed, 22 Jun 2016 14:04:20 +0200
Subject: [PATCH] Unsupported variables message for Exareme

---
 .../org/hbp/mip/controllers/ExperimentApi.java   | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/hbp/mip/controllers/ExperimentApi.java b/src/main/java/org/hbp/mip/controllers/ExperimentApi.java
index 6f33f8061..868b7ed86 100644
--- a/src/main/java/org/hbp/mip/controllers/ExperimentApi.java
+++ b/src/main/java/org/hbp/mip/controllers/ExperimentApi.java
@@ -224,8 +224,12 @@ public class ExperimentApi {
                     experiment.setResult(results.toString().replace("\0", ""));
                     experiment.setHasError(code >= 400);
                     experiment.setHasServerError(code >= 500);
+
+                    if(!isJSONValid(experiment.getResult()))
+                    {
+                        experiment.setResult("Unsupported variables !");
+                    }
                 } catch (Exception e) {
-                    e.printStackTrace();
                     experiment.setHasError(true);
                     experiment.setHasServerError(true);
                     experiment.setResult(e.getMessage());
@@ -247,6 +251,16 @@ public class ExperimentApi {
         }.start();
     }
 
+    public boolean isJSONValid(String test) {
+        try {
+            new JsonParser().parse(test);
+        } catch (JsonParseException jpe)
+        {
+            return false;
+        }
+        return true;
+    }
+
     private boolean isExaremeAlgo(Experiment experiment)  {
         JsonArray algorithms = new JsonParser().parse(experiment.getAlgorithms()).getAsJsonArray();
         String algoCode = algorithms.get(0).getAsJsonObject().get("code").getAsString();
-- 
GitLab