KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > tctest > spring > LogicalBean_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.ConfigLockLevel;
9 import com.tc.object.config.ConfigVisitor;
10 import com.tc.object.config.DSOClientConfigHelper;
11 import com.tc.object.config.DSOSpringConfigHelper;
12 import com.tc.object.config.StandardDSOSpringConfigHelper;
13 import com.tc.simulator.app.ApplicationConfig;
14 import com.tc.simulator.listener.ListenerProvider;
15 import com.tctest.TransparentTestBase;
16 import com.tctest.runner.AbstractTransparentApp;
17
18 import java.util.List JavaDoc;
19
20 /**
21  * Test for logically managed beans, such as java.util.ArrayList
22  */

23 public class LogicalBean_Test extends TransparentTestBase {
24   private static final int LOOP_ITERATIONS = 1;
25   private static final int EXECUTION_COUNT = 1;
26   private static final int NODE_COUNT = 2;
27
28   public LogicalBean_Test() {
29      disableAllUntil("2008-01-01"); //covered by system test
30
}
31
32   protected void setUp() throws Exception JavaDoc {
33     super.setUp();
34     getTransparentAppConfig().setClientCount(NODE_COUNT).setApplicationInstancePerClientCount(EXECUTION_COUNT)
35         .setIntensity(LOOP_ITERATIONS);
36     initializeTestRunner();
37   }
38
39   protected Class JavaDoc getApplicationClass() {
40     return LogicalBeanApp.class;
41   }
42   
43
44   public static class LogicalBeanApp extends AbstractTransparentApp {
45     
46     public LogicalBeanApp(String JavaDoc appId, ApplicationConfig cfg, ListenerProvider listenerProvider) {
47       super(appId, cfg, listenerProvider);
48     }
49
50     public void run() {
51       try {
52         moveToStageAndWait(10);
53
54         ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("com/tctest/spring/logicalbeans.xml");
55         
56         List JavaDoc list = (List JavaDoc) ctx.getBean("logicalBean");
57         synchronized (list) {
58           list.add(getApplicationId());
59         }
60         
61         moveToStageAndWait(11);
62
63         synchronized (list) {
64           assertEquals("Expected more then one object in the collection", NODE_COUNT, list.size());
65         }
66
67         moveToStageAndWait(12);
68         
69       } catch (Throwable JavaDoc e) {
70         moveToStage(11);
71         moveToStage(12);
72         notifyError(e);
73         
74       }
75     }
76     
77     
78     public static void visitL1DSOConfig(ConfigVisitor visitor, DSOClientConfigHelper config) {
79       config.addIncludePattern("com.tctest.spring.LogicalBean_Test$LogicalBeanApp");
80       config.addAutolock("* com.tctest.spring.LogicalBean_Test$LogicalBeanApp.run()", ConfigLockLevel.WRITE);
81       
82       {
83         DSOSpringConfigHelper springConfig = new StandardDSOSpringConfigHelper();
84         springConfig.addApplicationNamePattern(SpringTestConstants.APPLICATION_NAME); // app name used by testing framework
85
springConfig.addConfigPattern("*/logicalbeans.xml");
86         springConfig.addBean("logicalBean");
87         
88         config.addDSOSpringConfig(springConfig);
89       }
90     }
91     
92   }
93
94 }
95
96
Popular Tags