KickJava   Java API By Example, From Geeks To Geeks.

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


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.simulator.app.ApplicationConfig;
9 import com.tc.simulator.listener.ListenerProvider;
10 import com.tcspring.BeanContainer;
11 import com.tcspring.ComplexBeanId;
12 import com.tcspring.DistributableBeanFactory;
13 import com.tctest.TransparentTestBase;
14 import com.tctest.runner.AbstractTransparentApp;
15
16 public abstract class SimpleTransparentTestBase extends TransparentTestBase {
17
18   protected abstract int getNodeCount();
19
20   protected void setUp() throws Exception JavaDoc {
21     super.setUp();
22     getTransparentAppConfig().setClientCount(getNodeCount()).setApplicationInstancePerClientCount(getExecutionCount())
23         .setIntensity(getLoopIterations());
24     initializeTestRunner();
25   }
26
27   protected final int getLoopIterations() {
28     return 1;
29   }
30
31   protected final int getExecutionCount() {
32     return 1;
33   }
34
35   public abstract static class AbstractSimpleTransparentApp extends AbstractTransparentApp {
36     public AbstractSimpleTransparentApp(String JavaDoc appId, ApplicationConfig cfg, ListenerProvider listenerProvider) {
37       super(appId, cfg, listenerProvider);
38     }
39
40     public final void run() {
41       Thread JavaDoc t = Thread.currentThread();
42       ClassLoader JavaDoc cl = t.getContextClassLoader();
43
44       try {
45         t.setContextClassLoader(getClass().getClassLoader());
46
47         doIt();
48
49       } catch (Throwable JavaDoc e) {
50         notifyError(e);
51
52       } finally {
53         t.setContextClassLoader(cl);
54
55       }
56     }
57
58     protected abstract void doIt() throws Throwable JavaDoc;
59
60   }
61
62   protected static void assertDistributed(ClassPathXmlApplicationContext ctx, String JavaDoc beanName, Object JavaDoc bean) {
63     DistributableBeanFactory distributableBeanFactory = (DistributableBeanFactory) ctx.getBeanFactory();
64     BeanContainer container = distributableBeanFactory.getBeanContainer(new ComplexBeanId(beanName));
65     assertNotNull("Bean " + beanName + " is not in distributed cache", container);
66     assertSame("Bean " + beanName + " don't match instance from distributed cache", bean, container.getBean());
67   }
68
69 }
70
Popular Tags