From f5a975b2cd5aaf9f8a67d96eef7f3d10336db02b Mon Sep 17 00:00:00 2001
From: Mirco Nasuti <mirco.nasuti@chuv.ch>
Date: Thu, 1 Sep 2016 17:12:18 +0200
Subject: [PATCH] data field in request API response is working

---
 .../java/eu/hbp/mip/controllers/RequestsApi.java     | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/main/java/eu/hbp/mip/controllers/RequestsApi.java b/src/main/java/eu/hbp/mip/controllers/RequestsApi.java
index c8cd4a291..86cb233af 100644
--- a/src/main/java/eu/hbp/mip/controllers/RequestsApi.java
+++ b/src/main/java/eu/hbp/mip/controllers/RequestsApi.java
@@ -54,7 +54,7 @@ public class RequestsApi {
         List<String> variables = new LinkedList<>();
         List<String> groupings = new LinkedList<>();
         List<String> covariables = new LinkedList<>();
-        Map<String, LinkedList<Object>> data = new HashMap<>();
+        Map<String, List<Object>> data = new HashMap<>();
 
         Gson gson = new Gson();
         JsonObject q = gson.fromJson(gson.toJson(query, Query.class), JsonObject.class);
@@ -85,11 +85,19 @@ public class RequestsApi {
 
         for(String varCode : allVars)
         {
+            List<Object> currentVarData = new LinkedList<>();
             String sqlQuery = "SELECT " + varCode + " FROM adni_merge";
             for (Map resultMap : jdbcTemplate.queryForList(sqlQuery))
             {
-                resultMap.get(varCode);
+                String strValue = String.valueOf(resultMap.get(varCode));
+                try {
+                    Double numValue = Double.parseDouble(strValue);
+                    currentVarData.add(numValue);
+                } catch (NumberFormatException e2) {
+                    currentVarData.add(strValue);
+                }
             }
+            data.put(varCode, currentVarData);
         }
 
         dataset.addProperty("code", code);
-- 
GitLab