1 package org.nanocontainer.script.xml.issues; 2 3 import com.thoughtworks.proxy.toys.hotswap.Swappable; 4 5 import java.io.Reader ; 6 import java.io.StringReader ; 7 import java.util.List ; 8 9 import org.nanocontainer.script.AbstractScriptedContainerBuilderTestCase; 10 import org.nanocontainer.script.xml.XMLContainerBuilder; 11 import org.picocontainer.PicoContainer; 12 13 public class Issue0170TestCase extends AbstractScriptedContainerBuilderTestCase { 15 16 public void testHotSwappingCAF() { 17 Reader script = new StringReader ("" + 18 "<container>" + 19 " <component-adapter-factory key='factory' class='org.picocontainer.gems.adapters.HotSwappingComponentAdapterFactory'>"+ 20 " <component-adapter-factory class='org.picocontainer.defaults.CachingComponentAdapterFactory'>"+ 21 " <component-adapter-factory class='org.picocontainer.defaults.ConstructorInjectionComponentAdapterFactory'/>"+ 22 " </component-adapter-factory>"+ 23 " </component-adapter-factory>"+ 24 " <component-adapter class-name-key='java.util.List' class='java.util.ArrayList' factory='factory'/>"+ 25 "</container>"); 26 27 PicoContainer pico = buildContainer(script); 28 assertNotNull(pico); 29 List list = (List )pico.getComponentInstanceOfType(List .class); 30 assertNotNull(list); 31 assertTrue(list instanceof Swappable); 32 } 33 34 private PicoContainer buildContainer(Reader script) { 35 return buildContainer(new XMLContainerBuilder(script, getClass().getClassLoader()), null, "SOME_SCOPE"); 36 } 37 38 } 39 40 | Popular Tags |