1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.springframework.richclient.test;
17
18 import junit.framework.TestCase;
19
20 import org.apache.commons.logging.Log;
21 import org.apache.commons.logging.LogFactory;
22 import org.springframework.context.ConfigurableApplicationContext;
23 import org.springframework.context.support.StaticApplicationContext;
24 import org.springframework.context.support.StaticMessageSource;
25 import org.springframework.richclient.application.Application;
26 import org.springframework.richclient.application.ApplicationServicesLocator;
27 import org.springframework.richclient.application.config.ApplicationLifecycleAdvisor;
28 import org.springframework.richclient.application.config.DefaultApplicationLifecycleAdvisor;
29 import org.springframework.richclient.application.support.DefaultApplicationServices;
30
31
32
33
34
35
36
37
38 public abstract class SpringRichTestCase extends TestCase {
39
40
41
42
43 protected final Log logger = LogFactory.getLog(getClass());
44
45 protected DefaultApplicationServices applicationServices;
46
47 protected final void setUp() throws Exception {
48 try {
49 Application.load(null);
50 ConfigurableApplicationContext applicationContext = createApplicationContext();
51 applicationServices = new DefaultApplicationServices(applicationContext);
52 new ApplicationServicesLocator(applicationServices);
53
54 final ApplicationLifecycleAdvisor advisor = createApplicationLifecycleAdvisor();
55 final Application application = new Application(advisor);
56 advisor.setApplication(application);
57
58 Application.instance().setApplicationContext(applicationContext);
59 applicationServices.setApplicationContext(applicationContext);
60
61 registerBasicServices(applicationServices);
62 registerAdditionalServices(applicationServices);
63
64 applicationContext.refresh();
65 doSetUp();
66 } catch( Exception e ) {
67 Application.load(null);
68 throw e;
69 }
70 }
71
72
73
74
75
76
77
78
79 protected ConfigurableApplicationContext createApplicationContext() {
80 return new StaticApplicationContext();
81 }
82
83
84
85
86
87 protected ApplicationLifecycleAdvisor createApplicationLifecycleAdvisor() {
88 return new DefaultApplicationLifecycleAdvisor();
89 }
90
91
92
93
94
95
96 protected void registerBasicServices( DefaultApplicationServices applicationServices ) {
97 applicationServices.setMessageSource(new StaticMessageSource());
98 }
99
100
101
102
103
104 protected void registerAdditionalServices( DefaultApplicationServices applicationServices ) {
105 }
106
107
108
109
110 protected DefaultApplicationServices getApplicationServices() {
111 return applicationServices;
112 }
113
114
115
116
117
118 protected final void tearDown() throws Exception {
119 try {
120 doTearDown();
121 } finally {
122 Application.load(null);
123 }
124 }
125
126
127
128
129
130
131
132 protected void doSetUp() throws Exception {
133 }
134
135
136
137
138
139 protected void doTearDown() throws Exception {
140 }
141 }