package com.nurkiewicz.jdbcrepository.oracle; import com.jolbox.bonecp.BoneCPDataSource; import com.nurkiewicz.jdbcrepository.JdbcRepositoryTestConfig; import com.nurkiewicz.jdbcrepository.repositories.BoardingPassRepository; import com.nurkiewicz.jdbcrepository.repositories.CommentRepository; import com.nurkiewicz.jdbcrepository.repositories.UserRepository; import com.nurkiewicz.jdbcrepository.sql.OracleSqlGenerator; import com.nurkiewicz.jdbcrepository.sql.SqlGenerator; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.transaction.annotation.EnableTransactionManagement; import javax.sql.DataSource; @EnableTransactionManagement @Configuration public class JdbcRepositoryTestOracleConfig extends JdbcRepositoryTestConfig { public static final int ORACLE_PORT = Integer.parseInt(System.getProperty("oracle.port", "1521")); @Bean @Override public CommentRepository commentRepository() { return new CommentRepository("comments"); } @Bean @Override public UserRepository userRepository() { return new UserRepository("users"); } @Override public BoardingPassRepository boardingPassRepository() { return new BoardingPassRepository("boarding_pass"); } @Bean public SqlGenerator sqlGenerator() { return new OracleSqlGenerator(); } @Bean @Override public DataSource dataSource() { BoneCPDataSource ds = new BoneCPDataSource(); ds.setDriverClass("oracle.jdbc.OracleDriver"); final String host = System.getProperty("oracle.hostname", "localhost"); final String service = System.getProperty("oracle.sid", "orcl"); final String url = " jdbc:oracle:thin:@//" + host + ":" + ORACLE_PORT + "/" + service; ds.setJdbcUrl(url); ds.setUsername(System.getProperty("oracle.username")); ds.setPassword(System.getProperty("oracle.password")); return ds; } }