+ return new Docket(DocumentationType.SWAGGER_2).select()
+ .apis(RequestHandlerSelectors.basePackage("org.onap.policy.pdp.rest.api")).paths(PathSelectors.any())
+ .build().apiInfo(apiInfo());
+ }
+
+ @Bean(name = "dataSource")
+ public DataSource getDataSource() {
+ BasicDataSource dataSource = new BasicDataSource();
+ dataSource.setDriverClassName(PDPRestConfig.getDbDriver());
+ dataSource.setUrl(PDPRestConfig.getDbUrl());
+ dataSource.setUsername(PDPRestConfig.getDbUserName());
+ dataSource.setPassword(PDPRestConfig.getDbPassword());
+ return dataSource;
+ }
+
+ @Autowired
+ @Bean(name = "sessionFactory")
+ public SessionFactory getSessionFactory(DataSource dataSource) {
+ LocalSessionFactoryBuilder sessionBuilder = new LocalSessionFactoryBuilder(dataSource);
+ sessionBuilder.scanPackages("org.onap.*", "com.*");
+ sessionBuilder.addProperties(getHibernateProperties());
+ return sessionBuilder.buildSessionFactory();
+ }
+
+ private Properties getHibernateProperties() {
+ Properties properties = new Properties();
+ properties.put("hibernate.show_sql", "true");
+ properties.put("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");
+ return properties;
+ }
+
+ @Autowired
+ @Bean(name = "transactionManager")
+ public HibernateTransactionManager getTransactionManager(SessionFactory sessionFactory) {
+ return new HibernateTransactionManager(sessionFactory);
+ }
+