1 package org.objectweb.celtix.geronimo; 2 3 import java.io.IOException ; 4 import java.util.HashMap ; 5 import java.util.Map ; 6 7 import javax.wsdl.WSDLException; 8 import javax.wsdl.extensions.ExtensionRegistry; 9 import javax.xml.ws.Binding; 10 11 import org.easymock.classextension.EasyMock; 12 import org.objectweb.celtix.Bus; 13 import org.objectweb.celtix.BusException; 14 import org.objectweb.celtix.bindings.BindingFactory; 15 import org.objectweb.celtix.bindings.BindingManager; 16 import org.objectweb.celtix.bindings.ServerBinding; 17 import org.objectweb.celtix.bindings.ServerBindingEndpointCallback; 18 import org.objectweb.celtix.buslifecycle.BusLifeCycleManager; 19 import org.objectweb.celtix.configuration.Configuration; 20 import org.objectweb.celtix.jaxws.EndpointRegistry; 21 import org.objectweb.celtix.resource.ResourceManager; 22 import org.objectweb.celtix.transports.TransportFactoryManager; 23 import org.objectweb.celtix.ws.addressing.EndpointReferenceType; 24 import org.objectweb.celtix.wsdl.WSDLManager; 25 26 public final class MockBusFactory { 27 28 private Bus mockBus; 29 private Configuration mockConfiguration; 30 private BindingManager mockBindingMgr; 31 private ServerBinding mockServerBinding; 32 private BindingFactory mockBindingFactory; 33 private WSDLManager mockWsdlManager; 34 private ExtensionRegistry mockExtensionRegistry; 35 private BusLifeCycleManager mockLifeCycleManager; 36 private EndpointRegistry mockEndpointRegistry; 37 private Binding mockBinding; 38 private ResourceManager mockResourceManager; 39 private TransportFactoryManager mockTransportFactoryManager; 40 41 private Map mocks = new HashMap (); 42 43 public void replay() { 44 EasyMock.replay(mockBus); 45 EasyMock.replay(mockConfiguration); 46 EasyMock.replay(mockBindingMgr); 47 EasyMock.replay(mockServerBinding); 48 EasyMock.replay(mockBindingFactory); 49 EasyMock.replay(mockWsdlManager); 50 EasyMock.replay(mockExtensionRegistry); 51 EasyMock.replay(mockLifeCycleManager); 52 EasyMock.replay(mockEndpointRegistry); 53 EasyMock.replay(mockBinding); 54 EasyMock.replay(mockResourceManager); 55 EasyMock.replay(mockTransportFactoryManager); 56 } 57 58 public <T> T getMock(Class <T> type) { 59 return type.cast(mocks.get(type)); 60 } 61 62 public Bus createMockBus() throws BusException, WSDLException, IOException { 63 64 mockBus = createNiceMock(Bus.class); 65 mockConfiguration = createNiceMock(Configuration.class); 66 mockBindingMgr = createNiceMock(BindingManager.class); 67 mockBindingFactory = createNiceMock(BindingFactory.class); 68 mockServerBinding = createNiceMock(ServerBinding.class); 69 mockWsdlManager = createNiceMock(WSDLManager.class); 70 mockExtensionRegistry = createNiceMock(ExtensionRegistry.class); 71 mockLifeCycleManager = createNiceMock(BusLifeCycleManager.class); 72 mockEndpointRegistry = createNiceMock(EndpointRegistry.class); 73 mockBinding = createNiceMock(Binding.class); 74 mockResourceManager = createNiceMock(ResourceManager.class); 75 mockTransportFactoryManager = createNiceMock(TransportFactoryManager.class); 76 77 EasyMock.expect(mockBus.getResourceManager()) 78 .andReturn(mockResourceManager).anyTimes(); 79 EasyMock.expect(mockBus.getConfiguration()) 80 .andReturn(mockConfiguration).anyTimes(); 81 EasyMock.expect(mockBus.getBindingManager()) 82 .andReturn(mockBindingMgr).anyTimes(); 83 84 EasyMock.expect(mockBus.getEndpointRegistry()) 85 .andReturn(mockEndpointRegistry).anyTimes(); 86 87 EasyMock.expect(mockBindingMgr.getBindingFactory((String )EasyMock.anyObject())) 88 .andReturn(mockBindingFactory).anyTimes(); 89 90 EasyMock.expect(mockBindingFactory.createServerBinding((EndpointReferenceType)EasyMock.anyObject(), 91 (ServerBindingEndpointCallback)EasyMock.anyObject())) 92 .andReturn(mockServerBinding); 93 94 EasyMock.expect(mockServerBinding.getBinding()).andReturn(mockBinding).anyTimes(); 95 96 EasyMock.expect(mockBus.getWSDLManager()).andReturn(mockWsdlManager).anyTimes(); 97 EasyMock.expect(mockWsdlManager.getExtenstionRegistry()).andReturn(mockExtensionRegistry) 98 .anyTimes(); 99 EasyMock.expect(mockBus.getLifeCycleManager()).andReturn(mockLifeCycleManager).anyTimes(); 100 EasyMock.expect(mockBus.getTransportFactoryManager()) 101 .andReturn(mockTransportFactoryManager).anyTimes(); 102 103 return mockBus; 104 } 105 106 public Configuration addChildConfig(String namespaceURI, Object id, Configuration childConfig) { 107 108 if (childConfig == null) { 109 childConfig = EasyMock.createNiceMock(Configuration.class); 110 } 111 112 EasyMock.expect(mockConfiguration.getChild(EasyMock.eq(namespaceURI), 113 id != null 114 ? EasyMock.eq(id) 115 : EasyMock.anyObject())) 116 .andReturn(childConfig) 117 .anyTimes(); 118 return childConfig; 119 } 120 121 public Bus getBus() { 122 return mockBus; 123 } 124 125 @SuppressWarnings ("unchecked") 126 private <T> T createNiceMock(Class <T> type) { 127 T ret = EasyMock.createNiceMock(type); 128 mocks.put(type, ret); 129 return ret; 130 } 131 132 133 } 134 | Popular Tags |