LedgerSyncDatasourceConfig.java

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
Location : ledgerSyncDataSource
Killed by : none
replaced return value with null for org/cardanofoundation/explorer/api/config/datasource/LedgerSyncDatasourceConfig::ledgerSyncDataSource → NO_COVERAGE

44

1.1
Location : entityManagerFactoryBean
Killed by : none
replaced return value with null for org/cardanofoundation/explorer/api/config/datasource/LedgerSyncDatasourceConfig::entityManagerFactoryBean → NO_COVERAGE

58

1.1
Location : ledgerSyncTransactionManager
Killed by : none
replaced return value with null for org/cardanofoundation/explorer/api/config/datasource/LedgerSyncDatasourceConfig::ledgerSyncTransactionManager → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT 1.14.2