osdir.com
mailing list archive
Mozy Online Backup: 2GB Free. Automatic. Secure.

Subject: [picocontainer-scm] [3574] java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer: playing with style of XML for testing - msg#00115

List: java.picocontainer.cvs

Date: Prev Next Index Thread: Prev Next Index
Revision 3574 Author paul Date 2007-06-27 10:18:36 -0500 (Wed, 27 Jun 2007) Log Message
playing with style of XML for testing
Modified Paths Diff Modified: java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/NanoBuilderTestCase.java (3573 => 3574)
--- java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/NanoBuilderTestCase.java	2007-06-27 04:04:42 UTC (rev 3573)
+++ java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/NanoBuilderTestCase.java	2007-06-27 15:18:36 UTC (rev 3574)
@@ -68,6 +68,9 @@
                 "    parent=org.picocontainer.containers.EmptyPicoContainer\n" +
                 "    lifecycleStrategy=org.picocontainer.lifecycle.ReflectionLifecycleStrategy\n" +
                 "      methodNames\n" +
+                "        string:start\n" +
+                "        string:stop\n" +
+                "        string:dispose\n" +
                 "      componentMonitor=org.picocontainer.monitors.NullComponentMonitor\n" +
                 "    componentMonitor=org.picocontainer.monitors.NullComponentMonitor reference=/org.nanocontainer.DefaultNanoContainer/delegate/lifecycleStrategy/componentMonitor\n",
                 foo);
Modified: java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/PrettyXmlRepresentation.java (3573 => 3574)
--- java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/PrettyXmlRepresentation.java	2007-06-27 04:04:42 UTC (rev 3573)
+++ java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/PrettyXmlRepresentation.java	2007-06-27 15:18:36 UTC (rev 3574)
@@ -50,7 +50,8 @@
         String line = lnr.readLine();
         String foo = "";
         while (line != null) {
-            if (line.indexOf("</") == -1) {
+            int clo = line.indexOf("</");
+            if (clo == -1 || !line.substring(0, clo).trim().equals("")) {
                 int l = line.indexOf("<");
                 int r = line.lastIndexOf("/>");
                 int s = -1;
@@ -58,6 +59,10 @@
                     s = line.indexOf(" ",l);
                 }
                 if (((l < s && s < r) || l == -1 || r == -1) && line.indexOf("DefaultPicoContainer$OrderedComponentAdapterLifecycleManager") == -1) {
+                    String s1 = line.trim();
+                    if (s1.startsWith("<string>") && line.trim().endsWith("</string>")) {
+                        line = line.substring(0, line.indexOf("<string>")) + "string:" + line.substring(line.indexOf("<string>")+"<string>".length(), line.lastIndexOf("</string>"));
+                    }
                     foo += line + "\n";
                 }
             }
Modified: java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/script/xml/XMLContainerBuilderTestCase.java (3573 => 3574)
--- java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/script/xml/XMLContainerBuilderTestCase.java	2007-06-27 04:04:42 UTC (rev 3573)
+++ java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/script/xml/XMLContainerBuilderTestCase.java	2007-06-27 15:18:36 UTC (rev 3574)
@@ -574,7 +574,7 @@
         assertEquals("bean2", "hello2", composer.getBean2().getBar());
     }
 
-    public void testComponentAdapterWithSpecifiedFactory() {
+    public void testComponentAdapterWithSpecifiedFactory() throws IOException {
         Reader script = new StringReader("" +
                 "<container>" +
                 "  <component-instance key='bean1'>" +
@@ -595,7 +595,14 @@
                 " 		<parameter key='bean2'/>" +
                 "  </component-adapter>" +
                 "</container>");
-        PicoContainer pico = buildContainer(script);
+        MutablePicoContainer pico = (MutablePicoContainer)buildContainer(script);
+
+        String s = new PrettyXmlRepresentation().simplifyRepresentation(pico);
+        System.out.println("xml rep\n\n" + s);;
+
+
+
+
         assertNotNull(pico.getComponent("beanKey"));
         TestBeanComposer composer = (TestBeanComposer) pico.getComponent("beanKey");
         assertEquals("bean1", "hello1", composer.getBean1().getBar());

To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Was this page helpful?
Yes No
Thread at a glance:

Previous Message by Date: click to view message preview

[picocontainer-scm] [3573] java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer: improvement of xstream representation of containers for testing

Revision 3573 Author paul Date 2007-06-26 23:04:42 -0500 (Tue, 26 Jun 2007) Log Message improvement of xstream representation of containers for testing Modified Paths java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/NanoBuilder.java java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/script/xml/XMLContainerBuilder.java java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/NanoBuilderTestCase.java java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/PrettyXmlRepresentation.java java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/script/xml/XMLContainerBuilderTestCase.java Diff Modified: java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/NanoBuilder.java (3572 => 3573) --- java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/NanoBuilder.java 2007-06-27 01:13:22 UTC (rev 3572) +++ java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/NanoBuilder.java 2007-06-27 04:04:42 UTC (rev 3573) @@ -42,11 +42,15 @@ DefaultPicoContainer temp = new TransientPicoContainer(); temp.addComponent(ClassLoader.class, classLoader); temp.addComponent("nc", ncClass); - temp.addComponent(MutablePicoContainer.class, picoBuilder.build()); + temp.addComponent(MutablePicoContainer.class, buildPico()); NanoContainer nc = (NanoContainer)temp.getComponent("nc"); return nc; } + public MutablePicoContainer buildPico() { + return picoBuilder.build(); + } + public NanoBuilder withConsoleMonitor() { picoBuilder.withConsoleMonitor(); return this; Modified: java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/script/xml/XMLContainerBuilder.java (3572 => 3573) --- java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/script/xml/XMLContainerBuilder.java 2007-06-27 01:13:22 UTC (rev 3572) +++ java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/script/xml/XMLContainerBuilder.java 2007-06-27 04:04:42 UTC (rev 3573) @@ -162,7 +162,7 @@ .withLifecycle() .withComponentFactory(componentFactoryName) .withMonitor(monitorName) - .build(); + .buildPico(); } Modified: java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/NanoBuilderTestCase.java (3572 => 3573) --- java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/NanoBuilderTestCase.java 2007-06-27 01:13:22 UTC (rev 3572) +++ java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/NanoBuilderTestCase.java 2007-06-27 04:04:42 UTC (rev 3573) @@ -16,6 +16,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; +import java.io.IOException; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.converters.Converter; @@ -33,7 +34,7 @@ pxr = new PrettyXmlRepresentation(); } - public void testBasic() { + public void testBasic() throws IOException { NanoContainer nc = new NanoBuilder().build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -45,7 +46,7 @@ "",foo); } - public void testWithStartableLifecycle() { + public void testWithStartableLifecycle() throws IOException { NanoContainer nc = new NanoBuilder().withLifecycle().build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -54,12 +55,11 @@ " parent=org.picocontainer.containers.EmptyPicoContainer\n" + " lifecycleStrategy=org.picocontainer.lifecycle.StartableLifecycleStrategy\n" + " componentMonitor=org.picocontainer.monitors.NullComponentMonitor\n" + - " lifecycleStrategy\n" + " componentMonitor=org.picocontainer.monitors.NullComponentMonitor reference=/org.nanocontainer.DefaultNanoContainer/delegate/lifecycleStrategy/componentMonitor\n", foo); } - public void testWithReflectionLifecycle() { + public void testWithReflectionLifecycle() throws IOException { NanoContainer nc = new NanoBuilder().withReflectionLifecycle().build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -68,17 +68,12 @@ " parent=org.picocontainer.containers.EmptyPicoContainer\n" + " lifecycleStrategy=org.picocontainer.lifecycle.ReflectionLifecycleStrategy\n" + " methodNames\n" + - " stringstartstring\n" + - " stringstopstring\n" + - " stringdisposestring\n" + - " methodNames\n" + " componentMonitor=org.picocontainer.monitors.NullComponentMonitor\n" + - " lifecycleStrategy\n" + " componentMonitor=org.picocontainer.monitors.NullComponentMonitor reference=/org.nanocontainer.DefaultNanoContainer/delegate/lifecycleStrategy/componentMonitor\n", foo); } - public void testWithConsoleMonitor() { + public void testWithConsoleMonitor() throws IOException { NanoContainer nc = new NanoBuilder().withConsoleMonitor().build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -91,7 +86,7 @@ "",foo); } - public void testWithCustomMonitorByClass() { + public void testWithCustomMonitorByClass() throws IOException { NanoContainer nc = new NanoBuilder().withMonitor(ConsoleComponentMonitor.class).build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -115,7 +110,7 @@ } } - public void testWithImplementationHiding() { + public void testWithImplementationHiding() throws IOException { NanoContainer nc = new NanoBuilder().withHiddenImplementations().build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -128,7 +123,7 @@ } - public void testWithImplementationHidingInstance() { + public void testWithImplementationHidingInstance() throws IOException { NanoContainer nc = new NanoBuilder().withComponentFactory(new ImplementationHidingBehaviorFactory()).build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -141,7 +136,7 @@ foo); } - public void testWithComponentFactoriesListChainThingy() { + public void testWithComponentFactoriesListChainThingy() throws IOException{ NanoContainer nc = new NanoBuilder(SDI()).withComponentAdapterFactories(caching(), implHiding()).build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -158,18 +153,18 @@ public static class CustomParentcontainer extends EmptyPicoContainer { } - public void testWithCustomParentContainer() { + public void testWithCustomParentContainer() throws IOException { NanoContainer nc = new NanoBuilder(new CustomParentcontainer()).build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + " delegate=org.picocontainer.DefaultPicoContainer\n" + " componentFactory=org.picocontainer.injectors.AdaptiveInjectionFactory\n" + - " parent=org.nanocontainer.NanoBuilderTestCase_CustomParentcontainer\n" + + " parent=org.nanocontainer.NanoBuilderTestCase$CustomParentcontainer\n" + " lifecycleStrategy=org.picocontainer.lifecycle.NullLifecycleStrategy\n" + " componentMonitor=org.picocontainer.monitors.NullComponentMonitor\n", foo); } - public void testWithBogusParentContainerBehavesAsIfNotSet() { + public void testWithBogusParentContainerBehavesAsIfNotSet() throws IOException { NanoContainer nc = new NanoBuilder((PicoContainer)null).build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -182,7 +177,7 @@ } - public void testWithSetterDI() { + public void testWithSetterDI() throws IOException { NanoContainer nc = new NanoBuilder().withSetterInjection().build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -194,7 +189,7 @@ foo); } - public void testWithAnnotationDI() { + public void testWithAnnotationDI() throws IOException { NanoContainer nc = new NanoBuilder().withAnnotationInjection().build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -206,7 +201,7 @@ foo); } - public void testWithCtorDI() { + public void testWithCtorDI() throws IOException { NanoContainer nc = new NanoBuilder().withConstructorInjection().build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -217,7 +212,7 @@ " componentMonitor=org.picocontainer.monitors.NullComponentMonitor\n",foo); } - public void testWithImplementationHidingAndSetterDI() { + public void testWithImplementationHidingAndSetterDI() throws IOException { NanoContainer nc = new NanoBuilder().withHiddenImplementations().withSetterInjection().build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -230,7 +225,7 @@ foo); } - public void testWithCachingImplementationHidingAndSetterDI() { + public void testWithCachingImplementationHidingAndSetterDI() throws IOException { NanoContainer nc = new NanoBuilder().withCaching().withHiddenImplementations().withSetterInjection().build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -244,7 +239,7 @@ foo); } - public void testWithThreadSafety() { + public void testWithThreadSafety() throws IOException { NanoContainer nc = new NanoBuilder().withThreadSafety().build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -257,7 +252,7 @@ foo); } - public void testWithCustomNanoContainer() { + public void testWithCustomNanoContainer() throws IOException { NanoContainer nc = new NanoBuilder().implementedBy(TestNanoContainer.class).build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.NanoBuilderTestCase_-TestNanoContainer\n" + @@ -265,8 +260,7 @@ " componentFactory=org.picocontainer.injectors.AdaptiveInjectionFactory\n" + " parent=org.picocontainer.containers.EmptyPicoContainer\n" + " lifecycleStrategy=org.picocontainer.lifecycle.NullLifecycleStrategy\n" + - " componentMonitor=org.picocontainer.monitors.NullComponentMonitor\n" + - "org.nanocontainer.NanoBuilderTestCase_-TestNanoContainer", + " componentMonitor=org.picocontainer.monitors.NullComponentMonitor\n", foo); } @@ -277,16 +271,15 @@ } } - public void testWithCustomNanoAndPicoContainer() { + public void testWithCustomNanoAndPicoContainer() throws IOException { NanoContainer nc = new NanoBuilder().implementedBy(TestNanoContainer.class).picoImplementedBy(TestPicoContainer.class).build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.NanoBuilderTestCase_-TestNanoContainer\n" + - " delegate=org.nanocontainer.NanoBuilderTestCase_TestPicoContainer\n" + + " delegate=org.nanocontainer.NanoBuilderTestCase$TestPicoContainer\n" + " componentFactory=org.picocontainer.injectors.AdaptiveInjectionFactory\n" + " parent=org.picocontainer.containers.EmptyPicoContainer\n" + " lifecycleStrategy=org.picocontainer.lifecycle.NullLifecycleStrategy\n" + - " componentMonitor=org.picocontainer.monitors.NullComponentMonitor\n" + - "org.nanocontainer.NanoBuilderTestCase_-TestNanoContainer", + " componentMonitor=org.picocontainer.monitors.NullComponentMonitor\n", foo); } Modified: java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/PrettyXmlRepresentation.java (3572 => 3573) --- java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/PrettyXmlRepresentation.java 2007-06-27 01:13:22 UTC (rev 3572) +++ java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/PrettyXmlRepresentation.java 2007-06-27 04:04:42 UTC (rev 3573) @@ -4,6 +4,10 @@ import java.util.HashSet; import java.util.ArrayList; +import java.io.Reader; +import java.io.LineNumberReader; +import java.io.StringReader; +import java.io.IOException; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.HierarchicalStreamWriter; @@ -40,40 +44,33 @@ } - public String simplifyRepresentation(MutablePicoContainer mpc) { - String foo = xs.toXML(mpc); - foo = foo.replace('$','_'); + public String simplifyRepresentation(MutablePicoContainer mpc) throws IOException { + String bar = xs.toXML(mpc); + LineNumberReader lnr = new LineNumberReader(new StringReader(bar)); + String line = lnr.readLine(); + String foo = ""; + while (line != null) { + if (line.indexOf("</") == -1) { + int l = line.indexOf("<"); + int r = line.lastIndexOf("/>"); + int s = -1; + if (l != -1) { + s = line.indexOf(" ",l); + } + if (((l < s && s < r) || l == -1 || r == -1) && line.indexOf("DefaultPicoContainer$OrderedComponentAdapterLifecycleManager") == -1) { + foo += line + "\n"; + } + } + line = lnr.readLine(); + } + foo = foo.replaceAll("/>",""); - foo = foo.replaceAll("</org.nanocontainer.DefaultNanoContainer",""); foo = foo.replaceAll("</",""); foo = foo.replaceAll("<",""); foo = foo.replaceAll(">",""); - foo = foo.replaceAll("\n childrenStarted",""); - foo = foo.replaceAll("\n componentAdapters",""); - foo = foo.replaceAll("\n orderedComponentAdapters",""); - foo = foo.replaceAll("\n started",""); - foo = foo.replaceAll("\n disposed",""); - foo = foo.replaceAll("\n handler",""); - foo = foo.replaceAll("\n children",""); - foo = foo.replaceAll("\n namedChildContainers",""); - foo = foo.replaceAll("\n delegate\n","\n"); - foo = foo.replaceAll("\n delegate\n","\n"); - foo = foo.replaceAll("\n delegate\n","\n"); - foo = foo.replaceAll("\n componentCharacteristic class=\"org.picocontainer.DefaultPicoContainer$1\"",""); - foo = foo.replaceAll("\n componentCharacteristics",""); - foo = foo.replaceAll("\n componentKeyToAdapterCache",""); - foo = foo.replaceAll("\n startedComponentAdapters",""); - foo = foo.replaceAll("\"class=","\"\nclass="); - foo = foo.replaceAll("\n componentFactory\n","\n"); - foo = foo.replaceAll("\n componentMonitor\n","\n"); - foo = foo.replaceAll("\n lifecycleManager",""); - foo = foo.replaceAll("class=\"org.picocontainer.DefaultPicoContainer_1\"",""); foo = foo.replaceAll("class=\"org.picocontainer.DefaultPicoContainer_OrderedComponentAdapterLifecycleManager\"",""); - foo = foo.replaceAll("class=","="); + foo = foo.replaceAll(" class=","="); foo = foo.replaceAll("\"",""); - foo = foo.replaceAll(" \n","\n"); - foo = foo.replaceAll(" =","="); - foo = foo.replaceAll("\n\n","\n"); return foo; } Modified: java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/script/xml/XMLContainerBuilderTestCase.java (3572 => 3573) --- java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/script/xml/XMLContainerBuilderTestCase.java 2007-06-27 01:13:22 UTC (rev 3572) +++ java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/script/xml/XMLContainerBuilderTestCase.java 2007-06-27 04:04:42 UTC (rev 3573) @@ -40,6 +40,7 @@ import org.picocontainer.PicoContainer; import org.picocontainer.PicoException; import org.picocontainer.ComponentFactory; +import org.picocontainer.MutablePicoContainer; import org.picocontainer.injectors.AdaptiveInjectionFactory; import org.picocontainer.injectors.ConstructorInjectionFactory; import org.picocontainer.behaviors.AbstractBehaviorFactory; @@ -650,22 +651,20 @@ assertSame(wsc1, wsc2); } - public void testCustomInjectionFactory() { + public void testCustomInjectionFactory() throws IOException { Reader script = new StringReader("" + "<container component-adapter-factory='" + ConstructorInjectionFactory.class.getName() + "'>" + "</container>"); - NanoContainer pico = (NanoContainer)buildContainer(script); + MutablePicoContainer pico = (MutablePicoContainer) buildContainer(script); - assertEquals("org.nanocontainer.DefaultNanoContainer\n" + - " delegate=org.picocontainer.DefaultPicoContainer\n" + - " componentFactory=org.picocontainer.behaviors.CachingBehaviorFactory\n" + - " delegate=org.picocontainer.injectors.ConstructorInjectionFactory\n" + - " parent=org.picocontainer.containers.EmptyPicoContainer\n" + - " lifecycleStrategy=org.picocontainer.lifecycle.StartableLifecycleStrategy\n" + - " componentMonitor=org.picocontainer.monitors.NullComponentMonitor\n" + - " lifecycleStrategy\n" + - " componentMonitor=org.picocontainer.monitors.NullComponentMonitor reference=/org.nanocontainer.DefaultNanoContainer/delegate/lifecycleStrategy/componentMonitor\n", + assertEquals("org.picocontainer.DefaultPicoContainer\n" + + " componentFactory=org.picocontainer.behaviors.CachingBehaviorFactory\n" + + " delegate=org.picocontainer.injectors.ConstructorInjectionFactory\n" + + " parent=org.picocontainer.containers.EmptyPicoContainer\n" + + " lifecycleStrategy=org.picocontainer.lifecycle.StartableLifecycleStrategy\n" + + " componentMonitor=org.picocontainer.monitors.NullComponentMonitor\n" + + " componentMonitor=org.picocontainer.monitors.NullComponentMonitor reference=/org.picocontainer.DefaultPicoContainer/lifecycleStrategy/componentMonitor\n", new PrettyXmlRepresentation().simplifyRepresentation(pico)); } To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email

Next Message by Date: click to view message preview

[picocontainer-scm] [3575] java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer: open a little more for other @Inject markers

Revision 3575 Author paul Date 2007-06-27 20:18:42 -0500 (Wed, 27 Jun 2007) Log Message open a little more for other @Inject markers Modified Paths java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/NanoBuilder.java java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/script/xml/XMLContainerBuilder.java java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer/DefaultPicoContainer.java java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer/injectors/FieldAnnotationInjector.java java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer/injectors/MethodAnnotationInjector.java Diff Modified: java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/NanoBuilder.java (3574 => 3575) --- java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/NanoBuilder.java 2007-06-27 15:18:36 UTC (rev 3574) +++ java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/NanoBuilder.java 2007-06-28 01:18:42 UTC (rev 3575) @@ -9,6 +9,7 @@ import org.picocontainer.PicoContainer; import org.picocontainer.ComponentMonitor; import org.picocontainer.Characterizations; +import org.picocontainer.PicoClassNotFoundException; import org.picocontainer.behaviors.CachingBehaviorFactory; import org.picocontainer.containers.TransientPicoContainer; @@ -139,7 +140,7 @@ try { return classLoader.loadClass(className).asSubclass(asClass); } catch (ClassNotFoundException e) { - throw new NanoContainerMarkupException(e); + throw new PicoClassNotFoundException(className, e); } } Modified: java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/script/xml/XMLContainerBuilder.java (3574 => 3575) --- java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/script/xml/XMLContainerBuilder.java 2007-06-27 15:18:36 UTC (rev 3574) +++ java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/script/xml/XMLContainerBuilder.java 2007-06-28 01:18:42 UTC (rev 3575) @@ -41,7 +41,6 @@ import org.picocontainer.ComponentFactory; import org.picocontainer.lifecycle.NullLifecycleStrategy; import org.picocontainer.monitors.NullComponentMonitor; -import org.picocontainer.monitors.DelegatingComponentMonitor; import org.picocontainer.DefaultPicoContainer; import org.picocontainer.injectors.ConstructorInjectionFactory; import org.picocontainer.parameters.ComponentParameter; @@ -65,9 +64,7 @@ */ public class XMLContainerBuilder extends ScriptedContainerBuilder implements ContainerPopulator { - private final static String DEFAULT_COMPONENT_ADAPTER_FACTORY = CachingBehaviorFactory.class.getName(); private final static String DEFAULT_COMPONENT_INSTANCE_FACTORY = BeanComponentInstanceFactory.class.getName(); - private final static String DEFAULT_COMPONENT_MONITOR = DelegatingComponentMonitor.class.getName(); private final static String CONTAINER = "container"; private final static String CLASSPATH = "classpath"; @@ -491,9 +488,16 @@ factoryClass = DEFAULT_COMPONENT_INSTANCE_FACTORY; } - NanoContainer adapter = new DefaultNanoContainer(getClassLoader()); - adapter.addComponent(XMLComponentInstanceFactory.class.getName(), new ClassName(factoryClass)); - return (XMLComponentInstanceFactory) adapter.getComponents().get(0); + // using a NanoContainer is overkill here. + try { + return (XMLComponentInstanceFactory)getClassLoader().loadClass(factoryClass).newInstance(); + } catch (InstantiationException e) { + throw new PicoCompositionException(e); + } catch (IllegalAccessException e) { + throw new PicoCompositionException(e); + } catch (ClassNotFoundException e) { + throw new PicoClassNotFoundException(factoryClass, e); + } } private void registerComponentAdapter(NanoContainer container, Element element, NanoContainer metaContainer) throws ClassNotFoundException, PicoCompositionException, MalformedURLException { Modified: java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer/DefaultPicoContainer.java (3574 => 3575) --- java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer/DefaultPicoContainer.java 2007-06-27 15:18:36 UTC (rev 3574) +++ java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer/DefaultPicoContainer.java 2007-06-28 01:18:42 UTC (rev 3575) @@ -121,15 +121,13 @@ */ public DefaultPicoContainer(ComponentFactory componentFactory, LifecycleStrategy lifecycleStrategy, - PicoContainer parent) - { + PicoContainer parent) { this(componentFactory, lifecycleStrategy, parent, NullComponentMonitor.getInstance() ); } public DefaultPicoContainer(ComponentFactory componentFactory, LifecycleStrategy lifecycleStrategy, - PicoContainer parent, ComponentMonitor componentMonitor) - { + PicoContainer parent, ComponentMonitor componentMonitor) { if (componentFactory == null) throw new NullPointerException("componentFactory"); if (lifecycleStrategy == null) throw new NullPointerException("lifecycleStrategy"); this.componentFactory = componentFactory; Modified: java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer/injectors/FieldAnnotationInjector.java (3574 => 3575) --- java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer/injectors/FieldAnnotationInjector.java 2007-06-27 15:18:36 UTC (rev 3574) +++ java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer/injectors/FieldAnnotationInjector.java 2007-06-28 01:18:42 UTC (rev 3575) @@ -26,7 +26,7 @@ final List<Class> typeList = new ArrayList<Class>(); final Field[] fields = getFields(); for (final Field field : fields) { - if (field.getAnnotation(Inject.class) != null) { + if (isAnnotatedForInjection(field)) { injectionMembers.add(field); typeList.add(field.getType()); } @@ -34,6 +34,10 @@ injectionTypes = typeList.toArray(new Class[0]); } + protected boolean isAnnotatedForInjection(Field field) { + return field.getAnnotation(Inject.class) != null; + } + private Field[] getFields() { return (Field[]) AccessController.doPrivileged(new PrivilegedAction() { public Object run() { Modified: java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer/injectors/MethodAnnotationInjector.java (3574 => 3575) --- java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer/injectors/MethodAnnotationInjector.java 2007-06-27 15:18:36 UTC (rev 3574) +++ java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer/injectors/MethodAnnotationInjector.java 2007-06-28 01:18:42 UTC (rev 3575) @@ -13,7 +13,6 @@ super(key, impl, parameters, monitor, lifecycleStrategy); } - protected final boolean isInjectorMethod(Method method) { return method.getAnnotation(Inject.class) != null; } To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email

Previous Message by Thread: click to view message preview

[picocontainer-scm] [3573] java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer: improvement of xstream representation of containers for testing

Revision 3573 Author paul Date 2007-06-26 23:04:42 -0500 (Tue, 26 Jun 2007) Log Message improvement of xstream representation of containers for testing Modified Paths java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/NanoBuilder.java java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/script/xml/XMLContainerBuilder.java java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/NanoBuilderTestCase.java java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/PrettyXmlRepresentation.java java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/script/xml/XMLContainerBuilderTestCase.java Diff Modified: java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/NanoBuilder.java (3572 => 3573) --- java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/NanoBuilder.java 2007-06-27 01:13:22 UTC (rev 3572) +++ java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/NanoBuilder.java 2007-06-27 04:04:42 UTC (rev 3573) @@ -42,11 +42,15 @@ DefaultPicoContainer temp = new TransientPicoContainer(); temp.addComponent(ClassLoader.class, classLoader); temp.addComponent("nc", ncClass); - temp.addComponent(MutablePicoContainer.class, picoBuilder.build()); + temp.addComponent(MutablePicoContainer.class, buildPico()); NanoContainer nc = (NanoContainer)temp.getComponent("nc"); return nc; } + public MutablePicoContainer buildPico() { + return picoBuilder.build(); + } + public NanoBuilder withConsoleMonitor() { picoBuilder.withConsoleMonitor(); return this; Modified: java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/script/xml/XMLContainerBuilder.java (3572 => 3573) --- java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/script/xml/XMLContainerBuilder.java 2007-06-27 01:13:22 UTC (rev 3572) +++ java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/script/xml/XMLContainerBuilder.java 2007-06-27 04:04:42 UTC (rev 3573) @@ -162,7 +162,7 @@ .withLifecycle() .withComponentFactory(componentFactoryName) .withMonitor(monitorName) - .build(); + .buildPico(); } Modified: java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/NanoBuilderTestCase.java (3572 => 3573) --- java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/NanoBuilderTestCase.java 2007-06-27 01:13:22 UTC (rev 3572) +++ java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/NanoBuilderTestCase.java 2007-06-27 04:04:42 UTC (rev 3573) @@ -16,6 +16,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; +import java.io.IOException; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.converters.Converter; @@ -33,7 +34,7 @@ pxr = new PrettyXmlRepresentation(); } - public void testBasic() { + public void testBasic() throws IOException { NanoContainer nc = new NanoBuilder().build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -45,7 +46,7 @@ "",foo); } - public void testWithStartableLifecycle() { + public void testWithStartableLifecycle() throws IOException { NanoContainer nc = new NanoBuilder().withLifecycle().build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -54,12 +55,11 @@ " parent=org.picocontainer.containers.EmptyPicoContainer\n" + " lifecycleStrategy=org.picocontainer.lifecycle.StartableLifecycleStrategy\n" + " componentMonitor=org.picocontainer.monitors.NullComponentMonitor\n" + - " lifecycleStrategy\n" + " componentMonitor=org.picocontainer.monitors.NullComponentMonitor reference=/org.nanocontainer.DefaultNanoContainer/delegate/lifecycleStrategy/componentMonitor\n", foo); } - public void testWithReflectionLifecycle() { + public void testWithReflectionLifecycle() throws IOException { NanoContainer nc = new NanoBuilder().withReflectionLifecycle().build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -68,17 +68,12 @@ " parent=org.picocontainer.containers.EmptyPicoContainer\n" + " lifecycleStrategy=org.picocontainer.lifecycle.ReflectionLifecycleStrategy\n" + " methodNames\n" + - " stringstartstring\n" + - " stringstopstring\n" + - " stringdisposestring\n" + - " methodNames\n" + " componentMonitor=org.picocontainer.monitors.NullComponentMonitor\n" + - " lifecycleStrategy\n" + " componentMonitor=org.picocontainer.monitors.NullComponentMonitor reference=/org.nanocontainer.DefaultNanoContainer/delegate/lifecycleStrategy/componentMonitor\n", foo); } - public void testWithConsoleMonitor() { + public void testWithConsoleMonitor() throws IOException { NanoContainer nc = new NanoBuilder().withConsoleMonitor().build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -91,7 +86,7 @@ "",foo); } - public void testWithCustomMonitorByClass() { + public void testWithCustomMonitorByClass() throws IOException { NanoContainer nc = new NanoBuilder().withMonitor(ConsoleComponentMonitor.class).build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -115,7 +110,7 @@ } } - public void testWithImplementationHiding() { + public void testWithImplementationHiding() throws IOException { NanoContainer nc = new NanoBuilder().withHiddenImplementations().build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -128,7 +123,7 @@ } - public void testWithImplementationHidingInstance() { + public void testWithImplementationHidingInstance() throws IOException { NanoContainer nc = new NanoBuilder().withComponentFactory(new ImplementationHidingBehaviorFactory()).build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -141,7 +136,7 @@ foo); } - public void testWithComponentFactoriesListChainThingy() { + public void testWithComponentFactoriesListChainThingy() throws IOException{ NanoContainer nc = new NanoBuilder(SDI()).withComponentAdapterFactories(caching(), implHiding()).build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -158,18 +153,18 @@ public static class CustomParentcontainer extends EmptyPicoContainer { } - public void testWithCustomParentContainer() { + public void testWithCustomParentContainer() throws IOException { NanoContainer nc = new NanoBuilder(new CustomParentcontainer()).build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + " delegate=org.picocontainer.DefaultPicoContainer\n" + " componentFactory=org.picocontainer.injectors.AdaptiveInjectionFactory\n" + - " parent=org.nanocontainer.NanoBuilderTestCase_CustomParentcontainer\n" + + " parent=org.nanocontainer.NanoBuilderTestCase$CustomParentcontainer\n" + " lifecycleStrategy=org.picocontainer.lifecycle.NullLifecycleStrategy\n" + " componentMonitor=org.picocontainer.monitors.NullComponentMonitor\n", foo); } - public void testWithBogusParentContainerBehavesAsIfNotSet() { + public void testWithBogusParentContainerBehavesAsIfNotSet() throws IOException { NanoContainer nc = new NanoBuilder((PicoContainer)null).build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -182,7 +177,7 @@ } - public void testWithSetterDI() { + public void testWithSetterDI() throws IOException { NanoContainer nc = new NanoBuilder().withSetterInjection().build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -194,7 +189,7 @@ foo); } - public void testWithAnnotationDI() { + public void testWithAnnotationDI() throws IOException { NanoContainer nc = new NanoBuilder().withAnnotationInjection().build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -206,7 +201,7 @@ foo); } - public void testWithCtorDI() { + public void testWithCtorDI() throws IOException { NanoContainer nc = new NanoBuilder().withConstructorInjection().build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -217,7 +212,7 @@ " componentMonitor=org.picocontainer.monitors.NullComponentMonitor\n",foo); } - public void testWithImplementationHidingAndSetterDI() { + public void testWithImplementationHidingAndSetterDI() throws IOException { NanoContainer nc = new NanoBuilder().withHiddenImplementations().withSetterInjection().build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -230,7 +225,7 @@ foo); } - public void testWithCachingImplementationHidingAndSetterDI() { + public void testWithCachingImplementationHidingAndSetterDI() throws IOException { NanoContainer nc = new NanoBuilder().withCaching().withHiddenImplementations().withSetterInjection().build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -244,7 +239,7 @@ foo); } - public void testWithThreadSafety() { + public void testWithThreadSafety() throws IOException { NanoContainer nc = new NanoBuilder().withThreadSafety().build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.DefaultNanoContainer\n" + @@ -257,7 +252,7 @@ foo); } - public void testWithCustomNanoContainer() { + public void testWithCustomNanoContainer() throws IOException { NanoContainer nc = new NanoBuilder().implementedBy(TestNanoContainer.class).build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.NanoBuilderTestCase_-TestNanoContainer\n" + @@ -265,8 +260,7 @@ " componentFactory=org.picocontainer.injectors.AdaptiveInjectionFactory\n" + " parent=org.picocontainer.containers.EmptyPicoContainer\n" + " lifecycleStrategy=org.picocontainer.lifecycle.NullLifecycleStrategy\n" + - " componentMonitor=org.picocontainer.monitors.NullComponentMonitor\n" + - "org.nanocontainer.NanoBuilderTestCase_-TestNanoContainer", + " componentMonitor=org.picocontainer.monitors.NullComponentMonitor\n", foo); } @@ -277,16 +271,15 @@ } } - public void testWithCustomNanoAndPicoContainer() { + public void testWithCustomNanoAndPicoContainer() throws IOException { NanoContainer nc = new NanoBuilder().implementedBy(TestNanoContainer.class).picoImplementedBy(TestPicoContainer.class).build(); String foo = pxr.simplifyRepresentation(nc); assertEquals("org.nanocontainer.NanoBuilderTestCase_-TestNanoContainer\n" + - " delegate=org.nanocontainer.NanoBuilderTestCase_TestPicoContainer\n" + + " delegate=org.nanocontainer.NanoBuilderTestCase$TestPicoContainer\n" + " componentFactory=org.picocontainer.injectors.AdaptiveInjectionFactory\n" + " parent=org.picocontainer.containers.EmptyPicoContainer\n" + " lifecycleStrategy=org.picocontainer.lifecycle.NullLifecycleStrategy\n" + - " componentMonitor=org.picocontainer.monitors.NullComponentMonitor\n" + - "org.nanocontainer.NanoBuilderTestCase_-TestNanoContainer", + " componentMonitor=org.picocontainer.monitors.NullComponentMonitor\n", foo); } Modified: java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/PrettyXmlRepresentation.java (3572 => 3573) --- java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/PrettyXmlRepresentation.java 2007-06-27 01:13:22 UTC (rev 3572) +++ java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/PrettyXmlRepresentation.java 2007-06-27 04:04:42 UTC (rev 3573) @@ -4,6 +4,10 @@ import java.util.HashSet; import java.util.ArrayList; +import java.io.Reader; +import java.io.LineNumberReader; +import java.io.StringReader; +import java.io.IOException; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.HierarchicalStreamWriter; @@ -40,40 +44,33 @@ } - public String simplifyRepresentation(MutablePicoContainer mpc) { - String foo = xs.toXML(mpc); - foo = foo.replace('$','_'); + public String simplifyRepresentation(MutablePicoContainer mpc) throws IOException { + String bar = xs.toXML(mpc); + LineNumberReader lnr = new LineNumberReader(new StringReader(bar)); + String line = lnr.readLine(); + String foo = ""; + while (line != null) { + if (line.indexOf("</") == -1) { + int l = line.indexOf("<"); + int r = line.lastIndexOf("/>"); + int s = -1; + if (l != -1) { + s = line.indexOf(" ",l); + } + if (((l < s && s < r) || l == -1 || r == -1) && line.indexOf("DefaultPicoContainer$OrderedComponentAdapterLifecycleManager") == -1) { + foo += line + "\n"; + } + } + line = lnr.readLine(); + } + foo = foo.replaceAll("/>",""); - foo = foo.replaceAll("</org.nanocontainer.DefaultNanoContainer",""); foo = foo.replaceAll("</",""); foo = foo.replaceAll("<",""); foo = foo.replaceAll(">",""); - foo = foo.replaceAll("\n childrenStarted",""); - foo = foo.replaceAll("\n componentAdapters",""); - foo = foo.replaceAll("\n orderedComponentAdapters",""); - foo = foo.replaceAll("\n started",""); - foo = foo.replaceAll("\n disposed",""); - foo = foo.replaceAll("\n handler",""); - foo = foo.replaceAll("\n children",""); - foo = foo.replaceAll("\n namedChildContainers",""); - foo = foo.replaceAll("\n delegate\n","\n"); - foo = foo.replaceAll("\n delegate\n","\n"); - foo = foo.replaceAll("\n delegate\n","\n"); - foo = foo.replaceAll("\n componentCharacteristic class=\"org.picocontainer.DefaultPicoContainer$1\"",""); - foo = foo.replaceAll("\n componentCharacteristics",""); - foo = foo.replaceAll("\n componentKeyToAdapterCache",""); - foo = foo.replaceAll("\n startedComponentAdapters",""); - foo = foo.replaceAll("\"class=","\"\nclass="); - foo = foo.replaceAll("\n componentFactory\n","\n"); - foo = foo.replaceAll("\n componentMonitor\n","\n"); - foo = foo.replaceAll("\n lifecycleManager",""); - foo = foo.replaceAll("class=\"org.picocontainer.DefaultPicoContainer_1\"",""); foo = foo.replaceAll("class=\"org.picocontainer.DefaultPicoContainer_OrderedComponentAdapterLifecycleManager\"",""); - foo = foo.replaceAll("class=","="); + foo = foo.replaceAll(" class=","="); foo = foo.replaceAll("\"",""); - foo = foo.replaceAll(" \n","\n"); - foo = foo.replaceAll(" =","="); - foo = foo.replaceAll("\n\n","\n"); return foo; } Modified: java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/script/xml/XMLContainerBuilderTestCase.java (3572 => 3573) --- java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/script/xml/XMLContainerBuilderTestCase.java 2007-06-27 01:13:22 UTC (rev 3572) +++ java/sandbox/baby-steps/nano2/container/src/test/org/nanocontainer/script/xml/XMLContainerBuilderTestCase.java 2007-06-27 04:04:42 UTC (rev 3573) @@ -40,6 +40,7 @@ import org.picocontainer.PicoContainer; import org.picocontainer.PicoException; import org.picocontainer.ComponentFactory; +import org.picocontainer.MutablePicoContainer; import org.picocontainer.injectors.AdaptiveInjectionFactory; import org.picocontainer.injectors.ConstructorInjectionFactory; import org.picocontainer.behaviors.AbstractBehaviorFactory; @@ -650,22 +651,20 @@ assertSame(wsc1, wsc2); } - public void testCustomInjectionFactory() { + public void testCustomInjectionFactory() throws IOException { Reader script = new StringReader("" + "<container component-adapter-factory='" + ConstructorInjectionFactory.class.getName() + "'>" + "</container>"); - NanoContainer pico = (NanoContainer)buildContainer(script); + MutablePicoContainer pico = (MutablePicoContainer) buildContainer(script); - assertEquals("org.nanocontainer.DefaultNanoContainer\n" + - " delegate=org.picocontainer.DefaultPicoContainer\n" + - " componentFactory=org.picocontainer.behaviors.CachingBehaviorFactory\n" + - " delegate=org.picocontainer.injectors.ConstructorInjectionFactory\n" + - " parent=org.picocontainer.containers.EmptyPicoContainer\n" + - " lifecycleStrategy=org.picocontainer.lifecycle.StartableLifecycleStrategy\n" + - " componentMonitor=org.picocontainer.monitors.NullComponentMonitor\n" + - " lifecycleStrategy\n" + - " componentMonitor=org.picocontainer.monitors.NullComponentMonitor reference=/org.nanocontainer.DefaultNanoContainer/delegate/lifecycleStrategy/componentMonitor\n", + assertEquals("org.picocontainer.DefaultPicoContainer\n" + + " componentFactory=org.picocontainer.behaviors.CachingBehaviorFactory\n" + + " delegate=org.picocontainer.injectors.ConstructorInjectionFactory\n" + + " parent=org.picocontainer.containers.EmptyPicoContainer\n" + + " lifecycleStrategy=org.picocontainer.lifecycle.StartableLifecycleStrategy\n" + + " componentMonitor=org.picocontainer.monitors.NullComponentMonitor\n" + + " componentMonitor=org.picocontainer.monitors.NullComponentMonitor reference=/org.picocontainer.DefaultPicoContainer/lifecycleStrategy/componentMonitor\n", new PrettyXmlRepresentation().simplifyRepresentation(pico)); } To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email

Next Message by Thread: click to view message preview

[picocontainer-scm] [3575] java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer: open a little more for other @Inject markers

Revision 3575 Author paul Date 2007-06-27 20:18:42 -0500 (Wed, 27 Jun 2007) Log Message open a little more for other @Inject markers Modified Paths java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/NanoBuilder.java java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/script/xml/XMLContainerBuilder.java java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer/DefaultPicoContainer.java java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer/injectors/FieldAnnotationInjector.java java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer/injectors/MethodAnnotationInjector.java Diff Modified: java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/NanoBuilder.java (3574 => 3575) --- java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/NanoBuilder.java 2007-06-27 15:18:36 UTC (rev 3574) +++ java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/NanoBuilder.java 2007-06-28 01:18:42 UTC (rev 3575) @@ -9,6 +9,7 @@ import org.picocontainer.PicoContainer; import org.picocontainer.ComponentMonitor; import org.picocontainer.Characterizations; +import org.picocontainer.PicoClassNotFoundException; import org.picocontainer.behaviors.CachingBehaviorFactory; import org.picocontainer.containers.TransientPicoContainer; @@ -139,7 +140,7 @@ try { return classLoader.loadClass(className).asSubclass(asClass); } catch (ClassNotFoundException e) { - throw new NanoContainerMarkupException(e); + throw new PicoClassNotFoundException(className, e); } } Modified: java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/script/xml/XMLContainerBuilder.java (3574 => 3575) --- java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/script/xml/XMLContainerBuilder.java 2007-06-27 15:18:36 UTC (rev 3574) +++ java/sandbox/baby-steps/nano2/container/src/java/org/nanocontainer/script/xml/XMLContainerBuilder.java 2007-06-28 01:18:42 UTC (rev 3575) @@ -41,7 +41,6 @@ import org.picocontainer.ComponentFactory; import org.picocontainer.lifecycle.NullLifecycleStrategy; import org.picocontainer.monitors.NullComponentMonitor; -import org.picocontainer.monitors.DelegatingComponentMonitor; import org.picocontainer.DefaultPicoContainer; import org.picocontainer.injectors.ConstructorInjectionFactory; import org.picocontainer.parameters.ComponentParameter; @@ -65,9 +64,7 @@ */ public class XMLContainerBuilder extends ScriptedContainerBuilder implements ContainerPopulator { - private final static String DEFAULT_COMPONENT_ADAPTER_FACTORY = CachingBehaviorFactory.class.getName(); private final static String DEFAULT_COMPONENT_INSTANCE_FACTORY = BeanComponentInstanceFactory.class.getName(); - private final static String DEFAULT_COMPONENT_MONITOR = DelegatingComponentMonitor.class.getName(); private final static String CONTAINER = "container"; private final static String CLASSPATH = "classpath"; @@ -491,9 +488,16 @@ factoryClass = DEFAULT_COMPONENT_INSTANCE_FACTORY; } - NanoContainer adapter = new DefaultNanoContainer(getClassLoader()); - adapter.addComponent(XMLComponentInstanceFactory.class.getName(), new ClassName(factoryClass)); - return (XMLComponentInstanceFactory) adapter.getComponents().get(0); + // using a NanoContainer is overkill here. + try { + return (XMLComponentInstanceFactory)getClassLoader().loadClass(factoryClass).newInstance(); + } catch (InstantiationException e) { + throw new PicoCompositionException(e); + } catch (IllegalAccessException e) { + throw new PicoCompositionException(e); + } catch (ClassNotFoundException e) { + throw new PicoClassNotFoundException(factoryClass, e); + } } private void registerComponentAdapter(NanoContainer container, Element element, NanoContainer metaContainer) throws ClassNotFoundException, PicoCompositionException, MalformedURLException { Modified: java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer/DefaultPicoContainer.java (3574 => 3575) --- java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer/DefaultPicoContainer.java 2007-06-27 15:18:36 UTC (rev 3574) +++ java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer/DefaultPicoContainer.java 2007-06-28 01:18:42 UTC (rev 3575) @@ -121,15 +121,13 @@ */ public DefaultPicoContainer(ComponentFactory componentFactory, LifecycleStrategy lifecycleStrategy, - PicoContainer parent) - { + PicoContainer parent) { this(componentFactory, lifecycleStrategy, parent, NullComponentMonitor.getInstance() ); } public DefaultPicoContainer(ComponentFactory componentFactory, LifecycleStrategy lifecycleStrategy, - PicoContainer parent, ComponentMonitor componentMonitor) - { + PicoContainer parent, ComponentMonitor componentMonitor) { if (componentFactory == null) throw new NullPointerException("componentFactory"); if (lifecycleStrategy == null) throw new NullPointerException("lifecycleStrategy"); this.componentFactory = componentFactory; Modified: java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer/injectors/FieldAnnotationInjector.java (3574 => 3575) --- java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer/injectors/FieldAnnotationInjector.java 2007-06-27 15:18:36 UTC (rev 3574) +++ java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer/injectors/FieldAnnotationInjector.java 2007-06-28 01:18:42 UTC (rev 3575) @@ -26,7 +26,7 @@ final List<Class> typeList = new ArrayList<Class>(); final Field[] fields = getFields(); for (final Field field : fields) { - if (field.getAnnotation(Inject.class) != null) { + if (isAnnotatedForInjection(field)) { injectionMembers.add(field); typeList.add(field.getType()); } @@ -34,6 +34,10 @@ injectionTypes = typeList.toArray(new Class[0]); } + protected boolean isAnnotatedForInjection(Field field) { + return field.getAnnotation(Inject.class) != null; + } + private Field[] getFields() { return (Field[]) AccessController.doPrivileged(new PrivilegedAction() { public Object run() { Modified: java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer/injectors/MethodAnnotationInjector.java (3574 => 3575) --- java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer/injectors/MethodAnnotationInjector.java 2007-06-27 15:18:36 UTC (rev 3574) +++ java/sandbox/baby-steps/pico2/container/src/java/org/picocontainer/injectors/MethodAnnotationInjector.java 2007-06-28 01:18:42 UTC (rev 3575) @@ -13,7 +13,6 @@ super(key, impl, parameters, monitor, lifecycleStrategy); } - protected final boolean isInjectorMethod(Method method) { return method.getAnnotation(Inject.class) != null; } To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email
Sign up for updates to this mailing list. email:
Loading Comments...
Home | News | Patents | Sitemap | FAQ | advertise

Advertising by