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 @@ -