1
2
3
4
5
6
7
8
9
10
11
12
13 package org.kuali.rice.test.lifecycles;
14
15 import java.lang.reflect.Method;
16
17 import org.kuali.rice.core.api.lifecycle.Lifecycle;
18 import org.kuali.rice.test.data.PerTestUnitTestData;
19 import org.kuali.rice.test.data.UnitTestData;
20 import org.kuali.rice.test.data.UnitTestDataUtils;
21
22
23
24
25
26
27
28
29 public class PerTestDataLoaderLifecycle implements Lifecycle {
30 private boolean started;
31 private Method method;
32
33 public PerTestDataLoaderLifecycle(Method method) {
34 this.method = method;
35 }
36
37 public boolean isStarted() {
38 return started;
39 }
40
41 public void start() throws Exception {
42 if (method.getDeclaringClass().isAnnotationPresent(PerTestUnitTestData.class)) {
43 UnitTestData[] data = method.getDeclaringClass().getAnnotation(PerTestUnitTestData.class).value();
44 UnitTestDataUtils.executeDataLoader(data);
45 }
46 if (method.isAnnotationPresent(UnitTestData.class)) {
47 UnitTestData data = method.getAnnotation(UnitTestData.class);
48 UnitTestDataUtils.executeDataLoader(data);
49 }
50 started = true;
51 }
52
53 public void stop() throws Exception {
54 if (method.getDeclaringClass().isAnnotationPresent(PerTestUnitTestData.class)) {
55 UnitTestData[] data = method.getDeclaringClass().getAnnotation(PerTestUnitTestData.class).tearDown();
56 UnitTestDataUtils.executeDataLoader(data);
57 }
58 started = false;
59 }
60 }