X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fspring%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fspring%2FSpringComponentTest.java;h=2da7a2355ad85c91f018989521c370f4be69eafc;hb=98856488516fbc8ba95bf0fd2fb739575da9ac5a;hp=c02f951ae82f63836067683e8e948a9b9d58140d;hpb=90df0a8dddc38ee5bc9b3a372af3e4d019293886;p=utils diff --git a/system/spring/src/test/java/org/wamblee/system/spring/SpringComponentTest.java b/system/spring/src/test/java/org/wamblee/system/spring/SpringComponentTest.java index c02f951a..2da7a235 100644 --- a/system/spring/src/test/java/org/wamblee/system/spring/SpringComponentTest.java +++ b/system/spring/src/test/java/org/wamblee/system/spring/SpringComponentTest.java @@ -8,15 +8,10 @@ import java.util.Properties; import junit.framework.TestCase; import org.wamblee.io.ClassPathResource; -import org.wamblee.system.AbstractProvidedInterfaceDescriptor; -import org.wamblee.system.AbstractProvidedInterfaceDescriptor; -import org.wamblee.system.DefaultRequiredInterfaceDescriptor; -import org.wamblee.system.DefaultServiceRegistry; -import org.wamblee.system.ProvidedInterfaceDescriptor; -import org.wamblee.system.RequiredInterfaceDescriptor; -import org.wamblee.system.Service; -import org.wamblee.system.InterfaceDescriptor; -import org.wamblee.system.ServiceRegistry; +import org.wamblee.system.DefaultProvidedInterface; +import org.wamblee.system.DefaultRequiredInterface; +import org.wamblee.system.ProvidedInterface; +import org.wamblee.system.RequiredInterface; import org.wamblee.system.SystemAssemblyException; public class SpringComponentTest extends TestCase { @@ -26,67 +21,65 @@ public class SpringComponentTest extends TestCase { private static final String HELLO_SERVICE_SPRING_WITH_PROPERTIES_XML = "test.org.wamblee.system.springWithProperties.xml"; private static final String PROPERTY_FILE = "test.org.wamblee.system.spring.properties"; - private ServiceRegistry _registry; - @Override protected void setUp() throws Exception { super.setUp(); - _registry = new DefaultServiceRegistry(); } public void testBlackboxSystem() { - SpringComponent system = new SpringComponent("system", _registry, + SpringComponent system = new SpringComponent("system", new String[] { HELLO_SERVICE_SPRING_XML }, - new HashMap(), - new HashMap()); - system.start("Hello", new Service[0]); - Service[] services = system.getRunningServices(); + new HashMap(), + new HashMap()); + system.start("Hello"); + ProvidedInterface[] services = system.getRunningServices(); assertEquals(0, services.length); system.stop(); } public void testOneProvidedService() { - Map provided = new HashMap(); - provided.put("helloService", new AbstractProvidedInterfaceDescriptor( + Map provided = new HashMap(); + provided.put("helloService", new DefaultProvidedInterface( "hello", HelloService.class)); - SpringComponent system = new SpringComponent("system", _registry, + SpringComponent system = new SpringComponent("system", new String[] { HELLO_SERVICE_SPRING_XML }, provided, - new HashMap()); - system.start("Hello", new Service[0]); - Service[] services = system.getRunningServices(); + new HashMap()); + system.start("Hello"); + ProvidedInterface[] services = system.getRunningServices(); assertEquals(1, services.length); - assertTrue(services[0].reference(HelloService.class) instanceof HelloService); - assertEquals("Hello world!", services[0].reference(HelloService.class) + assertTrue(services[0].getImplementation() instanceof HelloService); + assertEquals("Hello world!", ((HelloService)services[0].getImplementation()) .say()); system.stop(); } public void testWithProperties() throws IOException { - Map provided = new HashMap(); - provided.put("helloService", new AbstractProvidedInterfaceDescriptor( + Map provided = new HashMap(); + provided.put("helloService", new DefaultProvidedInterface( "hello", HelloService.class)); - SpringComponent system = new SpringComponent("system", _registry, + SpringComponent system = new SpringComponent("system", new String[] { HELLO_SERVICE_SPRING_WITH_PROPERTIES_XML }, provided, - new HashMap()); + new HashMap()); Properties props = new Properties(); props.load(new ClassPathResource(PROPERTY_FILE).getInputStream()); system.addProperties(props); - system.start("Hello", new Service[0]); - Service[] services = system.getRunningServices(); - assertEquals("Property Value", services[0].reference(HelloService.class).say()); + system.start("Hello"); + ProvidedInterface[] services = system.getRunningServices(); + assertEquals("Property Value", + ((HelloService)services[0].getImplementation()).say()); } public void testWithMissingRequirement() { try { - SpringComponent system = new SpringComponent("system", _registry, + SpringComponent system = new SpringComponent("system", new String[] { HELLO_SERVICE_SPRING_WITH_REQS_XML }, - new HashMap(), - new HashMap()); - system.start("Bla", new Service[0]); + new HashMap(), + new HashMap()); + system.start("Bla"); } catch (SystemAssemblyException e) { //e.printStackTrace(); return; @@ -95,39 +88,46 @@ public class SpringComponentTest extends TestCase { } public void testWithRequirement() { - Map required = new HashMap(); - required.put(new DefaultRequiredInterfaceDescriptor("hello", HelloService.class), + Map required = new HashMap(); + required.put(new DefaultRequiredInterface("hello", HelloService.class), "helloService"); - SpringComponent system = new SpringComponent("system", _registry, + SpringComponent system = new SpringComponent("system", new String[] { HELLO_SERVICE_SPRING_WITH_REQS_XML }, - new HashMap(), required); + new HashMap(), required); HelloService helloObject = new HelloService("ladida"); - Service helloService = _registry.register(new AbstractProvidedInterfaceDescriptor("hello", HelloService.class), helloObject); - system.start("Bla", new Service[] { helloService } ); + ProvidedInterface helloService = new DefaultProvidedInterface("hello", HelloService.class); + helloService.publish(helloObject); + system.getRequiredServices()[0].setProvider(helloService); + + system.start("Bla"); system.stop(); } public void testWithRequirementAndProvidedService() { - Map required = new HashMap(); - required.put(new DefaultRequiredInterfaceDescriptor("hello", HelloService.class), + Map required = new HashMap(); + required.put(new DefaultRequiredInterface("hello", HelloService.class), "helloService"); - Map provided = new HashMap(); - provided.put("blaService", new AbstractProvidedInterfaceDescriptor("bla", + Map provided = new HashMap(); + provided.put("blaService", new DefaultProvidedInterface("bla", BlaService.class)); - SpringComponent system = new SpringComponent("system", _registry, + SpringComponent system = new SpringComponent("system", new String[] { HELLO_SERVICE_SPRING_WITH_REQS_XML }, provided, required); HelloService helloObject = new HelloService("ladida"); - Service helloService = _registry.register(new AbstractProvidedInterfaceDescriptor("hello", HelloService.class), helloObject); - Service[] services = system.start("Bla", new Service[] { helloService } ); - assertEquals(1, services.length); + ProvidedInterface helloService = + new DefaultProvidedInterface("hello", HelloService.class); + helloService.publish(helloObject); + system.getRequiredServices()[0].setProvider(helloService); + system.start("Bla"); + ProvidedInterface started = system.getProvidedServices()[0]; - assertTrue(services[0].reference(BlaService.class) instanceof BlaService); - assertEquals("ladida", services[0].reference(BlaService.class) - .execute()); + assertNotNull(started.getImplementation()); + assertTrue(started.getImplementation() instanceof BlaService); + assertEquals("ladida", + ((BlaService)started.getImplementation()).execute()); system.stop(); }