diff --git a/docker/runner/README.md b/docker/runner/README.md index efac75f501877b65630ce3f24dd2a4bcb1b3356e..ce672874905717185464f982b737cb3b2c98d764 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 84ded7fc3dd336444c4db55ad7a1de4280825603..f47a73a31fd43bb5e7fe71cfe5390588109328bf 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 547145dda7a12ece5118fb95875f46f1ec1393e5..49d26d0b261019cbd3974e0b711d648ddfb570bf 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 03edada1f7774497a9b76050b2c2c2c8667fa10c..475fd93d377ae52242194b3a3639f8bd29a61585 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 c47482e736c63ad4ff38e1a50926dae032feb283..fd88fde95ac94cb6721b424083572297de337496 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 af57626da1f6651d151fa70d02c3872271cff6f2..6bbf648f15589b12aa708550bb15f20f7416dd0a 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 04bed8a70e174316f22e84df7e7d24ab777bb763..b71c4bb82f71f995bac8ac4ec1f63a4c3e15bac1 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