diff --git a/README.md b/README.md
index 764da5602..d2df75e75 100644
--- a/README.md
+++ b/README.md
@@ -12,10 +12,10 @@ This project is licensed under the terms of the MPL 2 license. See the [LICENSE]
## Repositories
* Android SDK & Calibration app: [dp3t-sdk-android](https://github.com/DP-3T/dp3t-sdk-android)
* iOS SDK & Calibration app: [dp3t-sdk-ios](https://github.com/DP-3T/dp3t-sdk-ios)
-* Android Demo App: [dp3t-app-android](https://github.com/DP-3T/dp3t-app-android)
-* iOS Demo App: [dp3t-app-ios](https://github.com/DP-3T/dp3t-app-ios)
* Backend SDK: [dp3t-sdk-backend](https://github.com/DP-3T/dp3t-sdk-backend)
+For an example project using the SDK look at the Swiss contact tracing app [SwissCovid](https://github.com/SwissCovid).
+
## DP3T
The Decentralised Privacy-Preserving Proximity Tracing (DP3T) project is an open protocol for COVID-19 proximity tracing using Bluetooth Low Energy functionality on mobile devices, which ensures that personal data and computation stay entirely on an individual's phone. It was produced by a core team of over 25 scientists and academic researchers from across Europe. It has also been scrutinized and improved by the wider community.
diff --git a/dpppt-backend-sdk/dpppt-backend-sdk-data/pom.xml b/dpppt-backend-sdk/dpppt-backend-sdk-data/pom.xml
index 9c8dd5eaa..b2ab8b90f 100644
--- a/dpppt-backend-sdk/dpppt-backend-sdk-data/pom.xml
+++ b/dpppt-backend-sdk/dpppt-backend-sdk-data/pom.xml
@@ -15,7 +15,7 @@
org.dpppt
dpppt-backend-sdk
- 2.2.0-SNAPSHOT
+ 2.2.1-SNAPSHOT
dpppt-backend-sdk-data
DP3T Backend SDK Data
diff --git a/dpppt-backend-sdk/dpppt-backend-sdk-interops/pom.xml b/dpppt-backend-sdk/dpppt-backend-sdk-interops/pom.xml
index cf933d533..bd79ed0c7 100644
--- a/dpppt-backend-sdk/dpppt-backend-sdk-interops/pom.xml
+++ b/dpppt-backend-sdk/dpppt-backend-sdk-interops/pom.xml
@@ -11,7 +11,7 @@
org.dpppt
dpppt-backend-sdk
- 2.2.0-SNAPSHOT
+ 2.2.1-SNAPSHOT
dpppt-backend-sdk-interops
DP3T Backend SDK Interops Service
@@ -71,6 +71,12 @@
spring-security-web
+
+ org.springframework.boot
+ spring-boot-starter-cloud-connectors
+ ${spring-cloud-connectors-version}
+
+
org.springframework.boot
diff --git a/dpppt-backend-sdk/dpppt-backend-sdk-interops/src/main/java/org/dpppt/backend/sdk/interops/Application.java b/dpppt-backend-sdk/dpppt-backend-sdk-interops/src/main/java/org/dpppt/backend/sdk/interops/Application.java
index ce0772c5b..50059be48 100644
--- a/dpppt-backend-sdk/dpppt-backend-sdk-interops/src/main/java/org/dpppt/backend/sdk/interops/Application.java
+++ b/dpppt-backend-sdk/dpppt-backend-sdk-interops/src/main/java/org/dpppt/backend/sdk/interops/Application.java
@@ -21,7 +21,12 @@
@Configuration
@ConfigurationPropertiesScan("org.dpppt.backend.sdk.interops.model")
-@ComponentScan(basePackages = {"org.dpppt.backend.sdk.interops.config"})
+@ComponentScan(
+ basePackages = {
+ "org.dpppt.backend.sdk.interops.config",
+ "ch.admin.bag.covidcertificate.log",
+ "ch.admin.bag.covidcertificate.rest"
+ })
@EnableAutoConfiguration(
exclude = {SecurityAutoConfiguration.class, ManagementWebSecurityAutoConfiguration.class})
@EnableWebMvc
diff --git a/dpppt-backend-sdk/dpppt-backend-sdk-interops/src/main/java/org/dpppt/backend/sdk/interops/config/WSCloudBaseConfig.java b/dpppt-backend-sdk/dpppt-backend-sdk-interops/src/main/java/org/dpppt/backend/sdk/interops/config/WSCloudBaseConfig.java
index 69f3b6474..4e813de7b 100644
--- a/dpppt-backend-sdk/dpppt-backend-sdk-interops/src/main/java/org/dpppt/backend/sdk/interops/config/WSCloudBaseConfig.java
+++ b/dpppt-backend-sdk/dpppt-backend-sdk-interops/src/main/java/org/dpppt/backend/sdk/interops/config/WSCloudBaseConfig.java
@@ -10,21 +10,40 @@
package org.dpppt.backend.sdk.interops.config;
+import java.util.Map;
import javax.sql.DataSource;
import org.flywaydb.core.Flyway;
-import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.cloud.CloudFactory;
+import org.springframework.cloud.service.PooledServiceConnectorConfig.PoolConfig;
+import org.springframework.cloud.service.relational.DataSourceConfig;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Lazy;
@Configuration
public abstract class WSCloudBaseConfig extends WSBaseConfig {
- @Autowired @Lazy private DataSource dataSource;
+ @Value("${datasource.maximumPoolSize:5}")
+ int dataSourceMaximumPoolSize;
+ @Value("${datasource.connectionTimeout:30000}")
+ int dataSourceConnectionTimeout;
+
+ @Value("${datasource.leakDetectionThreshold:0}")
+ int dataSourceLeakDetectionThreshold;
+
+ @Bean
@Override
public DataSource dataSource() {
- return dataSource;
+ PoolConfig poolConfig = new PoolConfig(dataSourceMaximumPoolSize, dataSourceConnectionTimeout);
+ DataSourceConfig dbConfig =
+ new DataSourceConfig(
+ poolConfig,
+ null,
+ null,
+ Map.of("leakDetectionThreshold", dataSourceLeakDetectionThreshold));
+ CloudFactory factory = new CloudFactory();
+ return factory.getCloud().getSingletonServiceConnector(DataSource.class, dbConfig);
}
@Bean
diff --git a/dpppt-backend-sdk/dpppt-backend-sdk-interops/src/main/resources/application.properties b/dpppt-backend-sdk/dpppt-backend-sdk-interops/src/main/resources/application.properties
index b8dd8b742..2229c42f1 100644
--- a/dpppt-backend-sdk/dpppt-backend-sdk-interops/src/main/resources/application.properties
+++ b/dpppt-backend-sdk/dpppt-backend-sdk-interops/src/main/resources/application.properties
@@ -7,7 +7,8 @@
#
# SPDX-License-Identifier: MPL-2.0
#
-spring.profiles.active=prod
+spring.profiles.active=prod,local
+spring.application.name=dp3t-insterops-sync-service
management.endpoints.enabled-by-default=false
server.error.whitelabel.enabled=true
#-------------------------------------------------------------------------------
diff --git a/dpppt-backend-sdk/dpppt-backend-sdk-interops/src/main/resources/local-logback.xml b/dpppt-backend-sdk/dpppt-backend-sdk-interops/src/main/resources/local-logback.xml
new file mode 100644
index 000000000..21bc06627
--- /dev/null
+++ b/dpppt-backend-sdk/dpppt-backend-sdk-interops/src/main/resources/local-logback.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEBUG
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf8
+
+
+
+
+
+ ${LOG_FILE}.log
+
+ ${LOG_FILE}.%d{yyyy-MM-dd}.gz
+ 7
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf8
+
+
+ 512KB
+
+
+
+
+
+
+
+
+
diff --git a/dpppt-backend-sdk/dpppt-backend-sdk-interops/src/main/resources/logback.xml b/dpppt-backend-sdk/dpppt-backend-sdk-interops/src/main/resources/logback.xml
deleted file mode 100644
index 954d99a75..000000000
--- a/dpppt-backend-sdk/dpppt-backend-sdk-interops/src/main/resources/logback.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
-
-
-
-
- %d %p [%c] - <%m>%n
-
-
-
-
- dp3t-interops.log
-
- %d{yyyy-MM-dd} | %d{HH:mm:ss.SSS} | %thread | %5p | %logger{25} | %m%n
-
-
- 3
- dp3t-ws.log.%i
-
-
- 512KB
-
-
-
-
-
-
-
-
-
-
diff --git a/dpppt-backend-sdk/dpppt-backend-sdk-model/pom.xml b/dpppt-backend-sdk/dpppt-backend-sdk-model/pom.xml
index aa82e52e1..eca2d2636 100644
--- a/dpppt-backend-sdk/dpppt-backend-sdk-model/pom.xml
+++ b/dpppt-backend-sdk/dpppt-backend-sdk-model/pom.xml
@@ -15,7 +15,7 @@
org.dpppt
dpppt-backend-sdk
- 2.2.0-SNAPSHOT
+ 2.2.1-SNAPSHOT
dpppt-backend-sdk-model
DP3T Backend SDK Model
diff --git a/dpppt-backend-sdk/dpppt-backend-sdk-report/pom.xml b/dpppt-backend-sdk/dpppt-backend-sdk-report/pom.xml
index d3723a78b..d5b480834 100644
--- a/dpppt-backend-sdk/dpppt-backend-sdk-report/pom.xml
+++ b/dpppt-backend-sdk/dpppt-backend-sdk-report/pom.xml
@@ -15,7 +15,7 @@
org.dpppt
dpppt-backend-sdk
- 2.2.0-SNAPSHOT
+ 2.2.1-SNAPSHOT
dpppt-backend-sdk-report
DP3T Backend SDK Report
@@ -42,7 +42,7 @@
org.dpppt
dpppt-backend-sdk-ws
- 2.2.0-SNAPSHOT
+ 2.2.1-SNAPSHOT
diff --git a/dpppt-backend-sdk/dpppt-backend-sdk-ws/pom.xml b/dpppt-backend-sdk/dpppt-backend-sdk-ws/pom.xml
index 576be64de..8944e521c 100644
--- a/dpppt-backend-sdk/dpppt-backend-sdk-ws/pom.xml
+++ b/dpppt-backend-sdk/dpppt-backend-sdk-ws/pom.xml
@@ -11,7 +11,7 @@
org.dpppt
dpppt-backend-sdk
- 2.2.0-SNAPSHOT
+ 2.2.1-SNAPSHOT
dpppt-backend-sdk-ws
DP3T Backend SDK WS
@@ -35,7 +35,7 @@
org.springframework.boot
spring-boot-starter-cloud-connectors
- 2.0.7.RELEASE
+ ${spring-cloud-connectors-version}
diff --git a/dpppt-backend-sdk/dpppt-backend-sdk-ws/src/main/java/org/dpppt/backend/sdk/ws/Application.java b/dpppt-backend-sdk/dpppt-backend-sdk-ws/src/main/java/org/dpppt/backend/sdk/ws/Application.java
index d2dcb6f77..2e1ecf4c9 100644
--- a/dpppt-backend-sdk/dpppt-backend-sdk-ws/src/main/java/org/dpppt/backend/sdk/ws/Application.java
+++ b/dpppt-backend-sdk/dpppt-backend-sdk-ws/src/main/java/org/dpppt/backend/sdk/ws/Application.java
@@ -19,7 +19,12 @@
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
@Configuration
-@ComponentScan(basePackages = {"org.dpppt.backend.sdk.ws.config"})
+@ComponentScan(
+ basePackages = {
+ "org.dpppt.backend.sdk.ws.config",
+ "ch.admin.bag.covidcertificate.log",
+ "ch.admin.bag.covidcertificate.rest"
+ })
@EnableAutoConfiguration(
exclude = {SecurityAutoConfiguration.class, ManagementWebSecurityAutoConfiguration.class})
@EnableWebMvc
diff --git a/dpppt-backend-sdk/dpppt-backend-sdk-ws/src/main/resources/application.properties b/dpppt-backend-sdk/dpppt-backend-sdk-ws/src/main/resources/application.properties
index 8cace86ff..d4ab8631c 100644
--- a/dpppt-backend-sdk/dpppt-backend-sdk-ws/src/main/resources/application.properties
+++ b/dpppt-backend-sdk/dpppt-backend-sdk-ws/src/main/resources/application.properties
@@ -8,7 +8,8 @@
# SPDX-License-Identifier: MPL-2.0
#
-spring.profiles.active=prod
+spring.profiles.active=prod,local
+spring.application.name=dp3t-backend-service
management.endpoints.enabled-by-default=false
server.error.whitelabel.enabled=true
#-------------------------------------------------------------------------------
diff --git a/dpppt-backend-sdk/dpppt-backend-sdk-ws/src/main/resources/local-logback.xml b/dpppt-backend-sdk/dpppt-backend-sdk-ws/src/main/resources/local-logback.xml
new file mode 100644
index 000000000..9572475e1
--- /dev/null
+++ b/dpppt-backend-sdk/dpppt-backend-sdk-ws/src/main/resources/local-logback.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DEBUG
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf8
+
+
+
+
+
+ ${LOG_FILE}.log
+
+ ${LOG_FILE}.%d{yyyy-MM-dd}.gz
+ 7
+
+
+ ${CONSOLE_LOG_PATTERN}
+ utf8
+
+
+ 512KB
+
+
+
+
+
+
+
+
+
diff --git a/dpppt-backend-sdk/dpppt-backend-sdk-ws/src/main/resources/logback.xml b/dpppt-backend-sdk/dpppt-backend-sdk-ws/src/main/resources/logback.xml
deleted file mode 100644
index 4fd20ff97..000000000
--- a/dpppt-backend-sdk/dpppt-backend-sdk-ws/src/main/resources/logback.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
-
-
-
-
- %d %p [%c] - <%m>%n
-
-
-
-
- dp3t-ws.log
-
- %d %p [%c] - %m%n
-
-
- 3
- dp3t-ws.log.%i
-
-
- 512KB
-
-
-
-
-
-
-
-
-
-
diff --git a/dpppt-backend-sdk/dpppt-backend-sdk-ws/src/test/java/org/dpppt/backend/sdk/ws/controller/TestApplication.java b/dpppt-backend-sdk/dpppt-backend-sdk-ws/src/test/java/org/dpppt/backend/sdk/ws/controller/TestApplication.java
index 0bd9e9c6f..43bfb590d 100644
--- a/dpppt-backend-sdk/dpppt-backend-sdk-ws/src/test/java/org/dpppt/backend/sdk/ws/controller/TestApplication.java
+++ b/dpppt-backend-sdk/dpppt-backend-sdk-ws/src/test/java/org/dpppt/backend/sdk/ws/controller/TestApplication.java
@@ -13,6 +13,11 @@
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
-@ComponentScan(basePackages = {"org.dpppt.backend.sdk.ws.config"})
+@ComponentScan(
+ basePackages = {
+ "org.dpppt.backend.sdk.ws.config",
+ "ch.admin.bag.covidcertificate.log",
+ "ch.admin.bag.covidcertificate.rest"
+ })
@SpringBootApplication
public class TestApplication {}
diff --git a/dpppt-backend-sdk/pom.xml b/dpppt-backend-sdk/pom.xml
index 839d2cbb2..73dae9f76 100644
--- a/dpppt-backend-sdk/pom.xml
+++ b/dpppt-backend-sdk/pom.xml
@@ -1,4 +1,4 @@
-