Example usage for org.springframework.jdbc.datasource.embedded EmbeddedDatabaseFactory setDataSourceFactory

List of usage examples for org.springframework.jdbc.datasource.embedded EmbeddedDatabaseFactory setDataSourceFactory

Introduction

In this page you can find the example usage for org.springframework.jdbc.datasource.embedded EmbeddedDatabaseFactory setDataSourceFactory.

Prototype

public void setDataSourceFactory(DataSourceFactory dataSourceFactory) 

Source Link

Document

Set the factory to use to create the DataSource instance that connects to the embedded database.

Usage

From source file:com.gopivotal.cloudfoundry.test.core.DataSourceUtilsTest.java

@Test
public void embeddedDataSourceUrl() {
    BoneCPDataSource targetDataSource = new BoneCPDataSource();
    targetDataSource.setJdbcUrl(TEST_URL);
    DataSourceFactory dataSourceFactory = mock(DataSourceFactory.class);
    when(dataSourceFactory.getDataSource()).thenReturn(targetDataSource);

    EmbeddedDatabaseFactory embeddedDatabaseFactory = new EmbeddedDatabaseFactory();
    embeddedDatabaseFactory.setDataSourceFactory(dataSourceFactory);
    embeddedDatabaseFactory.setDatabaseConfigurer(mock(EmbeddedDatabaseConfigurer.class));
    EmbeddedDatabase dataSource = embeddedDatabaseFactory.getDatabase();
    assertEquals(TEST_URL, this.dataSourceUtils.getUrl(dataSource));
}

From source file:org.teiid.spring.autoconfigure.TeiidAutoConfiguration.java

@Bean(name = "dataSource")
@Primary/*from   w  ww.j av  a  2 s .  co m*/
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource getDataSource(TeiidServer server, VDBMetaData vdb) {
    EmbeddedDatabaseFactory edf = new EmbeddedDatabaseFactory();
    edf.setDatabaseConfigurer(new TeiidDatabaseConfigurer(server));
    edf.setDataSourceFactory(new DataSourceFactory() {
        @Override
        public DataSource getDataSource() {
            String url = context.getEnvironment().getProperty("spring.datasource.teiid.url");
            return new SimpleDriverDataSource(new TeiidSpringDriver(server.getDriver(), server, vdb), url);
        }

        @Override
        public ConnectionProperties getConnectionProperties() {
            return new ConnectionProperties() {
                @Override
                public void setDriverClass(Class<? extends Driver> driverClass) {
                }

                @Override
                public void setUrl(String url) {
                }

                @Override
                public void setUsername(String username) {
                }

                @Override
                public void setPassword(String password) {
                }
            };
        }
    });
    return edf.getDatabase();
}