|
|
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
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?
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
|
|