diff --git a/src/main/java/eu/hbp/mip/configuration/PersistenceConfiguration.java b/src/main/java/eu/hbp/mip/configuration/PersistenceConfiguration.java index 55ba113936fb86193f5086b9472300055d7bcfd5..6c46b38284e4c25b83561336755053b686c291f1 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 315051856cc91606b0e234ac52cc982371783e1f..373c154f4eeb3d218ada3c67379f2d20a6a0fe2f 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; + } + }