KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > tctest > spring > InitializingBean_Test


1 /*
2  * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
3  */

4 package com.tctest.spring;
5
6 import org.springframework.context.support.ClassPathXmlApplicationContext;
7
8 import com.tc.object.config.ConfigVisitor;
9 import com.tc.object.config.DSOClientConfigHelper;
10 import com.tc.object.config.DSOSpringConfigHelper;
11 import com.tc.object.config.StandardDSOSpringConfigHelper;
12 import com.tc.simulator.app.ApplicationConfig;
13 import com.tc.simulator.listener.ListenerProvider;
14 import com.tctest.TransparentTestBase;
15 import com.tctest.runner.AbstractTransparentApp;
16 import com.tctest.spring.bean.Recorder;
17
18 import java.util.ArrayList JavaDoc;
19 import java.util.Iterator JavaDoc;
20 import java.util.List JavaDoc;
21
22 /**
23  * Test for <code>InitializingBean</code>.
24  *
25  * @see org.springframework.beans.factory.InitializingBean
26  */

27 public class InitializingBean_Test extends TransparentTestBase {
28   private static final int LOOP_ITERATIONS = 1;
29   private static final int EXECUTION_COUNT = 1;
30   private static final int NODE_COUNT = 2;
31
32   public InitializingBean_Test() {
33     disableAllUntil("2008-01-01");
34   }
35
36   protected void setUp() throws Exception JavaDoc {
37     super.setUp();
38     getTransparentAppConfig().setClientCount(NODE_COUNT).setApplicationInstancePerClientCount(EXECUTION_COUNT)
39         .setIntensity(LOOP_ITERATIONS);
40     initializeTestRunner();
41   }
42
43   protected Class JavaDoc getApplicationClass() {
44     return InitializingBeanApp.class;
45   }
46   
47
48   public static class InitializingBeanApp extends AbstractTransparentApp {
49     private List JavaDoc sharedSingletons = new ArrayList JavaDoc();
50     
51     
52     public InitializingBeanApp(String JavaDoc appId, ApplicationConfig cfg, ListenerProvider listenerProvider) {
53       super(appId, cfg, listenerProvider);
54     }
55
56     public void run() {
57         try {
58           ClassPathXmlApplicationContext ctx;
59           Recorder recorder;
60
61           synchronized (sharedSingletons) {
62             ctx = new ClassPathXmlApplicationContext("com/tctest/spring/beanfactory-init.xml");
63             recorder = (Recorder) ctx.getBean("recorder");
64           }
65           
66           moveToStageAndWait(1);
67
68           int localInitBeanValues = 0;
69           int distributedInitBeanValues = 0;
70           for (Iterator JavaDoc it = recorder.getValues().iterator(); it.hasNext();) {
71             String JavaDoc value = (String JavaDoc) it.next();
72             if("localInitBean".equals(value)) {
73               localInitBeanValues++;
74             } else if("distributedInitBean".equals(value)) {
75               distributedInitBeanValues++;
76             }
77           }
78           
79           assertEquals(NODE_COUNT, localInitBeanValues);
80           assertEquals(NODE_COUNT, distributedInitBeanValues);
81           
82         } catch (Throwable JavaDoc e) {
83           moveToStage(1);
84           notifyError(e);
85           
86         }
87     }
88
89     public static void visitL1DSOConfig(ConfigVisitor visitor, DSOClientConfigHelper config) {
90       config.addRoot("com.tctest.spring.MultipleContexts_Test$InitializingBeanApp", "sharedSingletons", "sharedSingletons", false);
91
92       DSOSpringConfigHelper springConfig = new StandardDSOSpringConfigHelper();
93       springConfig.addApplicationNamePattern(SpringTestConstants.APPLICATION_NAME); // app name used by testing framework
94
springConfig.addConfigPattern("*/beanfactory-init.xml");
95       springConfig.addBean("recorder");
96       springConfig.addBean("distributedInitBean");
97       config.addDSOSpringConfig(springConfig);
98     }
99     
100   }
101
102 }
103
104
Popular Tags