- private static final String HELLO_SERVICE_SPRING_XML = "test.org.wamblee.system.spring.xml";
- private static final String HELLO_SERVICE_SPRING_WITH_REQS_XML = "test.org.wamblee.system.springWithRequirements.xml";
- private static final String HELLO_SERVICE_SPRING_WITH_PROPERTIES_XML = "test.org.wamblee.system.springWithProperties.xml";
- private static final String HELLO_SERVICE_SPRING_WITH_PROPERTIES_XML2 = "test.org.wamblee.system.springWithProperties2.xml";
-
- private static final String PROPERTY_FILE = "test.org.wamblee.system.spring.properties";
-
- public static EventTracker<String> EVENT_TRACKER;
-
- private Scope _externalScope;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- EVENT_TRACKER = new EventTracker<String>();
- _externalScope = new DefaultScope(new ProvidedInterface[0]);
- }
-
- public void testBlackboxSystem() {
- SpringComponent system = new SpringComponent("system",
- new String[] { HELLO_SERVICE_SPRING_XML },
- new HashMap<String, ProvidedInterface>(),
- new HashMap<RequiredInterface, String>());
-
- Scope runtime = system.start(_externalScope);
- assertEquals(0, _externalScope.getProvidedInterfaces().length);
-
- system.stop(runtime);
- }
-
- public void testOneProvidedService() {
- Map<String, ProvidedInterface> provided = new HashMap<String, ProvidedInterface>();
- provided.put("helloService", new DefaultProvidedInterface("hello",
- HelloService.class));
-
- SpringComponent system = new SpringComponent("system",
- new String[] { HELLO_SERVICE_SPRING_XML }, provided,
- new HashMap<RequiredInterface, String>());
- Scope runtime = system.start(_externalScope);
- ProvidedInterface[] services = runtime.getProvidedInterfaces();
-
- assertEquals(1, services.length);
- Object service = runtime.getInterfaceImplementation(services[0], 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);
- assertSame(service, service2);
-
- assertEquals("Hello world!", ((HelloService) service).say());
- system.stop(runtime);
- }
-
- public void testWithProperties() throws IOException {
- Map<String, ProvidedInterface> provided = new HashMap<String, ProvidedInterface>();
- provided.put("helloService", new DefaultProvidedInterface("hello",
- HelloService.class));
- SpringComponent system = new SpringComponent("system",
- new String[] { HELLO_SERVICE_SPRING_WITH_PROPERTIES_XML },
- provided, new HashMap<RequiredInterface, String>());
- Properties props = new Properties();
- props.load(new ClassPathResource(PROPERTY_FILE).getInputStream());
- system.addProperties(props);
-
- Scope scope = system.start(_externalScope);
- // BUG: Hello service was constructed multiple times. Once with the unprocessed property
- // and another time with the processed property.
- assertEquals(1, EVENT_TRACKER.getEventCount());
- ProvidedInterface[] services = scope.getProvidedInterfaces();
- assertEquals("Property Value", scope.getInterfaceImplementation(services[0], HelloService.class).say());
- }
-
- public void testWithPropertiesAsBean() throws IOException {
+ /**
+ * DOCUMENT ME!
+ */
+ private Scope externalScope;
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @throws Exception DOCUMENT ME!
+ */
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ EVENT_TRACKER = new EventTracker<String>();
+ externalScope = new DefaultScope(new ProvidedInterface[0]);
+ }
+
+ /**
+ * DOCUMENT ME!
+ */
+ public void testBlackboxSystem() {
+ SpringComponent system = new SpringComponent("system",
+ new String[] { HELLO_SERVICE_SPRING_XML },
+ new HashMap<String, ProvidedInterface>(),
+ new HashMap<RequiredInterface, String>());
+
+ Scope runtime = system.start(externalScope);
+ assertEquals(0, externalScope.getProvidedInterfaces().size());
+
+ system.stop(runtime);
+ }
+
+ /**
+ * DOCUMENT ME!
+ */
+ public void testOneProvidedService() {
+ Map<String, ProvidedInterface> provided = new HashMap<String, ProvidedInterface>();
+ provided.put("helloService",
+ new DefaultProvidedInterface("hello", HelloService.class));
+
+ SpringComponent system = new SpringComponent("system",
+ new String[] { HELLO_SERVICE_SPRING_XML }, provided,
+ new HashMap<RequiredInterface, String>());
+ Scope runtime = system.start(externalScope);
+ List<ProvidedInterface> services = runtime.getProvidedInterfaces();
+
+ assertEquals(1, services.size());
+
+ Object service = runtime.getInterfaceImplementation(services.get(0),
+ 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);
+ assertSame(service, service2);
+
+ assertEquals("Hello world!", ((HelloService) service).say());
+ system.stop(runtime);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @throws IOException DOCUMENT ME!
+ */
+ public void testWithProperties() throws IOException {