svn commit: rev 43497 - in avalon/trunk/central/laboratory/avalon-net/Castle/MicroKernel: Concerns/Default MicroKernelTest/Model Model/Default Subsystems/Configuration/Default

[email protected] 8 Sep 2004 04:05:11 -0000
Newsgroups gmane.comp.jakarta.avalon.cvs
Message-ID <[email protected]>
Author: hammett
Date: Tue Sep  7 21:05:11 2004
New Revision: 43497

Modified:
   avalon/trunk/central/laboratory/avalon-net/Castle/MicroKernel/Concerns/Default/ConfigureConcern.cs
   avalon/trunk/central/laboratory/avalon-net/Castle/MicroKernel/MicroKernelTest/Model/DefaultComponentModelBuilderTestCase.cs
   avalon/trunk/central/laboratory/avalon-net/Castle/MicroKernel/Model/Default/DefaultComponentModelBuilder.cs
   avalon/trunk/central/laboratory/avalon-net/Castle/MicroKernel/Subsystems/Configuration/Default/DefaultConfigurationManager.cs
Log:
Few corrections

Modified: avalon/trunk/central/laboratory/avalon-net/Castle/MicroKernel/Concerns/Default/ConfigureConcern.cs
==============================================================================
--- avalon/trunk/central/laboratory/avalon-net/Castle/MicroKernel/Concerns/Default/ConfigureConcern.cs	(original)
+++ avalon/trunk/central/laboratory/avalon-net/Castle/MicroKernel/Concerns/Default/ConfigureConcern.cs	Tue Sep  7 21:05:11 2004
@@ -30,7 +30,10 @@
 
 		public override void Apply(IComponentModel model, object component)
 		{
-			ContainerUtil.Configure( component, model.Configuration );
+			IConfiguration configuration = 
+				model.Configuration.GetChild("configuration", true);
+
+			ContainerUtil.Configure( component, configuration );
 
 			base.Apply( model, component );
 		}

Modified: avalon/trunk/central/laboratory/avalon-net/Castle/MicroKernel/MicroKernelTest/Model/DefaultComponentModelBuilderTestCase.cs
==============================================================================
--- avalon/trunk/central/laboratory/avalon-net/Castle/MicroKernel/MicroKernelTest/Model/DefaultComponentModelBuilderTestCase.cs	(original)
+++ avalon/trunk/central/laboratory/avalon-net/Castle/MicroKernel/MicroKernelTest/Model/DefaultComponentModelBuilderTestCase.cs	Tue Sep  7 21:05:11 2004
@@ -59,7 +59,7 @@
 
 			AssertEquals( 0, model.Properties.Count );
 			AssertEquals( 0, model.Dependencies.Length );
-			AssertEquals( "SimpleMailService", model.Name );
+			AssertEquals( "a", model.Name );
 			AssertEquals( Avalon.Framework.Lifestyle.Transient, model.SupportedLifestyle );
 			AssertEquals( Avalon.Framework.Activation.Undefined, model.ActivationPolicy );
 		}

Modified: avalon/trunk/central/laboratory/avalon-net/Castle/MicroKernel/Model/Default/DefaultComponentModelBuilder.cs
==============================================================================
--- avalon/trunk/central/laboratory/avalon-net/Castle/MicroKernel/Model/Default/DefaultComponentModelBuilder.cs	(original)
+++ avalon/trunk/central/laboratory/avalon-net/Castle/MicroKernel/Model/Default/DefaultComponentModelBuilder.cs	Tue Sep  7 21:05:11 2004
@@ -43,7 +43,7 @@
 			AssertUtil.ArgumentNotNull( service, "service" );
 			AssertUtil.ArgumentNotNull( implementation, "implementation" );
 
-			ComponentData data = new ComponentData(implementation);
+			ComponentData data = new ComponentData( key, implementation );
 
 			InspectConstructors(data);
 			InspectSetMethods(service, data);
@@ -256,16 +256,18 @@
 	/// </summary>
 	public class ComponentData
 	{
+		private String m_key;
+		private Type m_implementation;
+		private ConstructorInfo m_constructor;
 		private ArrayList m_dependencies = new ArrayList();
 		private ArrayList m_properties = new ArrayList();
-		private ConstructorInfo m_constructor;
 		private AvalonComponentAttribute m_componentAttribute;
 		private AvalonLoggerAttribute m_loggerAttribute;
-		private Type m_implementation;
 
-		public ComponentData( Type implementation )
+		public ComponentData( String key, Type implementation )
 		{
-			this.m_implementation = implementation;
+			m_key = key;
+			m_implementation = implementation;
 		}
 
 		public Type Implementation
@@ -376,7 +378,7 @@
 			{
 				if (AvalonComponent == null)
 				{
-					return Implementation.Name;
+					return m_key;
 				}
 
 				return AvalonComponent.Name;

Modified: avalon/trunk/central/laboratory/avalon-net/Castle/MicroKernel/Subsystems/Configuration/Default/DefaultConfigurationManager.cs
==============================================================================
--- avalon/trunk/central/laboratory/avalon-net/Castle/MicroKernel/Subsystems/Configuration/Default/DefaultConfigurationManager.cs	(original)
+++ avalon/trunk/central/laboratory/avalon-net/Castle/MicroKernel/Subsystems/Configuration/Default/DefaultConfigurationManager.cs	Tue Sep  7 21:05:11 2004
@@ -26,7 +26,7 @@
 	/// </summary>
 	public class DefaultConfigurationManager : AbstractSubsystem, IConfigurationManager
 	{
-		public Hashtable m_name2Config;
+		private Hashtable m_name2Config;
 
 		public DefaultConfigurationManager()
 		{
@@ -36,6 +36,11 @@
 					CaseInsensitiveComparer.Default) );
 		}
 	
+		protected virtual IDictionary ConfigurationDictionary
+		{
+			get { return m_name2Config; }
+		}
+
 		#region IConfigurationManager Members
 
 		/// <summary>
@@ -44,7 +49,7 @@
 		/// </summary>
 		/// <param name="componentName"></param>
 		/// <returns></returns>
-		public IConfiguration GetConfiguration(String componentName)
+		public virtual IConfiguration GetConfiguration(String componentName)
 		{
 			AssertUtil.ArgumentNotNull( componentName, "componentName" );
 
@@ -64,7 +69,7 @@
 		/// </summary>
 		/// <param name="componentName"></param>
 		/// <param name="configuration"></param>
-		public void Add(String componentName, IConfiguration configuration)
+		public virtual void Add(String componentName, IConfiguration configuration)
 		{
 			AssertUtil.ArgumentNotNull( componentName, "componentName" );
 			AssertUtil.ArgumentNotNull( configuration, "configuration" );
@@ -75,7 +80,7 @@
 		/// <summary>
 		/// Returns configurations available.
 		/// </summary>
-		public IConfiguration[] Configurations
+		public virtual IConfiguration[] Configurations
 		{
 			get
 			{