[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&oslash;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&oslash;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.
}