X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fspring%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fspring%2FSpringComponentTest.java;h=ba465f4c1dbcb5a273558b46a7582232ce63d57a;hb=8de36ff0206c996baf3ee4adc3e2293b12ff5f39;hp=6407c14463db1f80d98efaa38f61701f04592d0f;hpb=89c06d4d52b46c154128c97d6e758fa1f4fc7a6e;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 6407c144..ba465f4c 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 @@ -36,120 +36,81 @@ import java.util.List; import java.util.Map; import java.util.Properties; - /** - * DOCUMENT ME! - * + * * @author $author$ * @version $Revision$ */ public class SpringComponentTest extends TestCase { - /** - * DOCUMENT ME! - */ private static final String HELLO_SERVICE_SPRING_XML = "test.org.wamblee.system.spring.xml"; - /** - * DOCUMENT ME! - */ private static final String HELLO_SERVICE_SPRING_WITH_REQS_XML = "test.org.wamblee.system.springWithRequirements.xml"; - /** - * DOCUMENT ME! - */ private static final String HELLO_SERVICE_SPRING_WITH_PROPERTIES_XML = "test.org.wamblee.system.springWithProperties.xml"; - /** - * DOCUMENT ME! - */ private static final String HELLO_SERVICE_SPRING_WITH_PROPERTIES_XML2 = "test.org.wamblee.system.springWithProperties2.xml"; - /** - * DOCUMENT ME! - */ private static final String PROPERTY_FILE = "test.org.wamblee.system.spring.properties"; - /** - * DOCUMENT ME! - */ public static EventTracker EVENT_TRACKER; - /** - * DOCUMENT ME! - */ private Scope externalScope; - /** - * DOCUMENT ME! - * - * @throws Exception DOCUMENT ME! - */ @Override protected void setUp() throws Exception { super.setUp(); - EVENT_TRACKER = new EventTracker(); - externalScope = new DefaultScope(new ProvidedInterface[0]); + EVENT_TRACKER = new EventTracker(); + externalScope = new DefaultScope(new ProvidedInterface[0]); } - /** - * DOCUMENT ME! - */ public void testBlackboxSystem() { - SpringComponent system = new SpringComponent("system", - new String[] { HELLO_SERVICE_SPRING_XML }, - new HashMap(), - new HashMap()); + SpringComponent system = new SpringComponent("system", + new String[] { HELLO_SERVICE_SPRING_XML }, + new HashMap(), + new HashMap()); - Scope runtime = system.start(externalScope); + Scope runtime = system.start(externalScope); assertEquals(0, externalScope.getProvidedInterfaces().size()); system.stop(runtime); } - /** - * DOCUMENT ME! - */ public void testOneProvidedService() { Map provided = new HashMap(); - provided.put("helloService", - new DefaultProvidedInterface("hello", HelloService.class)); + provided.put("helloService", new DefaultProvidedInterface("hello", + HelloService.class)); - SpringComponent system = new SpringComponent("system", - new String[] { HELLO_SERVICE_SPRING_XML }, provided, - new HashMap()); - Scope runtime = system.start(externalScope); + SpringComponent system = new SpringComponent("system", + new String[] { HELLO_SERVICE_SPRING_XML }, provided, + new HashMap()); + Scope runtime = system.start(externalScope); List services = runtime.getProvidedInterfaces(); assertEquals(1, services.size()); Object service = runtime.getInterfaceImplementation(services.get(0), - Object.class); + Object.class); assertTrue(service instanceof HelloService); // BUG; Provided services should be made available in the external // scope. - Object service2 = externalScope.getInterfaceImplementation(provided.get( - "helloService"), Object.class); + Object service2 = externalScope.getInterfaceImplementation(provided + .get("helloService"), Object.class); assertSame(service, service2); assertEquals("Hello world!", ((HelloService) service).say()); system.stop(runtime); } - /** - * DOCUMENT ME! - * - * @throws IOException DOCUMENT ME! - */ public void testWithProperties() throws IOException { Map provided = new HashMap(); - provided.put("helloService", - new DefaultProvidedInterface("hello", HelloService.class)); + provided.put("helloService", new DefaultProvidedInterface("hello", + HelloService.class)); SpringComponent system = new SpringComponent("system", - new String[] { HELLO_SERVICE_SPRING_WITH_PROPERTIES_XML }, - provided, new HashMap()); - Properties props = new Properties(); + new String[] { HELLO_SERVICE_SPRING_WITH_PROPERTIES_XML }, + provided, new HashMap()); + Properties props = new Properties(); props.load(new ClassPathResource(PROPERTY_FILE).getInputStream()); system.addProperties(props); @@ -160,46 +121,37 @@ public class SpringComponentTest extends TestCase { assertEquals(1, EVENT_TRACKER.getEventCount()); List services = scope.getProvidedInterfaces(); - assertEquals("Property Value", - scope.getInterfaceImplementation(services.get(0), HelloService.class) - .say()); + assertEquals("Property Value", scope.getInterfaceImplementation( + services.get(0), HelloService.class).say()); } - /** - * DOCUMENT ME! - * - * @throws IOException DOCUMENT ME! - */ public void testWithPropertiesAsBean() throws IOException { Map provided = new HashMap(); - provided.put("helloService", - new DefaultProvidedInterface("hello", HelloService2.class)); + provided.put("helloService", new DefaultProvidedInterface("hello", + HelloService2.class)); SpringComponent system = new SpringComponent("system", - new String[] { HELLO_SERVICE_SPRING_WITH_PROPERTIES_XML2 }, - provided, new HashMap()); - Properties props = new Properties(); + new String[] { HELLO_SERVICE_SPRING_WITH_PROPERTIES_XML2 }, + provided, new HashMap()); + Properties props = new Properties(); props.load(new ClassPathResource(PROPERTY_FILE).getInputStream()); system.addProperties("properties", props); - Scope scope = system.start(externalScope); + Scope scope = system.start(externalScope); List services = scope.getProvidedInterfaces(); - Properties props2 = scope.getInterfaceImplementation(services - .get(0), HelloService2.class).getProperties(); + Properties props2 = scope.getInterfaceImplementation(services.get(0), + HelloService2.class).getProperties(); assertEquals(props, props2); } - /** - * DOCUMENT ME! - */ public void testWithMissingRequirement() { try { SpringComponent system = new SpringComponent("system", - new String[] { HELLO_SERVICE_SPRING_WITH_REQS_XML }, - new HashMap(), - new HashMap()); + new String[] { HELLO_SERVICE_SPRING_WITH_REQS_XML }, + new HashMap(), + new HashMap()); system.start(externalScope); } catch (SystemAssemblyException e) { // e.printStackTrace(); @@ -209,24 +161,19 @@ public class SpringComponentTest extends TestCase { fail(); } - /** - * DOCUMENT ME! - */ public void testWithRequirement() { Map required = new HashMap(); required.put(new DefaultRequiredInterface("hello", HelloService.class), "helloService"); - SpringComponent system = new SpringComponent("system", - new String[] { HELLO_SERVICE_SPRING_WITH_REQS_XML }, - new HashMap(), required); + SpringComponent system = new SpringComponent("system", + new String[] { HELLO_SERVICE_SPRING_WITH_REQS_XML }, + new HashMap(), required); - HelloService helloObject = new HelloService("ladida"); + HelloService helloObject = new HelloService("ladida"); ProvidedInterface helloService = new DefaultProvidedInterface("hello", - HelloService.class); - Scope scope = new DefaultScope(new ProvidedInterface[] { - helloService - }); + HelloService.class); + Scope scope = new DefaultScope(new ProvidedInterface[] { helloService }); scope.publishInterface(helloService, helloObject); system.getRequiredInterfaces().get(0).setProvider(helloService); @@ -234,36 +181,31 @@ public class SpringComponentTest extends TestCase { system.stop(runtime); } - /** - * DOCUMENT ME! - */ public void testWithRequirementAndProvidedService() { Map required = new HashMap(); required.put(new DefaultRequiredInterface("hello", HelloService.class), "helloService"); Map provided = new HashMap(); - provided.put("blaService", - new DefaultProvidedInterface("bla", BlaService.class)); + provided.put("blaService", new DefaultProvidedInterface("bla", + BlaService.class)); - SpringComponent system = new SpringComponent("system", - new String[] { HELLO_SERVICE_SPRING_WITH_REQS_XML }, provided, - required); + SpringComponent system = new SpringComponent("system", + new String[] { HELLO_SERVICE_SPRING_WITH_REQS_XML }, provided, + required); - HelloService helloObject = new HelloService("ladida"); + HelloService helloObject = new HelloService("ladida"); ProvidedInterface helloService = new DefaultProvidedInterface("hello", - HelloService.class); - Scope scope = new DefaultScope(new ProvidedInterface[] { - helloService - }); + HelloService.class); + Scope scope = new DefaultScope(new ProvidedInterface[] { helloService }); scope.publishInterface(helloService, helloObject); system.getRequiredInterfaces().get(0).setProvider(helloService); - Scope runtime = system.start(scope); + Scope runtime = system.start(scope); ProvidedInterface started = runtime.getProvidedInterfaces().get(0); - Object impl = runtime.getInterfaceImplementation(started, - BlaService.class); + Object impl = runtime.getInterfaceImplementation(started, + BlaService.class); assertNotNull(impl); assertTrue(impl instanceof BlaService); assertEquals("ladida", ((BlaService) impl).execute()); @@ -271,36 +213,36 @@ public class SpringComponentTest extends TestCase { } /** - * Tests a scenario where a subclass of SpringComponent adds a new - * provided interface where the interface is provided by the subclass - * itself and not by the spring configs inside. + * Tests a scenario where a subclass of SpringComponent adds a new provided + * interface where the interface is provided by the subclass itself and not + * by the spring configs inside. */ public void testWithProvidedFromSubClassNotFromConfig() { Map provided = new HashMap(); - provided.put("helloService", - new DefaultProvidedInterface("hello", HelloService.class)); + provided.put("helloService", new DefaultProvidedInterface("hello", + HelloService.class)); - SubSpringComponent system = new SubSpringComponent("system", - new String[] { HELLO_SERVICE_SPRING_XML }, provided, - new HashMap()); + SubSpringComponent system = new SubSpringComponent("system", + new String[] { HELLO_SERVICE_SPRING_XML }, provided, + new HashMap()); - Scope runtime = system.start(externalScope); + Scope runtime = system.start(externalScope); List services = runtime.getProvidedInterfaces(); assertEquals(2, services.size()); Object service = runtime.getInterfaceImplementation(services.get(0), - Object.class); + Object.class); assertTrue(service instanceof HelloService); // BUG; Provided services should be made available in the external // scope. - Object service2 = externalScope.getInterfaceImplementation(provided.get( - "helloService"), Object.class); + Object service2 = externalScope.getInterfaceImplementation(provided + .get("helloService"), Object.class); assertSame(service, service2); - Object floatsvc = externalScope.getInterfaceImplementation(system.getProvidedInterfaces() - .get(1), Object.class); + Object floatsvc = externalScope.getInterfaceImplementation(system + .getProvidedInterfaces().get(1), Object.class); assertTrue(floatsvc instanceof Float); assertTrue((((Float) floatsvc).floatValue() - 100.345f) < 0.00001); @@ -309,28 +251,26 @@ public class SpringComponentTest extends TestCase { } /** - * Tests the spring component with an additional requirement from - * the subclass which is not required by the spring config files inside. + * Tests the spring component with an additional requirement from the + * subclass which is not required by the spring config files inside. */ public void testWithRequirementFromSubClass() { Map required = new HashMap(); required.put(new DefaultRequiredInterface("hello", HelloService.class), "helloService"); - SpringComponent system = new SubSpringComponent2("system", - new String[] { HELLO_SERVICE_SPRING_WITH_REQS_XML }, - new HashMap(), required); + SpringComponent system = new SubSpringComponent2("system", + new String[] { HELLO_SERVICE_SPRING_WITH_REQS_XML }, + new HashMap(), required); - HelloService helloObject = new HelloService("ladida"); + HelloService helloObject = new HelloService("ladida"); ProvidedInterface helloService = new DefaultProvidedInterface("hello", - HelloService.class); + HelloService.class); ProvidedInterface floatService = new DefaultProvidedInterface("float", - Float.class); + Float.class); - Scope scope = new DefaultScope(new ProvidedInterface[] { - helloService - }); + Scope scope = new DefaultScope(new ProvidedInterface[] { helloService }); scope.publishInterface(helloService, helloObject); scope.publishInterface(floatService, 100.234f); system.getRequiredInterfaces().get(0).setProvider(helloService);