[CVS nano] First iteration of single parent refactoring in PicoContainer. Tests are currently failing.

Aslak Hellesoy <rinkrank-yCVjj/[email protected]> Thu, 15 Jan 2004 18:25:10 -0600
Newsgroups gmane.comp.java.nanocontainer.cvs
Message-ID <[email protected]>
Commit in nano/src on SINGLE_PARENT_REFACTORING

java/org/nanocontainer/Main.java +2 -2 1.5 -> 1.5.2.1

/NanoContainer.java +16 -16 1.13 -> 1.13.2.1

test/org/nanocontainer/JavaScriptCompositionNanoContainerTestCase.java +5 -5 1.4 -> 1.4.2.1

/JythonCompositionNanoContainerTestCase.java +3 -3 1.6 -> 1.6.2.1

/XmlCompositionNanoContainerTestCase.java +3 -3 1.7 -> 1.7.2.1

+29 -29

5 modified files

First iteration of single parent refactoring in PicoContainer. Tests are currently failing.

----------

nano /src /java /org /nanocontainer

Main.java 1.5 -> 1.5.2.1

diff -u -r1.5 -r1.5.2.1
--- Main.java 22 Nov 2003 17:44:08 -0000 1.5
+++ Main.java 16 Jan 2004 00:25:09 -0000 1.5.2.1
@@ -49,7 +49,7 @@

};

- public static void main(String[] args) throws IOException, ClassNotFoundException, PicoCompositionException, ParserConfigurationException {

+ public static void main(String[] args) throws IOException, PicoCompositionException, ParserConfigurationException {

List options = getOptions(args);

String monitor = "";

@@ -90,7 +90,7 @@

createComposition(composition, nanoContainerMonitor);
}

- private static void createComposition(String composition, NanoContainerMonitor nanoContainerMonitor) throws PicoCompositionException, ClassNotFoundException, IOException, ParserConfigurationException {

+ private static void createComposition(String composition, NanoContainerMonitor nanoContainerMonitor) throws PicoCompositionException, IOException, ParserConfigurationException {

if (composition.toLowerCase().endsWith(".js")) {
NanoContainer nano = new JavaScriptCompositionNanoContainer(new FileReader(composition), nanoContainerMonitor);
nano.addShutdownHook();

----------

nano /src /java /org /nanocontainer

NanoContainer.java 1.13 -> 1.13.2.1

diff -u -r1.13 -r1.13.2.1
--- NanoContainer.java 22 Nov 2003 17:44:08 -0000 1.13
+++ NanoContainer.java 16 Jan 2004 00:25:09 -0000 1.13.2.1
@@ -25,7 +25,7 @@

* @author Mauro Talevi
* @author Ward Cunningham
* @author Paul Hammant

- * @version $Revision: 1.13 $

+ * @version $Revision: 1.13.2.1 $

*/
public abstract class NanoContainer {

@@ -50,21 +50,21 @@

}

private void instantiateComponentsBreadthFirst(PicoContainer picoContainer) throws EmptyCompositionException {

- if (picoContainer instanceof LifecyclePicoAdapter) {
- lifecycleAdapters.add(picoContainer);
- } else {
- lifecycleAdapters.add(new DefaultLifecyclePicoAdapter(picoContainer));
- }
- List comps = picoContainer.getComponentInstances();
- if (comps.size() == 0) {
- throw new EmptyCompositionException();
- }
- monitor.componentsInstantiated(picoContainer);
- Collection childContainers = picoContainer.getChildContainers();
- for (Iterator iterator = childContainers.iterator(); iterator.hasNext();) {
- PicoContainer childContainer = (PicoContainer) iterator.next();
- instantiateComponentsBreadthFirst(childContainer);
- }

+// if (picoContainer instanceof LifecyclePicoAdapter) {
+// lifecycleAdapters.add(picoContainer);
+// } else {
+// lifecycleAdapters.add(new DefaultLifecyclePicoAdapter(picoContainer));
+// }
+// List comps = picoContainer.getComponentInstances();
+// if (comps.size() == 0) {
+// throw new EmptyCompositionException();
+// }
+// monitor.componentsInstantiated(picoContainer);
+// Collection childContainers = picoContainer.getChildContainers();
+// for (Iterator iterator = childContainers.iterator(); iterator.hasNext();) {
+// PicoContainer childContainer = (PicoContainer) iterator.next();
+// instantiateComponentsBreadthFirst(childContainer);
+// }

}

public void startComponentsBreadthFirst() {

----------

nano /src /test /org /nanocontainer

JavaScriptCompositionNanoContainerTestCase.java 1.4 -> 1.4.2.1

diff -u -r1.4 -r1.4.2.1
--- JavaScriptCompositionNanoContainerTestCase.java 24 Dec 2003 00:34:25 -0000 1.4
+++ JavaScriptCompositionNanoContainerTestCase.java 16 Jan 2004 00:25:09 -0000 1.4.2.1
@@ -13,7 +13,7 @@

import org.mozilla.javascript.EcmaError;
import org.picoextras.testmodel.WebServerConfig;
import org.picoextras.script.PicoCompositionException;

-import org.picocontainer.defaults.NoSatisfiableConstructorsException;

+import org.picocontainer.defaults.UnsatisfiableDependenciesException;

import java.io.IOException;
import java.io.StringReader;

@@ -23,7 +23,7 @@

* @author Aslak Helles&oslash;y
* @author Paul Hammant
* @author Ward Cunningham

- * @version $Revision: 1.4 $

+ * @version $Revision: 1.4.2.1 $

*/
public class JavaScriptCompositionNanoContainerTestCase extends TestCase {

@@ -90,7 +90,7 @@

" registerComponentImplementation('org.nanocontainer.Xxx$A');\n" +
" var childContainer = new PicoScriptable();\n" +
" with (childContainer) {\n" +

- " addParent(parentContainer);\n" +

+ " setParent(parentContainer);\n" +

" registerComponentImplementation('org.nanocontainer.Xxx$B');\n" +
" }\n" +
" registerComponentImplementation('org.nanocontainer.Xxx$C');\n" +

@@ -127,7 +127,7 @@

" registerComponentImplementation('org.nanocontainer.Xxx$B');\n" +
" var childContainer = new PicoScriptable();\n" +
" with (childContainer) {\n" +

- " addParent(parentContainer);\n" +

+ " setParent(parentContainer);\n" +

" registerComponentImplementation('org.nanocontainer.Xxx$A');\n" +
" }\n" +
" registerComponentImplementation('org.nanocontainer.Xxx$C');\n" +

@@ -135,7 +135,7 @@

"pico.setPicoScriptable(parentContainer)\n"
), new MockMonitor());
fail("Should not have been able to instansiate component tree due to visibility/parent reasons.");

- } catch (NoSatisfiableConstructorsException e) {

+ } catch (UnsatisfiableDependenciesException e) {

}
}

----------

nano /src /test /org /nanocontainer

JythonCompositionNanoContainerTestCase.java 1.6 -> 1.6.2.1

diff -u -r1.6 -r1.6.2.1
--- JythonCompositionNanoContainerTestCase.java 24 Dec 2003 00:34:25 -0000 1.6
+++ JythonCompositionNanoContainerTestCase.java 16 Jan 2004 00:25:09 -0000 1.6.2.1
@@ -12,7 +12,7 @@

import junit.framework.TestCase;
import org.picoextras.testmodel.WebServerConfig;
import org.picoextras.script.PicoCompositionException;

-import org.picocontainer.defaults.NoSatisfiableConstructorsException;

+import org.picocontainer.defaults.UnsatisfiableDependenciesException;

import java.io.IOException;
import java.io.StringReader;

@@ -23,7 +23,7 @@

* @author Paul Hammant
* @author Ward Cunningham
* @author Mike Royle

- * @version $Revision: 1.6 $

+ * @version $Revision: 1.6.2.1 $

*/
public class JythonCompositionNanoContainerTestCase extends TestCase {

@@ -89,7 +89,7 @@

"rootContainer.registerComponentImplementation('org.nanocontainer.Xxx$C')\n"
), new MockMonitor());
fail("Should not have been able to instansiate component tree due to visibility/parent reasons.");

- } catch (NoSatisfiableConstructorsException e) {

+ } catch (UnsatisfiableDependenciesException e) {

}
}

----------

nano /src /test /org /nanocontainer

XmlCompositionNanoContainerTestCase.java 1.7 -> 1.7.2.1

diff -u -r1.7 -r1.7.2.1
--- XmlCompositionNanoContainerTestCase.java 24 Dec 2003 00:34:25 -0000 1.7
+++ XmlCompositionNanoContainerTestCase.java 16 Jan 2004 00:25:09 -0000 1.7.2.1
@@ -16,7 +16,7 @@

import org.picoextras.script.PicoCompositionException;
import org.picocontainer.defaults.AmbiguousComponentResolutionException;
import org.picocontainer.defaults.DefaultComponentAdapterFactory;

-import org.picocontainer.defaults.NoSatisfiableConstructorsException;

+import org.picocontainer.defaults.UnsatisfiableDependenciesException;

import org.picocontainer.defaults.DefaultPicoContainer;
import org.xml.sax.SAXException;

@@ -30,7 +30,7 @@

* @author Aslak Helles&oslash;y
* @author Paul Hammant
* @author Ward Cunningham

- * @version $Revision: 1.7 $

+ * @version $Revision: 1.7.2.1 $

*/
public class XmlCompositionNanoContainerTestCase extends TestCase {

@@ -73,7 +73,7 @@

" <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) {

+ } catch (UnsatisfiableDependenciesException e) {

//expected
}
}