]> git.somenet.org - pub/jan/dst18.git/blob - ass2-service/courseplan/src/test/java/dst/ass2/service/courseplan/TestDataConfig.java
Add template for assignment 2
[pub/jan/dst18.git] / ass2-service / courseplan / src / test / java / dst / ass2 / service / courseplan / TestDataConfig.java
1 package dst.ass2.service.courseplan;
2
3 import javax.persistence.EntityManager;
4 import javax.persistence.PersistenceContext;
5
6 import org.springframework.boot.SpringBootConfiguration;
7 import org.springframework.boot.context.event.ApplicationReadyEvent;
8 import org.springframework.context.ApplicationListener;
9 import org.springframework.context.annotation.Bean;
10 import org.springframework.context.annotation.Profile;
11 import org.springframework.transaction.PlatformTransactionManager;
12
13 import dst.ass1.jpa.model.IModelFactory;
14 import dst.ass1.jpa.tests.TestData;
15
16 @SpringBootConfiguration
17 @Profile("testdata")
18 public class TestDataConfig implements ApplicationListener<ApplicationReadyEvent> {
19
20     @PersistenceContext
21     private EntityManager em;
22
23     @Bean
24     public TestData testData() {
25         return new TestData();
26     }
27
28     @Bean
29     public TestDataInserter testDataInserter(TestData testData, IModelFactory modelFactory, PlatformTransactionManager transactionManager) {
30         return new TestDataInserter(testData, modelFactory, transactionManager);
31     }
32
33     @Override
34     public void onApplicationEvent(ApplicationReadyEvent event) {
35         event.getApplicationContext()
36                 .getBean(TestDataInserter.class)
37                 .insertTestData(em);
38     }
39 }