1 | package org.cardanofoundation.explorer.api.config.datasource; | |
2 | ||
3 | import java.util.Objects; | |
4 | ||
5 | import javax.sql.DataSource; | |
6 | ||
7 | import org.springframework.beans.factory.annotation.Qualifier; | |
8 | import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder; | |
9 | import org.springframework.context.annotation.Bean; | |
10 | import org.springframework.context.annotation.Configuration; | |
11 | import org.springframework.context.annotation.Primary; | |
12 | import org.springframework.data.jpa.repository.config.EnableJpaRepositories; | |
13 | import org.springframework.orm.jpa.JpaTransactionManager; | |
14 | import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; | |
15 | import org.springframework.transaction.PlatformTransactionManager; | |
16 | import org.springframework.transaction.annotation.EnableTransactionManagement; | |
17 | ||
18 | @Configuration | |
19 | @EnableTransactionManagement | |
20 | @EnableJpaRepositories( | |
21 | entityManagerFactoryRef = "ledgerSyncEntityManagerFactory", | |
22 | transactionManagerRef = "ledgerSyncTransactionManager", | |
23 | basePackages = {"org.cardanofoundation.explorer.api.repository.ledgersync"}) | |
24 | public class LedgerSyncDatasourceConfig { | |
25 | ||
26 | private final MultiDataSourceProperties multiDataSourceProperties; | |
27 | ||
28 | public LedgerSyncDatasourceConfig(MultiDataSourceProperties multiDataSourceProperties) { | |
29 | this.multiDataSourceProperties = multiDataSourceProperties; | |
30 | } | |
31 | ||
32 | @Primary | |
33 | @Bean(name = "ledgerSyncDataSource") | |
34 | public DataSource ledgerSyncDataSource() { | |
35 |
1
1. ledgerSyncDataSource : replaced return value with null for org/cardanofoundation/explorer/api/config/datasource/LedgerSyncDatasourceConfig::ledgerSyncDataSource → NO_COVERAGE |
return multiDataSourceProperties.buildDataSource( |
36 | multiDataSourceProperties.getDatasourceLedgerSync()); | |
37 | } | |
38 | ||
39 | @Primary | |
40 | @Bean(name = "ledgerSyncEntityManagerFactory") | |
41 | public LocalContainerEntityManagerFactoryBean entityManagerFactoryBean( | |
42 | EntityManagerFactoryBuilder builder, | |
43 | @Qualifier("ledgerSyncDataSource") DataSource dataSource) { | |
44 |
1
1. entityManagerFactoryBean : replaced return value with null for org/cardanofoundation/explorer/api/config/datasource/LedgerSyncDatasourceConfig::entityManagerFactoryBean → NO_COVERAGE |
return builder |
45 | .dataSource(dataSource) | |
46 | .packages( | |
47 | "org.cardanofoundation.explorer.common.entity.ledgersync", | |
48 | "org.cardanofoundation.explorer.common.entity.enumeration", | |
49 | "org.cardanofoundation.explorer.common.entity.validation") | |
50 | .build(); | |
51 | } | |
52 | ||
53 | @Primary | |
54 | @Bean(name = "ledgerSyncTransactionManager") | |
55 | public PlatformTransactionManager ledgerSyncTransactionManager( | |
56 | @Qualifier("ledgerSyncEntityManagerFactory") | |
57 | LocalContainerEntityManagerFactoryBean ledgerSyncEntityManagerFactory) { | |
58 |
1
1. ledgerSyncTransactionManager : replaced return value with null for org/cardanofoundation/explorer/api/config/datasource/LedgerSyncDatasourceConfig::ledgerSyncTransactionManager → NO_COVERAGE |
return new JpaTransactionManager( |
59 | Objects.requireNonNull(ledgerSyncEntityManagerFactory.getObject())); | |
60 | } | |
61 | } | |
Mutations | ||
35 |
1.1 |
|
44 |
1.1 |
|
58 |
1.1 |