From da06c41065ea3531efcb46597bec007a1d068f85 Mon Sep 17 00:00:00 2001
From: Mirco Nasuti <mirco.nasuti@chuv.ch>
Date: Wed, 7 Sep 2016 14:51:19 +0200
Subject: [PATCH] rename datasources

---
 docker/runner/README.md                       | 16 ++++++-------
 docker/runner/config/application.tmpl         | 16 ++++++-------
 docker/runner/run.sh                          |  4 ++--
 .../PersistenceConfiguration.java             | 24 +++++++++----------
 .../eu/hbp/mip/controllers/RequestsApi.java   |  6 ++---
 .../java/eu/hbp/mip/controllers/StatsApi.java |  8 +++----
 tests/pre-test-run.sh                         |  2 +-
 7 files changed, 38 insertions(+), 38 deletions(-)

diff --git a/docker/runner/README.md b/docker/runner/README.md
index efac75f50..ce6728749 100644
--- a/docker/runner/README.md
+++ b/docker/runner/README.md
@@ -9,20 +9,20 @@ You need to configure a few things using some environment variables.
 
 Environment variables:
 
-* DB_URL: JDBC URL to connect to the portal database, for example "jdbc:postgresql://db:5432/portal"
-* DB_SERVER: optional, address of the portal database server, for example DB_SERVER="db:5432". Used to wait for the database to be up and running.
-* DB_USER: User to use when connecting to the portal database
-* DB_PASSWORD: Password to use when connecting to the portal database
+* PORTAL_DB_URL: JDBC URL to connect to the portal database, for example "jdbc:postgresql://db:5432/portal"
+* PORTAL_DB_SERVER: optional, address of the portal database server, for example DB_SERVER="db:5432". Used to wait for the database to be up and running.
+* PORTAL_DB_USER: User to use when connecting to the portal database
+* PORTAL_DB_PASSWORD: Password to use when connecting to the portal database
 
 * META_DB_URL: JDBC URL to connect to the metadata database
 * META_DB_SERVER: optional, address of the metadata database server. Used to wait for the database to be up and running.
 * META_DB_USER: User to use when connecting to the metadata database
 * META_DB_PASSWORD: Password to use when connecting to the metadata database
 
-* ADNI_DB_URL: JDBC URL to connect to the adni database
-* ADNI_DB_SERVER: optional, address of the adni database server. Used to wait for the database to be up and running.
-* ADNI_DB_USER: User to use when connecting to the adni database
-* ADNI_DB_PASSWORD: Password to use when connecting to the adni database
+* SCIENCE_DB_URL: JDBC URL to connect to the science database
+* SCIENCE_DB_SERVER: optional, address of the science database server. Used to wait for the database to be up and running.
+* SCIENCE_DB_USER: User to use when connecting to the science database
+* SCIENCE_DB_PASSWORD: Password to use when connecting to the science database
 
 * CONTEXT_PATH:  context path appended to all services running in this container. Default to "/services"
 
diff --git a/docker/runner/config/application.tmpl b/docker/runner/config/application.tmpl
index 84ded7fc3..f47a73a31 100644
--- a/docker/runner/config/application.tmpl
+++ b/docker/runner/config/application.tmpl
@@ -2,20 +2,20 @@
 
 # See http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
 spring:
-  datasource:
-    url: {{ default .Env.DB_URL "jdbc:postgresql://172.22.0.1:5432/portal" }}
-    username: {{ default .Env.DB_USER "portal" }}
-    password: {{ .Env.DB_PASSWORD }}
+  portalDatasource:
+    url: {{ default .Env.PORTAL_DB_URL "jdbc:postgresql://172.22.0.1:5432/portal" }}
+    username: {{ default .Env.PORTAL_DB_USER "portal" }}
+    password: {{ .Env.PORTAL_DB_PASSWORD }}
     driver-class-name: org.postgresql.Driver
   metaDatasource:
     url: {{ default .Env.META_DB_URL "jdbc:postgresql://172.22.0.1:5432/portal" }}
     username: {{ default .Env.META_DB_USER "portal" }}
     password: {{ .Env.META_DB_PASSWORD }}
     driver-class-name: org.postgresql.Driver
-  adniDatasource:
-      url: {{ default .Env.ADNI_DB_URL "jdbc:postgresql://172.22.0.1:5433/adni" }}
-      username: {{ default .Env.ADNI_DB_USER "adni" }}
-      password: {{ .Env.ADNI_DB_PASSWORD }}
+  scienceDatasource:
+      url: {{ default .Env.SCIENCE_DB_URL "jdbc:postgresql://172.22.0.1:5433/science" }}
+      username: {{ default .Env.SCIENCE_DB_USER "science" }}
+      password: {{ .Env.SCIENCE_DB_PASSWORD }}
       driver-class-name: org.postgresql.Driver
   jpa:
     hibernate:
diff --git a/docker/runner/run.sh b/docker/runner/run.sh
index 547145dda..49d26d0b2 100755
--- a/docker/runner/run.sh
+++ b/docker/runner/run.sh
@@ -7,7 +7,7 @@ fi
 if [ ! -z "$META_DB_SERVER" ]; then
   OPTS="$OPTS -wait tcp://$META_DB_SERVER -timeout 60s"
 fi
-if [ ! -z "$ADNI_DB_SERVER" ]; then
-  OPTS="$OPTS -wait tcp://$ADNI_DB_SERVER -timeout 60s"
+if [ ! -z "$SCIENCE_DB_SERVER" ]; then
+  OPTS="$OPTS -wait tcp://$SCIENCE_DB_SERVER -timeout 60s"
 fi
 dockerize $OPTS java -jar backend.jar
diff --git a/src/main/java/eu/hbp/mip/configuration/PersistenceConfiguration.java b/src/main/java/eu/hbp/mip/configuration/PersistenceConfiguration.java
index 03edada1f..475fd93d3 100644
--- a/src/main/java/eu/hbp/mip/configuration/PersistenceConfiguration.java
+++ b/src/main/java/eu/hbp/mip/configuration/PersistenceConfiguration.java
@@ -23,14 +23,14 @@ import javax.sql.DataSource;
  */
 
 @Configuration
-@EnableJpaRepositories(value = "eu.hbp.mip.repositories", entityManagerFactoryRef = "entityManagerFactory")
+@EnableJpaRepositories(value = "eu.hbp.mip.repositories")
 @EntityScan(basePackages = "eu.hbp.mip.model")
 public class PersistenceConfiguration {
 
     @Primary
-    @Bean(name = "datasource")
-    @ConfigurationProperties(prefix="spring.datasource")
-    public DataSource dataSource() {
+    @Bean(name = "portalDatasource")
+    @ConfigurationProperties(prefix="spring.portalDatasource")
+    public DataSource portalDataSource() {
         return DataSourceBuilder.create().build();
     }
 
@@ -40,9 +40,9 @@ public class PersistenceConfiguration {
         return DataSourceBuilder.create().build();
     }
 
-    @Bean(name = "adniDatasource")
-    @ConfigurationProperties(prefix="spring.adniDatasource")
-    public DataSource adniDataSource() {
+    @Bean(name = "scienceDatasource")
+    @ConfigurationProperties(prefix="spring.scienceDatasource")
+    public DataSource scienceDataSource() {
         return DataSourceBuilder.create().build();
     }
 
@@ -55,16 +55,16 @@ public class PersistenceConfiguration {
 
     @Bean
     @Autowired
-    @Qualifier("adniJdbcTemplate")
-    public JdbcTemplate adniJdbcTemplate() {
-        return new JdbcTemplate(adniDataSource());
+    @Qualifier("scienceJdbcTemplate")
+    public JdbcTemplate scienceJdbcTemplate() {
+        return new JdbcTemplate(scienceDataSource());
     }
 
     @Bean(name = "entityManagerFactory")
     @DependsOn("flyway")
     public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
         LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
-        em.setDataSource(dataSource());
+        em.setDataSource(portalDataSource());
         JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
         em.setJpaVendorAdapter(vendorAdapter);
         return em;
@@ -74,7 +74,7 @@ public class PersistenceConfiguration {
     public Flyway migrations() {
         Flyway flyway = new Flyway();
         flyway.setBaselineOnMigrate(true);
-        flyway.setDataSource(dataSource());
+        flyway.setDataSource(portalDataSource());
         return flyway;
     }
 
diff --git a/src/main/java/eu/hbp/mip/controllers/RequestsApi.java b/src/main/java/eu/hbp/mip/controllers/RequestsApi.java
index c47482e73..fd88fde95 100644
--- a/src/main/java/eu/hbp/mip/controllers/RequestsApi.java
+++ b/src/main/java/eu/hbp/mip/controllers/RequestsApi.java
@@ -35,8 +35,8 @@ public class RequestsApi {
     private static final Logger LOGGER = Logger.getLogger(RequestsApi.class);
 
     @Autowired
-    @Qualifier("adniJdbcTemplate")
-    private JdbcTemplate adniJdbcTemplate;
+    @Qualifier("scienceJdbcTemplate")
+    private JdbcTemplate scienceJdbcTemplate;
 
     @ApiOperation(value = "Post a request", response = Dataset.class)
     @ApiResponses(value = { @ApiResponse(code = 200, message = "Success") })
@@ -87,7 +87,7 @@ public class RequestsApi {
         {
             List<Object> currentVarData = new LinkedList<>();
             String sqlQuery = "SELECT " + varCode + " FROM adni_merge";
-            for (Map resultMap : adniJdbcTemplate.queryForList(sqlQuery))
+            for (Map resultMap : scienceJdbcTemplate.queryForList(sqlQuery))
             {
                 String strValue = String.valueOf(resultMap.get(varCode));
                 try {
diff --git a/src/main/java/eu/hbp/mip/controllers/StatsApi.java b/src/main/java/eu/hbp/mip/controllers/StatsApi.java
index af57626da..6bbf648f1 100644
--- a/src/main/java/eu/hbp/mip/controllers/StatsApi.java
+++ b/src/main/java/eu/hbp/mip/controllers/StatsApi.java
@@ -36,8 +36,8 @@ public class StatsApi {
     ArticleRepository articleRepository;
 
     @Autowired
-    @Qualifier("adniJdbcTemplate")
-    private JdbcTemplate adniJdbcTemplate;
+    @Qualifier("scienceJdbcTemplate")
+    private JdbcTemplate scienceJdbcTemplate;
 
     @ApiOperation(value = "Get general statistics", response = GeneralStats.class)
     @ApiResponses(value = {@ApiResponse(code = 200, message = "Found"), @ApiResponse(code = 404, message = "Not found") })
@@ -56,9 +56,9 @@ public class StatsApi {
 
     private Long countVariables()
     {
-        Long count = adniJdbcTemplate.queryForObject(
+        Long count = scienceJdbcTemplate.queryForObject(
                 "SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS " +
-                        "WHERE table_schema = 'public' AND table_name = 'adni_merge'", Long.class);  // TODO: compute from adni_merge DB
+                        "WHERE table_schema = 'public' AND table_name = 'adni_merge'", Long.class);
         return count;
     }
 
diff --git a/tests/pre-test-run.sh b/tests/pre-test-run.sh
index 04bed8a70..b71c4bb82 100755
--- a/tests/pre-test-run.sh
+++ b/tests/pre-test-run.sh
@@ -26,7 +26,7 @@ GATEWAY_IP=$(docker inspect portal-db-test | grep \"Gateway\":\ \" | sed 's/.*Ga
 
 docker run --name portal-backend-test -p 8080:8080 \
 -e "AUTHENTICATION=0" \
--e "DB_URL=jdbc:postgresql://$GATEWAY_IP:5433/postgres" \
+-e "PORTAL_DB_URL=jdbc:postgresql://$GATEWAY_IP:5433/postgres" \
 -e "META_DB_URL=jdbc:postgresql://$GATEWAY_IP:5432/postgres" \
 -d hbpmip/portal-backend
 
-- 
GitLab