From 0eb6d557d33ce83f382a338a6a973b563017e8ed Mon Sep 17 00:00:00 2001
From: Mirco Nasuti <mirco.nasuti@chuv.ch>
Date: Wed, 31 Aug 2016 14:46:27 +0200
Subject: [PATCH] second datasource has to be fixed but almost done

---
 .../configuration/PersistenceConfiguration.java  |  2 +-
 .../java/eu/hbp/mip/controllers/StatsApi.java    | 16 +++++++++++++++-
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/src/main/java/eu/hbp/mip/configuration/PersistenceConfiguration.java b/src/main/java/eu/hbp/mip/configuration/PersistenceConfiguration.java
index 55ba11393..6c46b3828 100644
--- a/src/main/java/eu/hbp/mip/configuration/PersistenceConfiguration.java
+++ b/src/main/java/eu/hbp/mip/configuration/PersistenceConfiguration.java
@@ -26,7 +26,7 @@ public class PersistenceConfiguration {
     DataSource dataSource;
 
     @Autowired
-    DataSource variablesDatasource;
+    DataSource variablesDatasource;  //  TODO: Fix this problem
 
     @Bean
     @DependsOn("flyway")
diff --git a/src/main/java/eu/hbp/mip/controllers/StatsApi.java b/src/main/java/eu/hbp/mip/controllers/StatsApi.java
index 315051856..373c154f4 100644
--- a/src/main/java/eu/hbp/mip/controllers/StatsApi.java
+++ b/src/main/java/eu/hbp/mip/controllers/StatsApi.java
@@ -14,10 +14,13 @@ import io.swagger.annotations.ApiResponses;
 import org.apache.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
+import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.sql.DataSource;
+
 import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;
 
 @RestController
@@ -33,6 +36,9 @@ public class StatsApi {
     @Autowired
     ArticleRepository articleRepository;
 
+    @Autowired
+    DataSource variablesDatasource;
+
 
     @ApiOperation(value = "Get general statistics", response = GeneralStats.class)
     @ApiResponses(value = {@ApiResponse(code = 200, message = "Found"), @ApiResponse(code = 404, message = "Not found") })
@@ -44,9 +50,17 @@ public class StatsApi {
 
         stats.setUsers(userRepository.count());
         stats.setArticles(articleRepository.count());
-        stats.setVariables(0L);  // TODO: compute from adni_merge DB
+        stats.setVariables(countVariables());
 
         return ResponseEntity.ok(stats);
     }
 
+    private Long countVariables()
+    {
+        JdbcTemplate db = new JdbcTemplate(variablesDatasource);
+        LOGGER.warn("TEST DB : " + db.queryForObject("select count(*) from information_schema.tables", Long.class));  // This is a test
+        Long count = db.queryForObject("select count(*) from adni_merge", Long.class);  // TODO: compute from adni_merge DB
+        return count;
+    }
+
 }
-- 
GitLab