aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/test/java/org/onap/vid/config/DataSourceConfig.java
diff options
context:
space:
mode:
authorSonsino, Ofir (os0695) <os0695@intl.att.com>2018-07-10 14:20:54 +0300
committerSonsino, Ofir (os0695) <os0695@intl.att.com>2018-07-10 14:20:54 +0300
commitc72d565bb58226b20625b2bce5f0019046bee649 (patch)
tree8658e49595705b02e47ddc14afa20d6bb7123547 /vid-app-common/src/test/java/org/onap/vid/config/DataSourceConfig.java
parentef8a6b47847012fd59ea20da21d8d3d7c4a301ed (diff)
Merge 1806 code of vid-common
Change-Id: I75d52abed4a24dfe3827d79edc4a2938726aa87a Issue-ID: VID-208 Signed-off-by: Sonsino, Ofir (os0695) <os0695@intl.att.com>
Diffstat (limited to 'vid-app-common/src/test/java/org/onap/vid/config/DataSourceConfig.java')
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/config/DataSourceConfig.java81
1 files changed, 81 insertions, 0 deletions
diff --git a/vid-app-common/src/test/java/org/onap/vid/config/DataSourceConfig.java b/vid-app-common/src/test/java/org/onap/vid/config/DataSourceConfig.java
new file mode 100644
index 000000000..eb9239e17
--- /dev/null
+++ b/vid-app-common/src/test/java/org/onap/vid/config/DataSourceConfig.java
@@ -0,0 +1,81 @@
+package org.onap.vid.config;
+
+
+import org.hibernate.SessionFactory;
+import org.onap.portalsdk.core.service.DataAccessService;
+import org.onap.portalsdk.core.service.DataAccessServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.jdbc.datasource.DriverManagerDataSource;
+import org.springframework.orm.hibernate4.HibernateTransactionManager;
+import org.springframework.orm.hibernate4.LocalSessionFactoryBean;
+import org.springframework.transaction.PlatformTransactionManager;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+import javax.sql.DataSource;
+import java.util.Properties;
+
+@Configuration
+@EnableTransactionManagement
+public class DataSourceConfig {
+
+ @Bean
+ @Autowired
+ public LocalSessionFactoryBean sessionFactory(DataSource dataSource) {
+ LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
+ sessionFactory.setDataSource(dataSource);
+ //I used this class org.openecomp.portalsdk.core.conf.HibernateConfiguration to learn how to config the session factory
+ // and use the following url for actual h2 properties
+ //https://github.com/levi-putna/Hibernate-H2-Example/blob/master/hibernate-h2-example/src/hibernate.cfg.xml
+ Properties properties = getH2Properties();
+
+ properties.put("hibernate.default_schema", "PUBLIC");
+ properties.put("connection.pool_size", 10);
+ properties.put("cache.provider_class", "org.hibernate.cache.internal.NoCacheProvider");
+ properties.put("hibernate.show_sql", false);
+ properties.put("hbm2ddl.auto", "create");
+ properties.put("hibernate.hbm2ddl.auto", "create");
+
+ sessionFactory.setHibernateProperties(properties);
+ sessionFactory.setPackagesToScan("org.onap");
+ return sessionFactory;
+ }
+
+ @Bean
+ public DataSource getDataSource() {
+ DriverManagerDataSource dataSource = new DriverManagerDataSource();
+ dataSource.setDriverClassName("org.h2.Driver");
+ dataSource.setUrl("jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1");
+ dataSource.setUsername("sa");
+ dataSource.setPassword("");
+ return dataSource;
+ }
+
+ public Properties getH2Properties() {
+ Properties properties = new Properties();
+ properties.put("dialect", "org.hibernate.dialect.H2Dialect");
+ return properties;
+ }
+
+ public Properties getSqliteProperties() {
+ Properties properties = new Properties();
+ properties.put("connection.driver_class", "org.sqlite.JDBC");
+ properties.put("connection.url", "jdbc:sqlite:memory:myDb");
+ properties.put("connection.username", "sa");
+ properties.put("connection.password", "sa");
+ properties.put("dialect", "com.enigmabridge.hibernate.dialect.SQLiteDialect");
+ return properties;
+ }
+
+ @Bean
+ public DataAccessService dataAccessService() {
+ return new DataAccessServiceImpl();
+ }
+
+ @Bean
+ @Autowired
+ public PlatformTransactionManager transactionManager(SessionFactory sessionFactory) {
+ return new HibernateTransactionManager(sessionFactory);
+ }
+}