?? xfireserviceregistervisitortest.java
字號:
package org.codehaus.xfire.picocontainer;import java.lang.reflect.Method;import javax.xml.namespace.QName;import org.codehaus.xfire.picocontainer.test.PicoXFireTest;import org.codehaus.xfire.service.Service;import org.codehaus.xfire.service.ServiceFactory;import org.codehaus.xfire.service.ServiceRegistry;import org.codehaus.xfire.service.invoker.Invoker;import org.picocontainer.defaults.CachingComponentAdapter;import org.picocontainer.defaults.ConstructorInjectionComponentAdapter;public class XFireServiceRegisterVisitorTest extends PicoXFireTest{ public int instanceCount = 0; public int callCount = 0; private XFireServiceRegisterVisitor xfireVisitor; public void setUp() throws Exception { super.setUp(); instanceCount = 0; callCount = 0; // Create using PicoObjectServiceFactory and put the Service into the // pico. ServiceFactory sf = getServiceFactory(); Service ms = sf.create(DummyServiceThatCounts.class); ms.setName(new QName("test")); getPico().registerComponentInstance(ms); // Register XFireServiceRegisterVisitor and its dependency into the // pico. getPico().registerComponentInstance(ServiceRegistry.class, getXFire().getServiceRegistry()); getPico().registerComponentImplementation(XFireServiceRegisterVisitor.class); // Get XFireServiceRegisterVisitor and execute it, now out last created // Service must be registred. xfireVisitor = (XFireServiceRegisterVisitor) getPico() .getComponentInstanceOfType(XFireServiceRegisterVisitor.class); getPico().accept(xfireVisitor); } public void testCachedServiceObject() throws Exception { // Put DummyServiceThatCounts and its dependency into the pico. Its // going to be cached, just one instance for container. getPico().registerComponent(new CachingComponentAdapter( new ConstructorInjectionComponentAdapter(DummyServiceThatCounts.class, DummyServiceThatCounts.class))); getPico().registerComponentInstance(this); // Execute it 3 times. ServiceRegistry sr = (ServiceRegistry) getPico() .getComponentInstance(ServiceRegistry.class); assertNotNull(sr); Service endpoint = sr.getService("test"); assertNotNull(endpoint); Invoker invoker = endpoint.getInvoker(); assertNotNull(invoker); Method method = DummyServiceThatCounts.class.getMethod("theMethod", new Class[] {}); assertNotNull(method); invoker.invoke(method, new Object[] {}, null); invoker.invoke(method, new Object[] {}, null); invoker.invoke(method, new Object[] {}, null); // Assert it assertEquals(1, instanceCount); assertEquals(3, callCount); } public void testNotCachedServiceObject() throws Exception { // Put DummyServiceThatCounts and its dependency into the pico. Its // going to NOT be cached, one instance by request. getPico().registerComponent(new ConstructorInjectionComponentAdapter( DummyServiceThatCounts.class, DummyServiceThatCounts.class)); getPico().registerComponentInstance(this); // Execute it 3 times. ServiceRegistry sr = (ServiceRegistry) getPico() .getComponentInstance(ServiceRegistry.class); assertNotNull(sr); Service endpoint = sr.getService("test"); assertNotNull(endpoint); Invoker invoker = endpoint.getInvoker(); assertNotNull(invoker); Method method = DummyServiceThatCounts.class.getMethod("theMethod", new Class[] {}); assertNotNull(method); invoker.invoke(method, new Object[] {}, null); invoker.invoke(method, new Object[] {}, null); invoker.invoke(method, new Object[] {}, null); // Assert it assertEquals(3, instanceCount); assertEquals(3, callCount); } public class DummyServiceThatCounts { private final XFireServiceRegisterVisitorTest test; public DummyServiceThatCounts(XFireServiceRegisterVisitorTest test) { this.test = test; this.test.instanceCount++; } public void theMethod() { test.callCount++; return; } }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -