Here is a minimal work in the Avalon Container. Please DO NOT APPLY IT to CVS for the following reasons:
- We must define a start up strategy (if we really want a start up) - The Test Case is broken as we are not handling life cycle - I missed something with nant script (man, I prefer ANT!) and it's not building the test project. I just don't want to see the .net version 'forgotten' :-) Please make suggestions, criticize etc. Regards hammett
// ============================================================================ // The Apache Software License, Version 1.1 // ============================================================================ // // Copyright (C) 2002-2003 The Apache Software Foundation. All rights reserved. // // Redistribution and use in source and binary forms, with or without modifica- // tion, are permitted provided that the following conditions are met: // // 1. Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. // // 2. Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. // // 3. The end-user documentation included with the redistribution, if any, must // include the following acknowledgment: "This product includes software // developed by the Apache Software Foundation (http://www.apache.org/)." // Alternately, this acknowledgment may appear in the software itself, if // and wherever such third-party acknowledgments normally appear. // // 4. The names "Jakarta", "Avalon", "Excalibur" and "Apache Software Foundation" // must not be used to endorse or promote products derived from this software // without prior written permission. For written permission, please contact // [EMAIL PROTECTED] // // 5. Products derived from this software may not be called "Apache", nor may // "Apache" appear in their name, without prior written permission of the // Apache Software Foundation. // // THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, // INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND // FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE // APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, // INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- // DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS // OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON // ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // This software consists of voluntary contributions made by many individuals // on behalf of the Apache Software Foundation. For more information on the // Apache Software Foundation, please see <http://www.apache.org/>. // ============================================================================ namespace Apache.Avalon.Container.Test { using System; using NUnit.Framework; using Apache.Avalon.Framework; using Apache.Avalon.Container; [TestFixture] public class ComponentFactoryTestCase { [Test] public void Creation() { AvalonComponentFactory factory = new AvalonComponentFactory(typeof(DummyService)); Assertion.AssertEquals(typeof(DummyService), factory.ComponentType); object component = factory.Create(); Assertion.AssertNotNull(component); Assertion.AssertNotNull(component as DummyService); DummyService dummy = component as DummyService; factory.Destroy(dummy); /* Assertion.Assert("Initialize not called", dummy.flags[2]); Assertion.Assert("Configure not called", dummy.flags[0]); Assertion.Assert("Dispose not called", dummy.flags[1]); */ } } }
// ============================================================================ // The Apache Software License, Version 1.1 // ============================================================================ // // Copyright (C) 2002-2003 The Apache Software Foundation. All rights reserved. // // Redistribution and use in source and binary forms, with or without modifica- // tion, are permitted provided that the following conditions are met: // // 1. Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. // // 2. Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. // // 3. The end-user documentation included with the redistribution, if any, must // include the following acknowledgment: "This product includes software // developed by the Apache Software Foundation (http://www.apache.org/)." // Alternately, this acknowledgment may appear in the software itself, if // and wherever such third-party acknowledgments normally appear. // // 4. The names "Jakarta", "Avalon", "Excalibur" and "Apache Software Foundation" // must not be used to endorse or promote products derived from this software // without prior written permission. For written permission, please contact // [EMAIL PROTECTED] // // 5. Products derived from this software may not be called "Apache", nor may // "Apache" appear in their name, without prior written permission of the // Apache Software Foundation. // // THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, // INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND // FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE // APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, // INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- // DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS // OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON // ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // This software consists of voluntary contributions made by many individuals // on behalf of the Apache Software Foundation. For more information on the // Apache Software Foundation, please see <http://www.apache.org/>. // ============================================================================ namespace Apache.Avalon.Container.Test { using System; using System.Collections; using NUnit.Framework; using Apache.Avalon.Framework; /// <summary> /// Summary description for DummyService. /// </summary> public class DummyService : IInitializable, IConfigurable, IDisposable { public BitArray flags = new BitArray(3); public DummyService() { } #region Implementation of IConfigurable public void Configure(Apache.Avalon.Framework.IConfiguration config) { flags[0] = true; } #endregion #region Implementation of IDisposable public void Dispose() { flags[1] = true; } #endregion #region Implementation of IInitializable public void Initialize() { flags[2] = true; } #endregion } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
