[CVS nano] Upgraded to latest changes in rhino. There is too much Rhino stuff here...
Aslak Hellesoy <rinkrank-yCVjj/[email protected]> Tue, 23 Dec 2003 18:34:26 -0600
| Newsgroups | gmane.comp.java.nanocontainer.cvs |
|---|---|
| Message-ID | <[email protected]> |
Commit in nano/src on MAIN
java/org/nanocontainer/JavaScriptCompositionNanoContainer.java +7 -4 1.4 -> 1.5
test/org/nanocontainer/BespokeNanoRhinoScriptable.java +7 -12 1.5 -> 1.6
/BogusNanoRhinoScriptable.java +2 -2 1.4 -> 1.5
/JavaScriptCompositionNanoContainerTestCase.java +28 -30 1.3 -> 1.4
/JythonCompositionNanoContainerTestCase.java +2 -2 1.5 -> 1.6
/XmlCompositionNanoContainerTestCase.java +53 -52 1.6 -> 1.7
+99 -102
6 modified files
Upgraded to latest changes in rhino. There is too much Rhino stuff here...
----------
nano /src /java /org /nanocontainer
JavaScriptCompositionNanoContainer.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- JavaScriptCompositionNanoContainer.java 22 Nov 2003 17:44:08 -0000 1.4
+++ JavaScriptCompositionNanoContainer.java 24 Dec 2003 00:34:25 -0000 1.5
@@ -8,10 +8,11 @@
*****************************************************************************/
package org.nanocontainer;
-import org.picoextras.script.rhino.DefaultNanoRhinoScriptable;
-import org.picoextras.script.rhino.NanoRhinoManager;
+import org.picoextras.script.rhino.PicoScriptable;
+import org.picoextras.script.rhino.PicoManager;
import org.picoextras.script.PicoCompositionException;
import org.picocontainer.PicoContainer;
+import org.mozilla.javascript.JavaScriptException;
import java.io.IOException;
import java.io.Reader;
@@ -32,7 +33,7 @@
public JavaScriptCompositionNanoContainer(Reader script, NanoContainerMonitor monitor)
throws PicoCompositionException{
- this(script, monitor, DefaultNanoRhinoScriptable.class);
+ this(script, monitor, PicoScriptable.class);
}
public JavaScriptCompositionNanoContainer(Reader script)
@@ -42,8 +43,10 @@
protected PicoContainer createPicoContainer() throws PicoCompositionException {
try {
- return new NanoRhinoManager().execute(nanoRhinoScriptableClass, script);
+ return new PicoManager().execute(nanoRhinoScriptableClass, script);
} catch (IOException e) {
+ throw new PicoCompositionException(e);
+ } catch (JavaScriptException e) {
throw new PicoCompositionException(e);
}
}
----------
nano /src /test /org /nanocontainer
BespokeNanoRhinoScriptable.java 1.5 -> 1.6
diff -u -r1.5 -r1.6
--- BespokeNanoRhinoScriptable.java 17 Nov 2003 23:13:50 -0000 1.5
+++ BespokeNanoRhinoScriptable.java 24 Dec 2003 00:34:25 -0000 1.6
@@ -12,10 +12,10 @@
import org.mozilla.javascript.Context;
import org.mozilla.javascript.Function;
import org.mozilla.javascript.Scriptable;
-import org.picoextras.script.rhino.DefaultNanoRhinoScriptable;
+import org.picoextras.script.rhino.PicoScriptable;
-public class BespokeNanoRhinoScriptable extends DefaultNanoRhinoScriptable {
+public class BespokeNanoRhinoScriptable extends PicoScriptable {
public static boolean used;
public BespokeNanoRhinoScriptable() {
@@ -23,21 +23,16 @@
}
public static Object jsConstructor(Context cx, Object[] args, Function ctorObj, boolean inNewExpr) {
- return DefaultNanoRhinoScriptable.jsConstructor(cx, args, ctorObj, inNewExpr);
+ return PicoScriptable.jsConstructor(cx, args, ctorObj, inNewExpr);
}
- public static void jsFunction_addComponent(Context cx, Scriptable thisObj, Object[] args, Function funObj)
+ public static void jsFunction_registerComponentImplementation(Context cx, Scriptable thisObj, Object[] args, Function funObj)
throws ClassNotFoundException {
- DefaultNanoRhinoScriptable.jsFunction_addComponent(cx, thisObj, args, funObj);
+ PicoScriptable.jsFunction_registerComponentImplementation(cx, thisObj, args, funObj);
}
- public static void jsFunction_addComponentWithClassKey(Context cx, Scriptable thisObj, Object[] args, Function funObj)
- throws ClassNotFoundException {
- DefaultNanoRhinoScriptable.jsFunction_addComponentWithClassKey(cx, thisObj, args, funObj);
- }
-
- public static void jsFunction_addContainer(Context cx, Scriptable thisObj, Object[] args, Function funObj) {
- DefaultNanoRhinoScriptable.jsFunction_addContainer(cx, thisObj, args, funObj);
+ public static void jsFunction_addParent(Context cx, Scriptable thisObj, Object[] args, Function funObj) {
+ PicoScriptable.jsFunction_addParent(cx, thisObj, args, funObj);
}
}
----------
nano /src /test /org /nanocontainer
BogusNanoRhinoScriptable.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- BogusNanoRhinoScriptable.java 17 Nov 2003 23:13:50 -0000 1.4
+++ BogusNanoRhinoScriptable.java 24 Dec 2003 00:34:25 -0000 1.5
@@ -13,12 +13,12 @@
import org.mozilla.javascript.Function;
import org.mozilla.javascript.Scriptable;
import org.mozilla.javascript.ScriptableObject;
-import org.picoextras.script.rhino.DefaultNanoRhinoScriptable;
+import org.picoextras.script.rhino.PicoScriptable;
public class BogusNanoRhinoScriptable extends ScriptableObject {
public String getClassName() {
- return "NanoRhinoScriptable";
+ return "PicoScriptable";
}
// all pub static javascript methods missing.
----------
nano /src /test /org /nanocontainer
JavaScriptCompositionNanoContainerTestCase.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- JavaScriptCompositionNanoContainerTestCase.java 22 Nov 2003 17:44:08 -0000 1.3
+++ JavaScriptCompositionNanoContainerTestCase.java 24 Dec 2003 00:34:25 -0000 1.4
@@ -23,7 +23,7 @@
* @author Aslak Hellesøy
* @author Paul Hammant
* @author Ward Cunningham
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
*/
public class JavaScriptCompositionNanoContainerTestCase extends TestCase {
@@ -36,11 +36,11 @@
public void testInstantiateBasicRhinoScriptable() throws IOException, ClassNotFoundException, PicoCompositionException {
NanoContainer nano = new JavaScriptCompositionNanoContainer(new StringReader("" +
- "var parentContainer = new NanoRhinoScriptable();\n" +
+ "var parentContainer = new PicoScriptable();\n" +
"with (parentContainer) {\n" +
- " addComponent('org.nanocontainer.Xxx$A');\n" +
+ " registerComponentImplementation('org.nanocontainer.Xxx$A');\n" +
"}\n" +
- "nano.setNanoRhinoScriptable(parentContainer)\n"
+ "pico.setPicoScriptable(parentContainer)\n"
), new MockMonitor());
nano.stopComponentsDepthFirst();
nano.disposeComponentsDepthFirst();
@@ -51,11 +51,11 @@
public void testInstantiateBespokeRhinoScriptable() throws IOException, ClassNotFoundException, PicoCompositionException {
NanoContainer nano = new JavaScriptCompositionNanoContainer(new StringReader("" +
- "var parentContainer = new NanoRhinoScriptable();\n" +
+ "var parentContainer = new PicoScriptable();\n" +
"with (parentContainer) {\n" +
- " addComponent('org.nanocontainer.Xxx$A');\n" +
+ " registerComponentImplementation('org.nanocontainer.Xxx$A');\n" +
"}\n" +
- "nano.setNanoRhinoScriptable(parentContainer)\n"
+ "pico.setPicoScriptable(parentContainer)\n"
), new MockMonitor(), BespokeNanoRhinoScriptable.class);
nano.stopComponentsDepthFirst();
nano.disposeComponentsDepthFirst();
@@ -67,11 +67,11 @@
try {
new JavaScriptCompositionNanoContainer(new StringReader("" +
- "var parentContainer = new NanoRhinoScriptable();\n" +
+ "var parentContainer = new PicoScriptable();\n" +
"with (parentContainer) {\n" +
- " addComponent('org.nanocontainer.Xxx$A');\n" +
+ " registerComponentImplementation('org.nanocontainer.Xxx$A');\n" +
"}\n" +
- "nano.setNanoRhinoScriptable(parentContainer)\n"
+ "pico.setPicoScriptable(parentContainer)\n"
), new MockMonitor(), BogusNanoRhinoScriptable.class);
fail("Should have barfed with EcmaError");
} catch (EcmaError e) {
@@ -85,17 +85,17 @@
// A and C have no no dependancies. B Depends on A.
NanoContainer nano = new JavaScriptCompositionNanoContainer(new StringReader("" +
- "var parentContainer = new NanoRhinoScriptable();\n" +
+ "var parentContainer = new PicoScriptable();\n" +
"with (parentContainer) {\n" +
- " addComponent('org.nanocontainer.Xxx$A');\n" +
- " var childContainer = new NanoRhinoScriptable();\n" +
- " addContainer(childContainer);\n" +
+ " registerComponentImplementation('org.nanocontainer.Xxx$A');\n" +
+ " var childContainer = new PicoScriptable();\n" +
" with (childContainer) {\n" +
- " addComponent('org.nanocontainer.Xxx$B');\n" +
+ " addParent(parentContainer);\n" +
+ " registerComponentImplementation('org.nanocontainer.Xxx$B');\n" +
" }\n" +
- " addComponent('org.nanocontainer.Xxx$C');\n" +
+ " registerComponentImplementation('org.nanocontainer.Xxx$C');\n" +
"}\n" +
- "nano.setNanoRhinoScriptable(parentContainer)\n"
+ "pico.setPicoScriptable(parentContainer)\n"
), new MockMonitor());
nano.stopComponentsDepthFirst();
nano.disposeComponentsDepthFirst();
@@ -114,8 +114,6 @@
} catch (ComparisonFailure e) {
assertEquals("Should match the expression", "*C*B+C_started+B_started+B_stopped+C_stopped+B_disposed+C_disposed", MockMonitor.monitorRecorder);
}
-
-
}
public void testInstantiateWithImpossibleComponentDependanciesConsideringTheHierarchy() throws IOException, ClassNotFoundException, PicoCompositionException {
@@ -124,17 +122,17 @@
try {
new JavaScriptCompositionNanoContainer(new StringReader("" +
- "var parentContainer = new NanoRhinoScriptable();\n" +
+ "var parentContainer = new PicoScriptable();\n" +
"with (parentContainer) {\n" +
- " addComponent('org.nanocontainer.Xxx$B');\n" +
- " var childContainer = new NanoRhinoScriptable();\n" +
- " addContainer(childContainer);\n" +
+ " registerComponentImplementation('org.nanocontainer.Xxx$B');\n" +
+ " var childContainer = new PicoScriptable();\n" +
" with (childContainer) {\n" +
- " addComponent('org.nanocontainer.Xxx$A');\n" +
+ " addParent(parentContainer);\n" +
+ " registerComponentImplementation('org.nanocontainer.Xxx$A');\n" +
" }\n" +
- " addComponent('org.nanocontainer.Xxx$C');\n" +
+ " registerComponentImplementation('org.nanocontainer.Xxx$C');\n" +
"}\n" +
- "nano.setNanoRhinoScriptable(parentContainer)\n"
+ "pico.setPicoScriptable(parentContainer)\n"
), new MockMonitor());
fail("Should not have been able to instansiate component tree due to visibility/parent reasons.");
} catch (NoSatisfiableConstructorsException e) {
@@ -144,15 +142,15 @@
public void testInstantiateWithInlineConfiguration() throws IOException, ClassNotFoundException, PicoCompositionException {
NanoContainer nano = new JavaScriptCompositionNanoContainer(new StringReader("" +
- "var parentContainer = new NanoRhinoScriptable();\n" +
+ "var parentContainer = new PicoScriptable();\n" +
"with (parentContainer) {\n" +
" var pc = new Packages.org.picoextras.testmodel.WebServerConfigBean();\n" +
" pc.setHost('foobar.com');\n" +
" pc.setPort(4321);\n" +
- " addComponentInstance(pc);\n" +
- " addComponentWithClassKey('org.picoextras.testmodel.WebServer','" + XmlCompositionNanoContainerTestCase.OverriddenWebServerImpl.class.getName() + "');\n" +
+ " registerComponentInstance(pc);\n" +
+ " registerComponentImplementation('org.picoextras.testmodel.WebServer','" + XmlCompositionNanoContainerTestCase.OverriddenWebServerImpl.class.getName() + "');\n" +
"}\n" +
- "nano.setNanoRhinoScriptable(parentContainer)\n"
+ "pico.setPicoScriptable(parentContainer)\n"
), new MockMonitor());
assertEquals("WebServerConfigBean and WebServerImpl expected", 2, nano.getRootContainer().getComponentInstances().size());
----------
nano /src /test /org /nanocontainer
JythonCompositionNanoContainerTestCase.java 1.5 -> 1.6
diff -u -r1.5 -r1.6
--- JythonCompositionNanoContainerTestCase.java 22 Nov 2003 17:44:08 -0000 1.5
+++ JythonCompositionNanoContainerTestCase.java 24 Dec 2003 00:34:25 -0000 1.6
@@ -23,7 +23,7 @@
* @author Paul Hammant
* @author Ward Cunningham
* @author Mike Royle
- * @version $Revision: 1.5 $
+ * @version $Revision: 1.6 $
*/
public class JythonCompositionNanoContainerTestCase extends TestCase {
@@ -101,7 +101,7 @@
"wsc.setHost('foobar.com')\n" +
"wsc.setPort(4321)\n" +
"rootContainer.getPicoContainer().registerComponentInstance(wsc)\n" +
- "rootContainer.registerComponent('org.picoextras.testmodel.WebServer','" + XmlCompositionNanoContainerTestCase.OverriddenWebServerImpl.class.getName() + "')\n"
+ "rootContainer.registerComponentImplementation('org.picoextras.testmodel.WebServer','" + XmlCompositionNanoContainerTestCase.OverriddenWebServerImpl.class.getName() + "')\n"
), new MockMonitor());
assertEquals("WebServerConfigBean and WebServerImpl expected", 2, nano.getRootContainer().getComponentInstances().size());
----------
nano /src /test /org /nanocontainer
XmlCompositionNanoContainerTestCase.java 1.6 -> 1.7
diff -u -r1.6 -r1.7
--- XmlCompositionNanoContainerTestCase.java 22 Nov 2003 19:06:36 -0000 1.6
+++ XmlCompositionNanoContainerTestCase.java 24 Dec 2003 00:34:25 -0000 1.7
@@ -17,7 +17,7 @@
import org.picocontainer.defaults.AmbiguousComponentResolutionException;
import org.picocontainer.defaults.DefaultComponentAdapterFactory;
import org.picocontainer.defaults.NoSatisfiableConstructorsException;
-import org.picocontainer.extras.DefaultLifecyclePicoContainer;
+import org.picocontainer.defaults.DefaultPicoContainer;
import org.xml.sax.SAXException;
import javax.xml.parsers.ParserConfigurationException;
@@ -30,7 +30,7 @@
* @author Aslak Hellesøy
* @author Paul Hammant
* @author Ward Cunningham
- * @version $Revision: 1.6 $
+ * @version $Revision: 1.7 $
*/
public class XmlCompositionNanoContainerTestCase extends TestCase {
@@ -65,13 +65,13 @@
try {
new XmlCompositionNanoContainer(new StringReader("" +
- "<container>" +
- " <container>" +
- " <component class='org.nanocontainer.Xxx$A'/>" +
- " </container>" +
- " <component class='org.nanocontainer.Xxx$B'/>" +
- " <component class='org.nanocontainer.Xxx$C'/>" +
- "</container>"), new MockMonitor());
+ "<container>" +
+ " <container>" +
+ " <component class='org.nanocontainer.Xxx$A'/>" +
+ " </container>" +
+ " <component class='org.nanocontainer.Xxx$B'/>" +
+ " <component class='org.nanocontainer.Xxx$C'/>" +
+ "</container>"), new MockMonitor());
fail("Should not have been able to instansiate component tree due to visibility/parent reasons.");
} catch (NoSatisfiableConstructorsException e) {
//expected
@@ -90,7 +90,7 @@
nano.stopComponentsDepthFirst();
nano.disposeComponentsDepthFirst();
- assertTrue("Bespoke Front End (a test class) should have been used",BespokeXmlFrontEnd.used);
+ assertTrue("Bespoke Front End (a test class) should have been used", BespokeXmlFrontEnd.used);
}
public void testInstantiateWithBespokeComponentAdaptor() throws SAXException, ParserConfigurationException, IOException, ClassNotFoundException, PicoCompositionException {
@@ -98,10 +98,10 @@
OverriddenComponentAdapterFactory.used = false;
NanoContainer nano = null;
- nano = new XmlCompositionNanoContainer(new StringReader("" +
- "<container componentadaptor='" + OverriddenComponentAdapterFactory.class.getName() + "'>" +
- " <component typekey='org.picoextras.testmodel.WebServerConfig' class='org.picoextras.testmodel.DefaultWebServerConfig'/>" +
- "</container>"), new MockMonitor());
+ nano = new XmlCompositionNanoContainer(new StringReader("" +
+ "<container componentadaptor='" + OverriddenComponentAdapterFactory.class.getName() + "'>" +
+ " <component typekey='org.picoextras.testmodel.WebServerConfig' class='org.picoextras.testmodel.DefaultWebServerConfig'/>" +
+ "</container>"), new MockMonitor());
Object wsc = nano.getRootContainer().getComponentInstance(WebServerConfig.class);
@@ -112,6 +112,7 @@
public static class OverriddenComponentAdapterFactory extends DefaultComponentAdapterFactory {
public static boolean used = false;
+
public OverriddenComponentAdapterFactory() {
used = true;
}
@@ -120,43 +121,43 @@
public void testInstantiateWithXStreamComponentConfiguration() throws SAXException, ParserConfigurationException, IOException, ClassNotFoundException, PicoCompositionException {
NanoContainer nano = null;
- nano = new XmlCompositionNanoContainer(new StringReader("" +
- "<container>" +
- " <pseudocomponent factory='org.picoextras.script.xml.XStreamXmlPseudoComponentFactory'>" +
- " <org.picoextras.testmodel.WebServerConfigStub>" +
- " <host>foobar.com</host> " +
- " <port>4321</port> " +
- " </org.picoextras.testmodel.WebServerConfigStub>" +
- " </pseudocomponent>" +
- " <component typekey='org.picoextras.testmodel.WebServer' " +
- " class='org.picoextras.testmodel.WebServerImpl'/>" +
- "</container>"), new MockMonitor());
+ nano = new XmlCompositionNanoContainer(new StringReader("" +
+ "<container>" +
+ " <pseudocomponent factory='org.picoextras.script.xml.XStreamXmlPseudoComponentFactory'>" +
+ " <org.picoextras.testmodel.WebServerConfigStub>" +
+ " <host>foobar.com</host> " +
+ " <port>4321</port> " +
+ " </org.picoextras.testmodel.WebServerConfigStub>" +
+ " </pseudocomponent>" +
+ " <component typekey='org.picoextras.testmodel.WebServer' " +
+ " class='org.picoextras.testmodel.WebServerImpl'/>" +
+ "</container>"), new MockMonitor());
assertEquals("WebServerConfigBean and WebServerImpl expected", 2, nano.getRootContainer().getComponentInstances().size());
WebServerConfig wsc = (WebServerConfig) nano.getRootContainer().getComponentInstance(WebServerConfig.class);
- assertEquals("foobar.com",wsc.getHost());
- assertEquals(4321,wsc.getPort());
+ assertEquals("foobar.com", wsc.getHost());
+ assertEquals(4321, wsc.getPort());
}
public void testInstantiateWithBeanComponentConfiguration() throws SAXException, ParserConfigurationException, IOException, ClassNotFoundException, PicoCompositionException {
NanoContainer nano = null;
- nano = new XmlCompositionNanoContainer(new StringReader("" +
- "<container>" +
- " <pseudocomponent factory='org.picoextras.script.xml.BeanXmlPseudoComponentFactory'>" +
- " <org.picoextras.testmodel.WebServerConfigBean>" +
- " <host>foobar.com</host> " +
- " <port>4321</port> " +
- " </org.picoextras.testmodel.WebServerConfigBean>" +
- " </pseudocomponent>" +
- " <component typekey='org.picoextras.testmodel.WebServer' " +
- " class='org.picoextras.testmodel.WebServerImpl'/>" +
- "</container>"), new MockMonitor());
+ nano = new XmlCompositionNanoContainer(new StringReader("" +
+ "<container>" +
+ " <pseudocomponent factory='org.picoextras.script.xml.BeanXmlPseudoComponentFactory'>" +
+ " <org.picoextras.testmodel.WebServerConfigBean>" +
+ " <host>foobar.com</host> " +
+ " <port>4321</port> " +
+ " </org.picoextras.testmodel.WebServerConfigBean>" +
+ " </pseudocomponent>" +
+ " <component typekey='org.picoextras.testmodel.WebServer' " +
+ " class='org.picoextras.testmodel.WebServerImpl'/>" +
+ "</container>"), new MockMonitor());
assertEquals("WebServerConfigBean and WebServerImpl expected", 2, nano.getRootContainer().getComponentInstances().size());
WebServerConfig wsc = (WebServerConfig) nano.getRootContainer().getComponentInstance(WebServerConfig.class);
- assertEquals("foobar.com",wsc.getHost());
- assertEquals(4321,wsc.getPort());
+ assertEquals("foobar.com", wsc.getHost());
+ assertEquals(4321, wsc.getPort());
}
public void testInstantiateWithBogusXmlFrontEnd() throws SAXException, ParserConfigurationException, IOException, PicoCompositionException {
@@ -174,16 +175,16 @@
public void testInstantiateWithBespokeContainer() throws SAXException, ParserConfigurationException, IOException, ClassNotFoundException, PicoCompositionException {
- OverriddenDefaultLifecyclePicoContainer.used = false;
+ OverriddenPicoContainer.used = false;
NanoContainer nano = new XmlCompositionNanoContainer(new StringReader("" +
- "<container container='"+OverriddenDefaultLifecyclePicoContainer.class.getName()+"'>" +
+ "<container container='" + OverriddenPicoContainer.class.getName() + "'>" +
" <component class='org.nanocontainer.Xxx$A'/>" +
"</container>"), new MockMonitor());
nano.stopComponentsDepthFirst();
nano.disposeComponentsDepthFirst();
- assertTrue("Bespoke Container (a test class) should have been used",OverriddenDefaultLifecyclePicoContainer.used);
+ assertTrue("Bespoke Container (a test class) should have been used", OverriddenPicoContainer.used);
assertEquals("Should match the expression", "*A+A_started+A_stopped+A_disposed", MockMonitor.monitorRecorder);
}
@@ -201,11 +202,11 @@
}
- public static class OverriddenDefaultLifecyclePicoContainer extends DefaultLifecyclePicoContainer {
+ public static class OverriddenPicoContainer extends DefaultPicoContainer {
public static boolean used;
- public OverriddenDefaultLifecyclePicoContainer() {
+ public OverriddenPicoContainer() {
used = true;
}
}
@@ -222,13 +223,13 @@
try {
new XmlCompositionNanoContainer(new StringReader("" +
- "<container>" +
- " <component stringkey='one' class='java.util.ArrayList'/>" +
- " <component stringkey='two' class='java.util.Vector'/>" +
- " <component class='"+CollectionNeedingComponent.class.getName()+"'>" +
- " <hint stringkey='one'/>" +
- " </component>" +
- "</container>"), new MockMonitor());
+ "<container>" +
+ " <component stringkey='one' class='java.util.ArrayList'/>" +
+ " <component stringkey='two' class='java.util.Vector'/>" +
+ " <component class='" + CollectionNeedingComponent.class.getName() + "'>" +
+ " <hint stringkey='one'/>" +
+ " </component>" +
+ "</container>"), new MockMonitor());
} catch (AmbiguousComponentResolutionException e) {
//TODO - This should work not barf.
}