package org.onap.ccsdk.sli.core.sliapi.springboot.core;\r
\r
import org.onap.logging.filter.spring.LoggingInterceptor;\r
+import org.springframework.boot.autoconfigure.domain.EntityScan;\r
import org.springframework.context.annotation.Bean;\r
+import org.springframework.context.annotation.ComponentScan;\r
import org.springframework.context.annotation.Configuration;\r
+import org.springframework.data.jpa.repository.config.EnableJpaRepositories;\r
+import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;\r
+import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;\r
+import org.springframework.orm.jpa.JpaTransactionManager;\r
+import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;\r
+import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;\r
+import org.springframework.transaction.PlatformTransactionManager;\r
+import org.springframework.transaction.annotation.EnableTransactionManagement;\r
import org.springframework.web.servlet.config.annotation.EnableWebMvc;\r
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;\r
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;\r
\r
+import javax.persistence.EntityManagerFactory;\r
+import javax.sql.DataSource;\r
+\r
@EnableWebMvc\r
@Configuration\r
+@EnableJpaRepositories("org.onap.ccsdk.sli.core.sliapi.springboot.*")\r
+@ComponentScan(basePackages = {"org.onap.ccsdk.sli.core.sliapi.springboot.*"})\r
+@EntityScan("org.onap.ccsdk.sli.core.sliapi.springboot.*")\r
+@EnableTransactionManagement\r
public class WebConfig implements WebMvcConfigurer {\r
\r
- @Bean\r
+/* @Bean\r
LoggingInterceptor loggingInterceptor() {\r
return new LoggingInterceptor();\r
}\r
\r
public void addInterceptors(InterceptorRegistry registry) { \r
registry.addInterceptor(loggingInterceptor()); // handles audit log entries\r
+ }*/\r
+\r
+ @Bean\r
+ public DataSource dataSource() {\r
+\r
+ EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();\r
+ builder.setName("sdnctl");\r
+ return builder.setType(EmbeddedDatabaseType.DERBY).build();\r
+ }\r
+\r
+ @Bean\r
+ public EntityManagerFactory entityManagerFactory() {\r
+\r
+ HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();\r
+ vendorAdapter.setGenerateDdl(true);\r
+\r
+ LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean();\r
+ factory.setJpaVendorAdapter(vendorAdapter);\r
+ factory.setPackagesToScan("org.onap.ccsdk.sli.core.sliapi.springboot.*");\r
+ factory.setDataSource(dataSource());\r
+ factory.afterPropertiesSet();\r
+\r
+ return factory.getObject();\r
}\r
\r
+ @Bean\r
+ public PlatformTransactionManager transactionManager() {\r
+\r
+ JpaTransactionManager txManager = new JpaTransactionManager();\r
+ txManager.setEntityManagerFactory(entityManagerFactory());\r
+ return txManager;\r
+ }\r
}
\ No newline at end of file