KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > celtix > bus > bindings > ServerBindingTest


1 package org.objectweb.celtix.bus.bindings;
2
3 import java.util.Properties JavaDoc;
4 import java.util.concurrent.Executor JavaDoc;
5
6 import javax.xml.ws.Binding;
7 import javax.xml.ws.Endpoint;
8 import javax.xml.ws.spi.Provider;
9
10 import junit.framework.TestCase;
11
12 import org.objectweb.celtix.Bus;
13 import org.objectweb.celtix.bindings.BindingManager;
14 import org.objectweb.celtix.bindings.ServerBinding;
15 import org.objectweb.celtix.bus.jaxws.EndpointImpl;
16 import org.objectweb.celtix.transports.ServerTransport;
17 import org.objectweb.celtix.ws.addressing.EndpointReferenceType;
18 import org.objectweb.celtix.wsdl.EndpointReferenceUtils;
19 import org.objectweb.hello_world_soap_http.DerivedGreeterImpl;
20
21 public class ServerBindingTest extends TestCase {
22
23     private String JavaDoc epfClassName;
24     private Bus bus;
25     private EndpointImpl ei;
26     private DerivedGreeterImpl implementor;
27
28     public void setUp() throws Exception JavaDoc {
29         epfClassName = System.getProperty(Provider.JAXWSPROVIDER_PROPERTY);
30         System.setProperty(Provider.JAXWSPROVIDER_PROPERTY,
31                            "org.objectweb.celtix.bus.jaxws.spi.ProviderImpl");
32         bus = Bus.init();
33         BindingManager bm = bus.getBindingManager();
34         bm.registerBinding("http://celtix.objectweb.org/bindings/test", new TestBindingFactory(bus));
35         implementor = new DerivedGreeterImpl();
36         Endpoint ep = Endpoint.create(TestBinding.TEST_BINDING, implementor);
37         ei = (EndpointImpl)ep;
38     }
39     
40     public void tearDown() throws Exception JavaDoc {
41         bus.shutdown(true);
42         if (null == epfClassName) {
43             Properties JavaDoc properties = System.getProperties();
44             properties.remove(Provider.JAXWSPROVIDER_PROPERTY);
45             System.setProperties(properties);
46         } else {
47             System.setProperty(Provider.JAXWSPROVIDER_PROPERTY, epfClassName);
48         }
49     }
50
51     public void testConstruction() {
52         ServerBinding sb = ei.getServerBinding();
53         assertNotNull(sb);
54         assertTrue(sb instanceof TestServerBinding);
55         Binding b = sb.getBinding();
56         assertNotNull(b);
57         TestServerBinding tsb = (TestServerBinding)sb;
58         ServerTransport st = tsb.getTransport();
59         assertNull(st);
60         EndpointReferenceType ref = ei.getEndpointReferenceType();
61         assertNull(ref.getAddress());
62
63     }
64
65     public void testActivate() throws Exception JavaDoc {
66         ServerBinding sb = ei.getServerBinding();
67         try {
68             sb.activate();
69         } catch (NullPointerException JavaDoc ex) {
70             // ignore
71
}
72         EndpointReferenceType ref = ei.getEndpointReferenceType();
73         EndpointReferenceUtils.setAddress(ref, "test://localhost:7777/test");
74         sb.activate();
75         TestServerBinding tsb = (TestServerBinding)sb;
76         ServerTransport st = tsb.getTransport();
77         assertNotNull(st);
78
79     }
80
81     public void testDispatch() throws Exception JavaDoc {
82         ServerBinding sb = ei.getServerBinding();
83         EndpointReferenceType ref = ei.getEndpointReferenceType();
84         EndpointReferenceUtils.setAddress(ref, "test://localhost:7777/test");
85         sb.activate();
86         TestServerBinding tsb = (TestServerBinding)sb;
87         ei.setExecutor(new Executor JavaDoc() {
88             public void execute(Runnable JavaDoc command) {
89                 command.run();
90             }
91         });
92
93         tsb.triggerTransport();
94         assertEquals(0, implementor.getInvocationCount("sayHi"));
95         assertEquals(0, implementor.getInvocationCount("overloadedSayHi"));
96         assertEquals(0, implementor.getInvocationCount("greetMe"));
97         
98         // method without annotation
99
tsb.currentOperation = "sayHi";
100         tsb.triggerTransport();
101         assertEquals(1, implementor.getInvocationCount("sayHi"));
102         assertEquals(0, implementor.getInvocationCount("overloadedSayHi"));
103         assertEquals(0, implementor.getInvocationCount("greetMe"));
104        
105         // method with parameter
106
tsb.currentOperation = "greetMe";
107         tsb.triggerTransport();
108         assertEquals(1, implementor.getInvocationCount("sayHi"));
109         assertEquals(0, implementor.getInvocationCount("overloadedSayHi"));
110         assertEquals(1, implementor.getInvocationCount("greetMe"));
111     }
112 }
113
Popular Tags