1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.core.provisioning.java;
20
21 import org.apache.syncope.common.lib.SyncopeConstants;
22 import org.apache.syncope.core.persistence.api.DomainHolder;
23 import org.apache.syncope.core.persistence.api.content.ContentLoader;
24 import org.apache.syncope.core.persistence.jpa.StartupDomainLoader;
25 import org.apache.syncope.core.spring.ApplicationContextProvider;
26 import org.springframework.beans.factory.InitializingBean;
27 import org.springframework.beans.factory.support.DefaultListableBeanFactory;
28 import org.springframework.context.ConfigurableApplicationContext;
29 import org.springframework.transaction.support.TransactionSynchronizationManager;
30
31 public class TestInitializer implements InitializingBean {
32
33 private final StartupDomainLoader domainLoader;
34
35 private final DomainHolder domainHolder;
36
37 private final ContentLoader contentLoader;
38
39 private final ConfigurableApplicationContext ctx;
40
41 public TestInitializer(
42 final StartupDomainLoader domainLoader,
43 final DomainHolder domainHolder,
44 final ContentLoader contentLoader,
45 final ConfigurableApplicationContext ctx) {
46
47 this.domainLoader = domainLoader;
48 this.domainHolder = domainHolder;
49 this.contentLoader = contentLoader;
50 this.ctx = ctx;
51 }
52
53 @Override
54 public void afterPropertiesSet() throws Exception {
55 ApplicationContextProvider.setApplicationContext(ctx);
56 ApplicationContextProvider.setBeanFactory((DefaultListableBeanFactory) ctx.getBeanFactory());
57
58 if (!TransactionSynchronizationManager.isSynchronizationActive()) {
59 TransactionSynchronizationManager.initSynchronization();
60 }
61
62 domainLoader.load();
63
64 contentLoader.load(
65 SyncopeConstants.MASTER_DOMAIN,
66 domainHolder.getDomains().get(SyncopeConstants.MASTER_DOMAIN));
67 }
68 }