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