Example usage for org.springframework.jdbc.datasource.init DataSourceInitializer DataSourceInitializer

List of usage examples for org.springframework.jdbc.datasource.init DataSourceInitializer DataSourceInitializer

Introduction

In this page you can find the example usage for org.springframework.jdbc.datasource.init DataSourceInitializer DataSourceInitializer.

Prototype

DataSourceInitializer

Source Link

Usage

From source file:ctv.stageissue.Application.java

@Bean
public DataSource dataSource() {
    HikariConfig config = new HikariConfig();
    config.setDataSourceClassName("org.h2.jdbcx.JdbcDataSource");
    config.setConnectionTestQuery("VALUES 1");
    config.addDataSourceProperty("url", "jdbc:h2:~/test");
    config.addDataSourceProperty("user", "sa");
    config.addDataSourceProperty("password", "");
    HikariDataSource dataSource = new HikariDataSource(config);

    DataSourceInitializer initializer = new DataSourceInitializer();
    initializer.setDataSource(dataSource);
    initializer.setDatabasePopulator(/*  w  w w. j a va 2s  .c o  m*/
            new ResourceDatabasePopulator(false, false, null, new ClassPathResource("model.sql")));
    initializer.setEnabled(true);
    initializer.afterPropertiesSet();

    return dataSource;
}

From source file:org.duracloud.snapshot.db.DatabaseInitializer.java

public void init(DatabaseConfig databaseConfig) {
    final DataSourceInitializer initializer = new DataSourceInitializer();
    dataSource.setUrl(databaseConfig.getUrl());
    dataSource.setUsername(databaseConfig.getUsername());
    dataSource.setPassword(databaseConfig.getPassword());
    initializer.setDataSource(dataSource);
    initializer.setDatabasePopulator(databasePopulator(databaseConfig));

    try {//from   w  w  w.  j  a  va2  s.c  o m
        initializer.afterPropertiesSet();
    } catch (Exception e) {
        Throwable rootCause = getRootCause(e);

        // The database initialization SQL scripts create the necessary
        // tables.  If the exception indicates that the database already
        // contains tables then ignore the exception and continue on,
        // otherwise throw the exception.
        if (rootCause.getMessage().contains("already exists")) {
            LOGGER.info("Database initialization - tables already exist: {}", rootCause.getMessage());
        } else {
            throw e;
        }
    }
}

From source file:br.com.devmedia.cleancode.spring.ConfiguracaoBancoDados.java

@Bean
public DataSourceInitializer dataSourceInitializer(final DataSource dataSource) {
    final DataSourceInitializer initializer = new DataSourceInitializer();
    initializer.setDataSource(dataSource);
    initializer.setDatabasePopulator(databasePopulator());
    return initializer;
}

From source file:ch.thp.proto.spring.time.infra.config.DatabaseConfig.java

@Inject
@Bean/*from www  .  j  a v  a 2s .c  o m*/
public DataSourceInitializer dataSourceInitializer(final DataSource dataSource, List<DataLoader> loaders) {
    //in this example we don't have a classic script based populator
    final DataSourceInitializer initializer = new DataSourceInitializer();
    initializer.setDataSource(dataSource);
    initializer.setDatabasePopulator(databasePopulator());
    initializer.setDatabaseCleaner(databaseCleaner());
    //instead we use the dataloader
    loaders.stream().forEach((loader) -> {
        loader.load();
    });
    return initializer;
}

From source file:ch.thp.proto.ws.spring.batch.infrastructure.DatabaseConfig.java

@Autowired(required = false)
@Bean// w  w w.j  a v  a  2 s.  com
public DataSourceInitializer dataSourceInitializer(final DataSource dataSource, List<DataLoader> loaders) {
    //in this example we don't have a classic script based populator
    final DataSourceInitializer initializer = new DataSourceInitializer();
    initializer.setDataSource(dataSource);
    initializer.setDatabasePopulator(databasePopulator());
    initializer.setDatabaseCleaner(databaseCleaner());
    //instead we use the dataloader
    loaders.stream().forEach((loader) -> {
        loader.load();
    });
    return initializer;
}

From source file:com.springsource.open.db.AtomikosApplication.java

private DataSourceInitializer initialize(DataSource dataSource, String name) {
    DataSourceInitializer initializer = new DataSourceInitializer();
    initializer.setDataSource(dataSource);
    ResourceDatabasePopulator populator = new ResourceDatabasePopulator(new ClassPathResource(name + ".sql"));
    populator.setIgnoreFailedDrops(true);
    initializer.setDatabasePopulator(populator);
    return initializer;
}

From source file:aka.pirana.springsecurity.config.PersistenceConfig.java

@Bean
public DataSourceInitializer dataSourceInitializer(DataSource dataSource) {
    System.out.println("aka.pirana.springsecurity.config.PersistenceConfig.dataSourceInitializer()");
    DataSourceInitializer dataSourceInitializer = new DataSourceInitializer();
    dataSourceInitializer.setDataSource(dataSource);
    ResourceDatabasePopulator resourceDatabasePopulator = new ResourceDatabasePopulator();
    resourceDatabasePopulator.addScript(new ClassPathResource("db.sql"));
    dataSourceInitializer.setDatabasePopulator(resourceDatabasePopulator);
    dataSourceInitializer.setEnabled(Boolean.parseBoolean(initDatabase));
    return dataSourceInitializer;
}

From source file:cn.org.once.cstack.config.DatabaseConfiguration.java

@Bean(name = "dataSourceInitializer")
public DataSourceInitializer dataSourceInitializer(final DataSource dataSource) {
    final DataSourceInitializer initializer = new DataSourceInitializer();
    initializer.setDataSource(dataSource);
    initializer.setDatabasePopulator(databasePopulator());
    return initializer;
}

From source file:org.cloudfoundry.workers.stocks.batch.BatchConfiguration.java

/**
 * We have to have certain records and certain tables for our application to
 * work correctly. This object will be used to ensure that certain
 * <CODE>sql</CODE> files are executed on application startup.
 * //from w  ww  . j  av a  2s .  c  o m
 * TODO make the SQL a little smarter about not recreating the tables unless
 * they don't exist.
 * 
 */
@Bean
public DataSourceInitializer dataSourceInitializer() {
    DataSourceInitializer dsi = new DataSourceInitializer();
    dsi.setDataSource(dsConfig.dataSource());
    ResourceDatabasePopulator resourceDatabasePopulator = new ResourceDatabasePopulator();
    String[] scripts = "/batch_%s.sql,/stocks_%s.sql".split(",");
    String scriptSuffix = cloudEnvironment().isCloudFoundry() ? "psql" : "h2";
    for (String s : scripts) {
        ClassPathResource classPathResource = new ClassPathResource(String.format(s, scriptSuffix));
        resourceDatabasePopulator.addScript(classPathResource);
    }
    dsi.setDatabasePopulator(resourceDatabasePopulator);
    dsi.setEnabled(true);
    return dsi;
}

From source file:org.jblogcms.core.config.PersistenceContext.java

@Bean
public DataSourceInitializer databasePopulator() {
    ResourceDatabasePopulator populator = new ResourceDatabasePopulator();
    populator.addScript(/*from  www.  ja v  a 2s  . c om*/
            new ClassPathResource("org/springframework/social/connect/jdbc/JdbcUsersConnectionRepository.sql"));
    populator.setContinueOnError(true);

    DataSourceInitializer initializer = new DataSourceInitializer();
    initializer.setDatabasePopulator(populator);
    initializer.setDataSource(dataSource());

    return initializer;
}