KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > celtix > testutil > common > AbstractClientServerSetupBase


1 package org.objectweb.celtix.testutil.common;
2
3 import java.io.IOException JavaDoc;
4 import java.util.ArrayList JavaDoc;
5 import java.util.List JavaDoc;
6 import java.util.Map JavaDoc;
7
8
9 import junit.extensions.TestSetup;
10 import junit.framework.Test;
11
12 public abstract class AbstractClientServerSetupBase extends TestSetup {
13     private final List JavaDoc<ServerLauncher> launchers = new ArrayList JavaDoc<ServerLauncher>();
14
15     public AbstractClientServerSetupBase(Test arg0) {
16         super(arg0);
17     }
18
19     public void setUp() throws Exception JavaDoc {
20         startServers();
21     }
22     
23     public abstract void startServers() throws Exception JavaDoc;
24     
25     public void tearDown() throws Exception JavaDoc {
26         boolean serverPassed = stopAllServers();
27         launchers.clear();
28         System.gc();
29         assertTrue("server failed", serverPassed);
30     }
31     
32     protected boolean stopAllServers() {
33         boolean passed = true;
34         for (ServerLauncher sl : launchers) {
35             try {
36                 sl.signalStop();
37             } catch (IOException JavaDoc ex) {
38                 ex.printStackTrace();
39             }
40         }
41         for (ServerLauncher sl : launchers) {
42             try {
43                 passed = passed && sl.stopServer();
44             } catch (IOException JavaDoc ex) {
45                 ex.printStackTrace();
46             }
47         }
48         launchers.clear();
49         return passed;
50     }
51     
52     public boolean launchServer(Class JavaDoc<?> clz) {
53         boolean ok = false;
54         try {
55             ServerLauncher sl = new ServerLauncher(clz.getName());
56             ok = sl.launchServer();
57             assertTrue("server failed to launch", ok);
58             launchers.add(sl);
59         } catch (IOException JavaDoc ex) {
60             ex.printStackTrace();
61             fail("failed to launch server " + clz);
62         }
63         
64         return ok;
65     }
66     public boolean launchServer(Class JavaDoc<?> clz, boolean inProcess) {
67         boolean ok = false;
68         try {
69             ServerLauncher sl = new ServerLauncher(clz.getName(), inProcess);
70             ok = sl.launchServer();
71             assertTrue("server failed to launch", ok);
72             launchers.add(sl);
73         } catch (IOException JavaDoc ex) {
74             ex.printStackTrace();
75             fail("failed to launch server " + clz);
76         }
77         
78         return ok;
79     }
80     public boolean launchServer(Class JavaDoc<?> clz, Map JavaDoc<String JavaDoc, String JavaDoc> props, String JavaDoc[] args) {
81         return launchServer(clz, props, args, false);
82     }
83     public boolean launchServer(Class JavaDoc<?> clz, Map JavaDoc<String JavaDoc, String JavaDoc> props, String JavaDoc[] args,
84                                 boolean inProcess) {
85         boolean ok = false;
86         try {
87             ServerLauncher sl = new ServerLauncher(clz.getName(), props, args, inProcess);
88             ok = sl.launchServer();
89             assertTrue("server failed to launch", ok);
90             launchers.add(sl);
91         } catch (IOException JavaDoc ex) {
92             ex.printStackTrace();
93             fail("failed to launch server " + clz);
94         }
95         
96         return ok;
97     }
98     
99 }
100
Popular Tags