[CVS nano] o Lifecycle absorbed into PicoContainer

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

test/org/nanocontainer/TestMonitor.java +34 added 1.1.2.1

/JavaScriptCompositionNanoContainerTestCase.java +11 -11 1.4.2.1 -> 1.4.2.2

/JythonCompositionNanoContainerTestCase.java +9 -9 1.6.2.1 -> 1.6.2.2

/XmlCompositionNanoContainerTestCase.java +15 -15 1.7.2.1 -> 1.7.2.2

/MockMonitor.java -34 1.3 removed

java/org/nanocontainer/CommonsLoggingNanoContainerMonitor.java +3 -3 1.1 -> 1.1.2.1

/ConsoleNanoContainerMonitor.java +3 -3 1.2 -> 1.2.2.1

/Log4JNanoContainerMonitor.java +3 -3 1.1 -> 1.1.2.1

/NanoContainer.java +19 -24 1.13.2.1 -> 1.13.2.2

/NanoContainerMonitor.java +3 -3 1.2 -> 1.2.2.1

/NullNanoContainerMonitor.java +3 -3 1.2 -> 1.2.2.1

+103 -108

1 added + 1 removed + 9 modified, total 11 files

o Lifecycle absorbed into PicoContainer
o DefaultPicoContainer is now an implicit ComponentAdapter for child containers

----------

nano /src /test /org /nanocontainer

TestMonitor.java added at 1.1.2.1

diff -N TestMonitor.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ TestMonitor.java 16 Jan 2004 12:18:39 -0000 1.1.2.1
@@ -0,0 +1,34 @@

+/*****************************************************************************
+ * Copyright (C) NanoContainer Organization. All rights reserved. *
+ * ------------------------------------------------------------------------- *
+ * The software in this package is published under the terms of the BSD *
+ * style license a copy of which has been included with this distribution in *
+ * the LICENSE.txt file. *
+ * *
+ *****************************************************************************/
+package org.nanocontainer;
+
+import org.picocontainer.PicoContainer;
+import org.picocontainer.lifecycle.Lifecycle;
+
+import java.util.ArrayList;
+
+public class TestMonitor implements NanoContainerMonitor {
+
+ public static String monitorRecorder;
+ public static ArrayList allComps;
+
+ private String code(Object inst) {
+ String name = inst.getClass().getName();
+ return name.substring(name.indexOf('$')+1,name.length());
+ }
+
+ public void componentsLifecycleEvent(String eventName, Lifecycle lpa) {
+ monitorRecorder += ("+" + code(lpa) + "_" + eventName);
+ }
+
+ public void componentsInstantiated(PicoContainer picoContainer) {
+ monitorRecorder += "*" + code(picoContainer.getComponentInstances().get(0));
+ allComps.addAll(picoContainer.getComponentInstances());
+ }
+}

----------

nano /src /test /org /nanocontainer

JavaScriptCompositionNanoContainerTestCase.java 1.4.2.1 -> 1.4.2.2

diff -u -r1.4.2.1 -r1.4.2.2
--- JavaScriptCompositionNanoContainerTestCase.java 16 Jan 2004 00:25:09 -0000 1.4.2.1
+++ JavaScriptCompositionNanoContainerTestCase.java 16 Jan 2004 12:18:39 -0000 1.4.2.2
@@ -23,13 +23,13 @@

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

- * @version $Revision: 1.4.2.1 $

+ * @version $Revision: 1.4.2.2 $

*/
public class JavaScriptCompositionNanoContainerTestCase extends TestCase {

protected void setUp() throws Exception {

- MockMonitor.monitorRecorder = "";
- MockMonitor.allComps = new ArrayList();

+ TestMonitor.monitorRecorder = "";
+ TestMonitor.allComps = new ArrayList();

Xxx.componentRecorder = "";
}

@@ -41,7 +41,7 @@

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

- ), new MockMonitor());

+ ), new TestMonitor());

nano.stopComponentsDepthFirst();
nano.disposeComponentsDepthFirst();

@@ -56,7 +56,7 @@

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

- ), new MockMonitor(), BespokeNanoRhinoScriptable.class);

+ ), new TestMonitor(), BespokeNanoRhinoScriptable.class);

nano.stopComponentsDepthFirst();
nano.disposeComponentsDepthFirst();

@@ -72,7 +72,7 @@

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

- ), new MockMonitor(), BogusNanoRhinoScriptable.class);

+ ), new TestMonitor(), BogusNanoRhinoScriptable.class);

fail("Should have barfed with EcmaError");
} catch (EcmaError e) {
// expected

@@ -96,7 +96,7 @@

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

- ), new MockMonitor());

+ ), new TestMonitor());

nano.stopComponentsDepthFirst();
nano.disposeComponentsDepthFirst();

@@ -110,9 +110,9 @@

}

try {

- assertEquals("Should match the expression", "*A*B+A_started+B_started+B_stopped+A_stopped+B_disposed+A_disposed", MockMonitor.monitorRecorder);

+ assertEquals("Should match the expression", "*A*B+A_started+B_started+B_stopped+A_stopped+B_disposed+A_disposed", TestMonitor.monitorRecorder);

} catch (ComparisonFailure e) {

- assertEquals("Should match the expression", "*C*B+C_started+B_started+B_stopped+C_stopped+B_disposed+C_disposed", MockMonitor.monitorRecorder);

+ assertEquals("Should match the expression", "*C*B+C_started+B_started+B_stopped+C_stopped+B_disposed+C_disposed", TestMonitor.monitorRecorder);

}
}

@@ -133,7 +133,7 @@

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

- ), new MockMonitor());

+ ), new TestMonitor());

fail("Should not have been able to instansiate component tree due to visibility/parent reasons.");
} catch (UnsatisfiableDependenciesException e) {
}

@@ -151,7 +151,7 @@

" registerComponentImplementation('org.picoextras.testmodel.WebServer','" + XmlCompositionNanoContainerTestCase.OverriddenWebServerImpl.class.getName() + "');\n" +
"}\n" +
"pico.setPicoScriptable(parentContainer)\n"

- ), new MockMonitor());

+ ), new TestMonitor());

assertEquals("WebServerConfigBean and WebServerImpl expected", 2, nano.getRootContainer().getComponentInstances().size());
WebServerConfig wsc = (WebServerConfig) nano.getRootContainer().getComponentInstance(WebServerConfig.class);

----------

nano /src /test /org /nanocontainer

JythonCompositionNanoContainerTestCase.java 1.6.2.1 -> 1.6.2.2

diff -u -r1.6.2.1 -r1.6.2.2
--- JythonCompositionNanoContainerTestCase.java 16 Jan 2004 00:25:09 -0000 1.6.2.1
+++ JythonCompositionNanoContainerTestCase.java 16 Jan 2004 12:18:39 -0000 1.6.2.2
@@ -23,13 +23,13 @@

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

- * @version $Revision: 1.6.2.1 $

+ * @version $Revision: 1.6.2.2 $

*/
public class JythonCompositionNanoContainerTestCase extends TestCase {

protected void setUp() throws Exception {

- MockMonitor.monitorRecorder = "";
- MockMonitor.allComps = new ArrayList();

+ TestMonitor.monitorRecorder = "";
+ TestMonitor.allComps = new ArrayList();

Xxx.componentRecorder = "";
}

@@ -37,7 +37,7 @@

NanoContainer nano = new JythonCompositionNanoContainer(new StringReader("" +
"rootContainer.registerComponentImplementation('org.nanocontainer.Xxx$A')\n"

- ), new MockMonitor());

+ ), new TestMonitor());

nano.stopComponentsDepthFirst();
nano.disposeComponentsDepthFirst();

@@ -54,7 +54,7 @@

"rootContainer.getPicoContainer().addChild(childContainer.getPicoContainer())\n" +
"childContainer.registerComponentImplementation('org.nanocontainer.Xxx$B')\n" +
"rootContainer.registerComponentImplementation('org.nanocontainer.Xxx$C')\n"

- ), new MockMonitor());

+ ), new TestMonitor());

nano.stopComponentsDepthFirst();
nano.disposeComponentsDepthFirst();

@@ -68,9 +68,9 @@

}

try {

- assertEquals("Should match the expression", "*A*B+A_started+B_started+B_stopped+A_stopped+B_disposed+A_disposed", MockMonitor.monitorRecorder);

+ assertEquals("Should match the expression", "*A*B+A_started+B_started+B_stopped+A_stopped+B_disposed+A_disposed", TestMonitor.monitorRecorder);

} catch (ComparisonFailure e) {

- assertEquals("Should match the expression", "*C*B+C_started+B_started+B_stopped+C_stopped+B_disposed+C_disposed", MockMonitor.monitorRecorder);

+ assertEquals("Should match the expression", "*C*B+C_started+B_started+B_stopped+C_stopped+B_disposed+C_disposed", TestMonitor.monitorRecorder);

}

@@ -87,7 +87,7 @@

"rootContainer.getPicoContainer().addChild(childContainer.getPicoContainer())\n" +
"childContainer.registerComponentImplementation('org.nanocontainer.Xxx$A')\n" +
"rootContainer.registerComponentImplementation('org.nanocontainer.Xxx$C')\n"

- ), new MockMonitor());

+ ), new TestMonitor());

fail("Should not have been able to instansiate component tree due to visibility/parent reasons.");
} catch (UnsatisfiableDependenciesException e) {
}

@@ -102,7 +102,7 @@

"wsc.setPort(4321)\n" +
"rootContainer.getPicoContainer().registerComponentInstance(wsc)\n" +
"rootContainer.registerComponentImplementation('org.picoextras.testmodel.WebServer','" + XmlCompositionNanoContainerTestCase.OverriddenWebServerImpl.class.getName() + "')\n"

- ), new MockMonitor());

+ ), new TestMonitor());

assertEquals("WebServerConfigBean and WebServerImpl expected", 2, nano.getRootContainer().getComponentInstances().size());
WebServerConfig wsc = (WebServerConfig) nano.getRootContainer().getComponentInstance(WebServerConfig.class);

----------

nano /src /test /org /nanocontainer

XmlCompositionNanoContainerTestCase.java 1.7.2.1 -> 1.7.2.2

diff -u -r1.7.2.1 -r1.7.2.2
--- XmlCompositionNanoContainerTestCase.java 16 Jan 2004 00:25:09 -0000 1.7.2.1
+++ XmlCompositionNanoContainerTestCase.java 16 Jan 2004 12:18:39 -0000 1.7.2.2
@@ -30,13 +30,13 @@

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

- * @version $Revision: 1.7.2.1 $

+ * @version $Revision: 1.7.2.2 $

*/
public class XmlCompositionNanoContainerTestCase extends TestCase {

protected void setUp() throws Exception {

- MockMonitor.monitorRecorder = "";
- MockMonitor.allComps = new ArrayList();

+ TestMonitor.monitorRecorder = "";
+ TestMonitor.allComps = new ArrayList();

}

public void testInstantiateBasicTree() throws SAXException, ParserConfigurationException, IOException, ClassNotFoundException, PicoCompositionException {

@@ -50,12 +50,12 @@

" <component class='org.nanocontainer.Xxx$B'/>" +
" </container>" +
" <component class='org.nanocontainer.Xxx$C'/>" +

- "</container>"), new MockMonitor());

+ "</container>"), new TestMonitor());

nano.stopComponentsDepthFirst();
nano.disposeComponentsDepthFirst();

assertEquals("Should match the expression", "<A<C<BB>C>A>!B!C!A", Xxx.componentRecorder);

- assertEquals("Should match the expression", "*A*B+A_started+B_started+B_stopped+A_stopped+B_disposed+A_disposed", MockMonitor.monitorRecorder);

+ assertEquals("Should match the expression", "*A*B+A_started+B_started+B_stopped+A_stopped+B_disposed+A_disposed", TestMonitor.monitorRecorder);

}

public void testInstantiateXmlWithImpossibleComponentDependanciesConsideringTheHierarchy()

@@ -71,7 +71,7 @@

" </container>" +
" <component class='org.nanocontainer.Xxx$B'/>" +
" <component class='org.nanocontainer.Xxx$C'/>" +

- "</container>"), new MockMonitor());

+ "</container>"), new TestMonitor());

fail("Should not have been able to instansiate component tree due to visibility/parent reasons.");
} catch (UnsatisfiableDependenciesException e) {
//expected

@@ -86,7 +86,7 @@

NanoContainer nano = new XmlCompositionNanoContainer(new StringReader("" +
"<container xmlfrontend='org.nanocontainer.BespokeXmlFrontEnd'>" +
" <component class='org.nanocontainer.Xxx$A'/>" +

- "</container>"), new MockMonitor());

+ "</container>"), new TestMonitor());

nano.stopComponentsDepthFirst();
nano.disposeComponentsDepthFirst();

@@ -101,7 +101,7 @@

nano = new XmlCompositionNanoContainer(new StringReader("" +
"<container componentadaptor='" + OverriddenComponentAdapterFactory.class.getName() + "'>" +
" <component typekey='org.picoextras.testmodel.WebServerConfig' class='org.picoextras.testmodel.DefaultWebServerConfig'/>" +

- "</container>"), new MockMonitor());

+ "</container>"), new TestMonitor());

Object wsc = nano.getRootContainer().getComponentInstance(WebServerConfig.class);

@@ -131,7 +131,7 @@

" </pseudocomponent>" +
" <component typekey='org.picoextras.testmodel.WebServer' " +
" class='org.picoextras.testmodel.WebServerImpl'/>" +

- "</container>"), new MockMonitor());

+ "</container>"), new TestMonitor());

assertEquals("WebServerConfigBean and WebServerImpl expected", 2, nano.getRootContainer().getComponentInstances().size());
WebServerConfig wsc = (WebServerConfig) nano.getRootContainer().getComponentInstance(WebServerConfig.class);

@@ -152,7 +152,7 @@

" </pseudocomponent>" +
" <component typekey='org.picoextras.testmodel.WebServer' " +
" class='org.picoextras.testmodel.WebServerImpl'/>" +

- "</container>"), new MockMonitor());

+ "</container>"), new TestMonitor());

assertEquals("WebServerConfigBean and WebServerImpl expected", 2, nano.getRootContainer().getComponentInstances().size());
WebServerConfig wsc = (WebServerConfig) nano.getRootContainer().getComponentInstance(WebServerConfig.class);

@@ -166,7 +166,7 @@

new XmlCompositionNanoContainer(new StringReader("" +
"<container xmlfrontend='YeeeeeHaaaaa'>" +
" <component classname='org.nanocontainer.Xxx$A'/>" +

- "</container>"), new MockMonitor());

+ "</container>"), new TestMonitor());

fail("Should have barfed with PicoCompositionException");
} catch (PicoCompositionException e) {
}

@@ -180,12 +180,12 @@

NanoContainer nano = new XmlCompositionNanoContainer(new StringReader("" +
"<container container='" + OverriddenPicoContainer.class.getName() + "'>" +
" <component class='org.nanocontainer.Xxx$A'/>" +

- "</container>"), new MockMonitor());

+ "</container>"), new TestMonitor());

nano.stopComponentsDepthFirst();
nano.disposeComponentsDepthFirst();

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);

+ assertEquals("Should match the expression", "*A+A_started+A_stopped+A_disposed", TestMonitor.monitorRecorder);

}

@@ -195,7 +195,7 @@

new XmlCompositionNanoContainer(new StringReader("" +
"<container container='YeeeHaaaaa'>" +
" <component classname='org.nanocontainer.Xxx$A'/>" +

- "</container>"), new MockMonitor());

+ "</container>"), new TestMonitor());

fail("Should have barfed with PicoCompositionException");
} catch (PicoCompositionException e) {
}

@@ -229,7 +229,7 @@

" <component class='" + CollectionNeedingComponent.class.getName() + "'>" +
" <hint stringkey='one'/>" +
" </component>" +

- "</container>"), new MockMonitor());

+ "</container>"), new TestMonitor());

} catch (AmbiguousComponentResolutionException e) {
//TODO - This should work not barf.
}

----------

nano /src /test /org /nanocontainer

MockMonitor.java removed after 1.3

diff -N MockMonitor.java
--- MockMonitor.java 16 Oct 2003 09:13:55 -0000 1.3
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,34 +0,0 @@

-/*****************************************************************************
- * Copyright (C) NanoContainer Organization. All rights reserved. *
- * ------------------------------------------------------------------------- *
- * The software in this package is published under the terms of the BSD *
- * style license a copy of which has been included with this distribution in *
- * the LICENSE.txt file. *
- * *
- *****************************************************************************/
-package org.nanocontainer;
-
-import org.picocontainer.PicoContainer;
-import org.picocontainer.lifecycle.LifecyclePicoAdapter;
-
-import java.util.ArrayList;
-
-public class MockMonitor implements NanoContainerMonitor {
-
- public static String monitorRecorder;
- public static ArrayList allComps;
-
- private String code(Object inst) {
- String name = inst.getClass().getName();
- return name.substring(name.indexOf('$')+1,name.length());
- }
-
- public void componentsLifecycleEvent(String eventName, LifecyclePicoAdapter lpa) {
- monitorRecorder += ("+" + code(lpa.getPicoContainer().getComponentInstances().get(0)) + "_" + eventName);
- }
-
- public void componentsInstantiated(PicoContainer picoContainer) {
- monitorRecorder += "*" + code(picoContainer.getComponentInstances().get(0));
- allComps.addAll(picoContainer.getComponentInstances());
- }
-}

----------

nano /src /java /org /nanocontainer

CommonsLoggingNanoContainerMonitor.java 1.1 -> 1.1.2.1

diff -u -r1.1 -r1.1.2.1
--- CommonsLoggingNanoContainerMonitor.java 4 Nov 2003 22:09:48 -0000 1.1
+++ CommonsLoggingNanoContainerMonitor.java 16 Jan 2004 12:18:39 -0000 1.1.2.1
@@ -9,14 +9,14 @@

package org.nanocontainer;

-import org.picocontainer.lifecycle.LifecyclePicoAdapter;

import org.picocontainer.PicoContainer;

+import org.picocontainer.lifecycle.Lifecycle;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
* @author Paul Hammant

- * @version $Revision: 1.1 $

+ * @version $Revision: 1.1.2.1 $

*/
public class CommonsLoggingNanoContainerMonitor implements NanoContainerMonitor {

@@ -26,7 +26,7 @@

log.info("Components Instantiated For Container " + picoContainer);
}

- public void componentsLifecycleEvent(String eventName, LifecyclePicoAdapter lpa) {

+ public void componentsLifecycleEvent(String eventName, Lifecycle lpa) {

log.info("ComponentEvent '" + eventName + "'" + lpa);
}
}

----------

nano /src /java /org /nanocontainer

ConsoleNanoContainerMonitor.java 1.2 -> 1.2.2.1

diff -u -r1.2 -r1.2.2.1
--- ConsoleNanoContainerMonitor.java 4 Nov 2003 22:09:48 -0000 1.2
+++ ConsoleNanoContainerMonitor.java 16 Jan 2004 12:18:39 -0000 1.2.2.1
@@ -9,12 +9,12 @@

package org.nanocontainer;

-import org.picocontainer.lifecycle.LifecyclePicoAdapter;

import org.picocontainer.PicoContainer;

+import org.picocontainer.lifecycle.Lifecycle;

/**
* @author Paul Hammant

- * @version $Revision: 1.2 $

+ * @version $Revision: 1.2.2.1 $

*/
public class ConsoleNanoContainerMonitor implements NanoContainerMonitor {

@@ -22,7 +22,7 @@

System.out.println("Components Instantiated For Container " + picoContainer);
}

- public void componentsLifecycleEvent(String eventName, LifecyclePicoAdapter lpa) {

+ public void componentsLifecycleEvent(String eventName, Lifecycle lpa) {

System.out.println("ComponentEvent '" + eventName + "'" + lpa);
}
}

----------

nano /src /java /org /nanocontainer

Log4JNanoContainerMonitor.java 1.1 -> 1.1.2.1

diff -u -r1.1 -r1.1.2.1
--- Log4JNanoContainerMonitor.java 4 Nov 2003 22:09:48 -0000 1.1
+++ Log4JNanoContainerMonitor.java 16 Jan 2004 12:18:39 -0000 1.1.2.1
@@ -9,13 +9,13 @@

package org.nanocontainer;

-import org.picocontainer.lifecycle.LifecyclePicoAdapter;

import org.picocontainer.PicoContainer;

+import org.picocontainer.lifecycle.Lifecycle;

import org.apache.log4j.Category;

/**
* @author Paul Hammant

- * @version $Revision: 1.1 $

+ * @version $Revision: 1.1.2.1 $

*/
public class Log4JNanoContainerMonitor implements NanoContainerMonitor {

@@ -25,7 +25,7 @@

category.info("Components Instantiated For Container " + picoContainer);
}

- public void componentsLifecycleEvent(String eventName, LifecyclePicoAdapter lpa) {

+ public void componentsLifecycleEvent(String eventName, Lifecycle lpa) {

category.info("ComponentEvent '" + eventName + "'" + lpa);
}
}

----------

nano /src /java /org /nanocontainer

NanoContainer.java 1.13.2.1 -> 1.13.2.2

diff -u -r1.13.2.1 -r1.13.2.2
--- NanoContainer.java 16 Jan 2004 00:25:09 -0000 1.13.2.1
+++ NanoContainer.java 16 Jan 2004 12:18:39 -0000 1.13.2.2
@@ -9,23 +9,18 @@

package org.nanocontainer;

import org.picocontainer.PicoContainer;

-import org.picocontainer.extras.DefaultLifecyclePicoAdapter;
-import org.picocontainer.lifecycle.LifecyclePicoAdapter;

import org.picoextras.script.PicoCompositionException;
import org.picoextras.script.xml.EmptyCompositionException;

import java.util.ArrayList;

-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;

import java.util.List;

/**

+ * @author Paul Hammant

* @author Aslak Helles&oslash;y
* @author Mauro Talevi
* @author Ward Cunningham

- * @author Paul Hammant
- * @version $Revision: 1.13.2.1 $

+ * @version $Revision: 1.13.2.2 $

*/
public abstract class NanoContainer {

@@ -53,7 +48,7 @@

// if (picoContainer instanceof LifecyclePicoAdapter) {
// lifecycleAdapters.add(picoContainer);
// } else {

-// lifecycleAdapters.add(new DefaultLifecyclePicoAdapter(picoContainer));

+// lifecycleAdapters.add(new LifecycleAdapter(picoContainer));

// }
// List comps = picoContainer.getComponentInstances();
// if (comps.size() == 0) {

@@ -68,28 +63,28 @@

}

public void startComponentsBreadthFirst() {

- for (Iterator iterator = lifecycleAdapters.iterator(); iterator.hasNext();) {
- LifecyclePicoAdapter lpa= (LifecyclePicoAdapter) iterator.next();
- lpa.start();
- monitor.componentsLifecycleEvent("started",lpa);
- }
- Collections.reverse(lifecycleAdapters); // for stop and dispose

+// for (Iterator iterator = lifecycleAdapters.iterator(); iterator.hasNext();) {
+// LifecyclePicoAdapter lpa= (LifecyclePicoAdapter) iterator.next();
+// lpa.start();
+// monitor.componentsLifecycleEvent("started",lpa);
+// }
+// Collections.reverse(lifecycleAdapters); // for stop and dispose

}

public void stopComponentsDepthFirst() {

- for (Iterator iterator = lifecycleAdapters.iterator(); iterator.hasNext();) {
- LifecyclePicoAdapter lpa= (LifecyclePicoAdapter) iterator.next();
- lpa.stop();
- monitor.componentsLifecycleEvent("stopped",lpa);
- }

+// for (Iterator iterator = lifecycleAdapters.iterator(); iterator.hasNext();) {
+// LifecyclePicoAdapter lpa= (LifecyclePicoAdapter) iterator.next();
+// lpa.stop();
+// monitor.componentsLifecycleEvent("stopped",lpa);
+// }

}

public void disposeComponentsDepthFirst() {

- for (Iterator iterator = lifecycleAdapters.iterator(); iterator.hasNext();) {
- LifecyclePicoAdapter lpa= (LifecyclePicoAdapter) iterator.next();
- lpa.dispose();
- monitor.componentsLifecycleEvent("disposed",lpa);
- }

+// for (Iterator iterator = lifecycleAdapters.iterator(); iterator.hasNext();) {
+// LifecyclePicoAdapter lpa= (LifecyclePicoAdapter) iterator.next();
+// lpa.dispose();
+// monitor.componentsLifecycleEvent("disposed",lpa);
+// }

}

public void addShutdownHook() {

----------

nano /src /java /org /nanocontainer

NanoContainerMonitor.java 1.2 -> 1.2.2.1

diff -u -r1.2 -r1.2.2.1
--- NanoContainerMonitor.java 4 Nov 2003 22:09:48 -0000 1.2
+++ NanoContainerMonitor.java 16 Jan 2004 12:18:39 -0000 1.2.2.1
@@ -10,14 +10,14 @@

package org.nanocontainer;

import org.picocontainer.PicoContainer;

-import org.picocontainer.lifecycle.LifecyclePicoAdapter;

+import org.picocontainer.lifecycle.Lifecycle;

/**
* @author Paul Hammant

- * @version $Revision: 1.2 $

+ * @version $Revision: 1.2.2.1 $

*/
public interface NanoContainerMonitor {

- void componentsLifecycleEvent(String eventName, LifecyclePicoAdapter lpa);

+ void componentsLifecycleEvent(String eventName, Lifecycle lpa);

void componentsInstantiated(PicoContainer picoContainer);
}

----------

nano /src /java /org /nanocontainer

NullNanoContainerMonitor.java 1.2 -> 1.2.2.1

diff -u -r1.2 -r1.2.2.1
--- NullNanoContainerMonitor.java 4 Nov 2003 22:09:48 -0000 1.2
+++ NullNanoContainerMonitor.java 16 Jan 2004 12:18:39 -0000 1.2.2.1
@@ -9,18 +9,18 @@

package org.nanocontainer;

-import org.picocontainer.lifecycle.LifecyclePicoAdapter;

import org.picocontainer.PicoContainer;

+import org.picocontainer.lifecycle.Lifecycle;

/**
* @author Paul Hammant

- * @version $Revision: 1.2 $

+ * @version $Revision: 1.2.2.1 $

*/
public class NullNanoContainerMonitor implements NanoContainerMonitor {

public void componentsInstantiated(PicoContainer picoContainer) {
}

- public void componentsLifecycleEvent(String eventName, LifecyclePicoAdapter lpa) {

+ public void componentsLifecycleEvent(String eventName, Lifecycle lpa) {

}
}