User: xtoff
Date: 2009/12/19 04:58 PM

Modified:
 /InversionOfControl/trunk/src/Castle.MicroKernel/
  DefaultKernel_Events.cs
 /InversionOfControl/trunk/src/Castle.MicroKernel/ComponentActivator/
  DefaultComponentActivator.cs
 /InversionOfControl/trunk/src/Castle.MicroKernel/ModelBuilder/Inspectors/
  LifecycleModelInspector.cs, MethodMetaInspector.cs, 
PropertiesDependenciesModelInspector.cs
 /InversionOfControl/trunk/src/Castle.MicroKernel/Registration/Strategies/
  AllTypes.cs, ServiceDescriptor.cs
 /InversionOfControl/trunk/src/Castle.MicroKernel/SubSystems/Conversion/
  DefaultConversionManager.cs
 
/InversionOfControl/trunk/src/Castle.MicroKernel/SubSystems/Conversion/Converters/
  DefaultComplexConverter.cs, PrimitiveConverter.cs
 /InversionOfControl/trunk/src/Castle.MicroKernel/SubSystems/Resource/
  DefaultResourceSubSystem.cs
 /InversionOfControl/trunk/src/Castle.Windsor.Tests/Components/
  CalculatorServiceWithLifecycle.cs, Camera.cs, MarshalCalculatorService.cs

Log:
 Applied patch from Simon Cropp for IOC-ISSUE-184 - Anothe set of misc patches 
for silverlight

File Changes:

Directory: /InversionOfControl/trunk/src/Castle.MicroKernel/
============================================================

File [modified]: DefaultKernel_Events.cs
Delta lines: +2 -0
===================================================================

--- 
InversionOfControl/trunk/src/Castle.MicroKernel/ModelBuilder/Inspectors/LifecycleModelInspector.cs
  2009-12-19 23:46:12 UTC (rev 6477)
+++ 
InversionOfControl/trunk/src/Castle.MicroKernel/ModelBuilder/Inspectors/LifecycleModelInspector.cs
  2009-12-19 23:58:09 UTC (rev 6478)
@@ -50,10 +50,12 @@
                        {
                                model.LifecycleSteps.Add( 
LifecycleStepType.Commission, InitializationConcern.Instance );
                        }
+#if (!SILVERLIGHT)
                        if (typeof 
(ISupportInitialize).IsAssignableFrom(model.Implementation))
                        {
                                model.LifecycleSteps.Add( 
LifecycleStepType.Commission, SupportInitializeConcern.Instance );
                        }
+#endif
                        if (typeof 
(IDisposable).IsAssignableFrom(model.Implementation))
                        {

Directory: /InversionOfControl/trunk/src/Castle.MicroKernel/ComponentActivator/
===============================================================================

File [modified]: DefaultComponentActivator.cs
Delta lines: +1 -1
===================================================================

--- InversionOfControl/trunk/src/Castle.MicroKernel/DefaultKernel_Events.cs     
2009-12-19 23:46:12 UTC (rev 6477)
+++ InversionOfControl/trunk/src/Castle.MicroKernel/DefaultKernel_Events.cs     
2009-12-19 23:58:09 UTC (rev 6478)
@@ -288,7 +288,7 @@
                                return;
                        }
 
-                       events.Add(key, Delegate.Combine(value));
+                       events.Add(key, Delegate.Combine(value, null));
                }
 

Directory: /InversionOfControl/trunk/src/Castle.Windsor.Tests/Components/
=========================================================================

File [modified]: CalculatorServiceWithLifecycle.cs
Delta lines: +4 -0
===================================================================

--- InversionOfControl/trunk/src/Castle.Windsor.Tests/Components/Camera.cs      
2009-12-19 23:46:12 UTC (rev 6477)
+++ InversionOfControl/trunk/src/Castle.Windsor.Tests/Components/Camera.cs      
2009-12-19 23:58:09 UTC (rev 6478)
@@ -58,7 +58,11 @@
                }
        }
 
+#if (SILVERLIGHT)
+       public class CameraService : ICameraService
+#else
        public class CameraService : MarshalByRefObject, ICameraService
+#endif
        {
                public ICamera Add(String name, String ipNumber)

File [modified]: Camera.cs
Delta lines: +4 -3
===================================================================

--- 
InversionOfControl/trunk/src/Castle.Windsor.Tests/Components/MarshalCalculatorService.cs
    2009-12-19 23:46:12 UTC (rev 6477)
+++ 
InversionOfControl/trunk/src/Castle.Windsor.Tests/Components/MarshalCalculatorService.cs
    2009-12-19 23:58:09 UTC (rev 6478)
@@ -16,11 +16,12 @@
 {
        using System;
 
+#if (SILVERLIGHT)
+       public class MarshalCalculatorService : ICalcService
+#else
        public class MarshalCalculatorService : MarshalByRefObject, ICalcService
+#endif
        {
-               public MarshalCalculatorService()
-               {
-               }
 
                public int Sum(int x, int y)

File [modified]: MarshalCalculatorService.cs
Delta lines: +0 -0
===================================================================

Directory: 
/InversionOfControl/trunk/src/Castle.MicroKernel/SubSystems/Conversion/
==================================================================================

File [modified]: DefaultConversionManager.cs
Delta lines: +1 -1
===================================================================

--- 
InversionOfControl/trunk/src/Castle.MicroKernel/SubSystems/Resource/DefaultResourceSubSystem.cs
     2009-12-19 23:46:12 UTC (rev 6477)
+++ 
InversionOfControl/trunk/src/Castle.MicroKernel/SubSystems/Resource/DefaultResourceSubSystem.cs
     2009-12-19 23:58:09 UTC (rev 6478)
@@ -35,9 +35,9 @@
                protected virtual void InitDefaultResourceFactories()
                {
                        RegisterResourceFactory( new AssemblyResourceFactory() 
);
-                       RegisterResourceFactory( new FileResourceFactory() );
                        RegisterResourceFactory( new UncResourceFactory() );
 #if !SILVERLIGHT
+                       RegisterResourceFactory( new FileResourceFactory() );
                        RegisterResourceFactory( new ConfigResourceFactory() );
 #endif

Directory: 
/InversionOfControl/trunk/src/Castle.MicroKernel/SubSystems/Conversion/Converters/
=============================================================================================

File [modified]: DefaultComplexConverter.cs
Delta lines: +3 -1
===================================================================

--- 
InversionOfControl/trunk/src/Castle.MicroKernel/SubSystems/Conversion/Converters/PrimitiveConverter.cs
      2009-12-19 23:46:12 UTC (rev 6477)
+++ 
InversionOfControl/trunk/src/Castle.MicroKernel/SubSystems/Conversion/Converters/PrimitiveConverter.cs
      2009-12-19 23:58:09 UTC (rev 6478)
@@ -12,6 +12,8 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+using System.Threading;
+
 namespace Castle.MicroKernel.SubSystems.Conversion
 {
        using System;
@@ -60,7 +62,7 @@
 
                        try
                        {
-                               return Convert.ChangeType(value, targetType);
+                               return Convert.ChangeType(value, 
targetType,Thread.CurrentThread.CurrentCulture);
                        }
                        catch(Exception ex)

File [modified]: PrimitiveConverter.cs
Delta lines: +3 -1
===================================================================

--- 
InversionOfControl/trunk/src/Castle.MicroKernel/SubSystems/Conversion/DefaultConversionManager.cs
   2009-12-19 23:46:12 UTC (rev 6477)
+++ 
InversionOfControl/trunk/src/Castle.MicroKernel/SubSystems/Conversion/DefaultConversionManager.cs
   2009-12-19 23:58:09 UTC (rev 6478)
@@ -33,7 +33,7 @@
                private static readonly LocalDataStoreSlot slot = 
Thread.AllocateDataSlot();
 #else
                [ThreadStatic]
-               private static readonly Stack<ComponentModel> slot;
+               private static Stack<ComponentModel> slot;
 #endif
         private readonly IList<ITypeConverter> converters = new 
List<ITypeConverter>();
         private readonly IList<ITypeConverter> standAloneConverters = new 
List<ITypeConverter>();
@@ -56,7 +56,9 @@
                        Add(new ArrayConverter());
                        Add(new ComponentConverter());
                        Add(new AttributeAwareConverter());
+#if (!SILVERLIGHT)
                        Add(new ComponentModelConverter());
+#endif
                }
 

Directory: 
/InversionOfControl/trunk/src/Castle.MicroKernel/ModelBuilder/Inspectors/
====================================================================================

File [modified]: LifecycleModelInspector.cs
Delta lines: +4 -2
===================================================================

--- 
InversionOfControl/trunk/src/Castle.MicroKernel/ModelBuilder/Inspectors/MethodMetaInspector.cs
      2009-12-19 23:46:12 UTC (rev 6477)
+++ 
InversionOfControl/trunk/src/Castle.MicroKernel/ModelBuilder/Inspectors/MethodMetaInspector.cs
      2009-12-19 23:58:09 UTC (rev 6478)
@@ -13,8 +13,10 @@
 // limitations under the License.
 
 
+
 namespace Castle.MicroKernel.ModelBuilder.Inspectors
 {
+       using System.Globalization;
        using System;
        using System.Collections.Generic;
        using System.Reflection;
@@ -139,7 +141,7 @@
 
                private IList<MethodInfo> GetMethods(Type implementation, 
String name, String signature)
                {
-                       if (signature == null || signature.Length == 0)
+                       if (string.IsNullOrEmpty(signature))
                        {
                                MethodInfo[] allmethods = 
implementation.GetMethods(AllMethods);
 
@@ -147,7 +149,7 @@
 
                                foreach(MethodInfo method in allmethods)
                                {
-                                       if (String.Compare(method.Name, name, 
true) == 0)
+                                       if 
(CultureInfo.InvariantCulture.CompareInfo.Compare(method.Name, name, 
CompareOptions.IgnoreCase) == 0)
                                        {
                                                methods.Add(method);

File [modified]: MethodMetaInspector.cs
Delta lines: +8 -6
===================================================================

--- 
InversionOfControl/trunk/src/Castle.MicroKernel/ModelBuilder/Inspectors/PropertiesDependenciesModelInspector.cs
     2009-12-19 23:46:12 UTC (rev 6477)
+++ 
InversionOfControl/trunk/src/Castle.MicroKernel/ModelBuilder/Inspectors/PropertiesDependenciesModelInspector.cs
     2009-12-19 23:58:09 UTC (rev 6478)
@@ -12,11 +12,13 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+
 namespace Castle.MicroKernel.ModelBuilder.Inspectors
 {
        using System;
+       using System.Collections.Generic;
+       using System.Linq;
        using System.Reflection;
-
        using Castle.Core;
        using Castle.MicroKernel.SubSystems.Conversion;
        using Castle.Core.Configuration;
@@ -152,12 +154,12 @@
                        }
                        catch(Exception)
                        {
-                               String[] enumNames = 
Enum.GetNames(typeof(PropertiesInspectionBehavior));
-                               
-                               String message = String.Format("Error on 
properties inspection. " + 
-                                       "Could not convert the 
inspectionBehavior attribute value into an expected enum value. " + 
+                               Type enumType = 
typeof(PropertiesInspectionBehavior);
+                               FieldInfo[] infos = 
enumType.GetFields(BindingFlags.Public | BindingFlags.Static);
+                               IEnumerable<string> enumNames = infos.Select(x 
=> x.Name);
+                               String message = String.Format("Error on 
properties inspection. Could not convert the inspectionBehavior attribute value 
into an expected enum value. " + 
                                        "Value found is '{0}' while possible 
values are '{1}'", 
-                                               enumStringVal, String.Join(",", 
enumNames));
+                                               enumStringVal, String.Join(",", 
enumNames.ToArray()));
                                
                                throw new KernelException(message);

File [modified]: PropertiesDependenciesModelInspector.cs
Delta lines: +4 -0
===================================================================

--- 
InversionOfControl/trunk/src/Castle.MicroKernel/Registration/Strategies/AllTypes.cs
 2009-12-19 23:46:12 UTC (rev 6477)
+++ 
InversionOfControl/trunk/src/Castle.MicroKernel/Registration/Strategies/AllTypes.cs
 2009-12-19 23:58:09 UTC (rev 6478)
@@ -65,6 +65,9 @@
 
                        if (extension == ".dll" || extension == ".exe")
                        {
+#if (SILVERLIGHT)
+                               assembly = 
Assembly.Load(Path.GetFileNameWithoutExtension(assemblyName));
+#else
                                if (Path.GetDirectoryName(assemblyName) == 
AppDomain.CurrentDomain.BaseDirectory)
                                {
                                        assembly = 
Assembly.Load(Path.GetFileNameWithoutExtension(assemblyName));
@@ -73,6 +76,7 @@
                                {
                                        assembly = 
Assembly.LoadFile(assemblyName);
                                }
+#endif
                        }
                        else

Directory: /InversionOfControl/trunk/src/Castle.MicroKernel/SubSystems/Resource/
================================================================================

File [modified]: DefaultResourceSubSystem.cs
Delta lines: +4 -13
===================================================================

--- 
InversionOfControl/trunk/src/Castle.Windsor.Tests/Components/CalculatorServiceWithLifecycle.cs
      2009-12-19 23:46:12 UTC (rev 6477)
+++ 
InversionOfControl/trunk/src/Castle.Windsor.Tests/Components/CalculatorServiceWithLifecycle.cs
      2009-12-19 23:58:09 UTC (rev 6478)
@@ -18,15 +18,15 @@
        using Castle.Core;
 
        [Transient]
+#if (SILVERLIGHT)
+       public class CalculatorServiceWithLifecycle : ICalcService, 
IInitializable, IDisposable
+#else
        public class CalculatorServiceWithLifecycle : MarshalByRefObject, 
ICalcService, IInitializable, IDisposable
+#endif
        {
                private bool _initialized;
                private bool _disposed;
 
-               public CalculatorServiceWithLifecycle()
-               {
-               }
-
                public int Sum(int x, int y)
                {
                        return x + y;
@@ -52,14 +52,5 @@
                        get { return _disposed; }
                }
 
-               public override bool Equals(object obj)
-               {
-                       return base.Equals(obj);
-               }
-
-               public override int GetHashCode()
-               {
-                       return base.GetHashCode();
-               }
        }
 }

Directory: 
/InversionOfControl/trunk/src/Castle.MicroKernel/Registration/Strategies/
====================================================================================

File [modified]: AllTypes.cs
Delta lines: +4 -2
===================================================================

--- 
InversionOfControl/trunk/src/Castle.MicroKernel/Registration/Strategies/ServiceDescriptor.cs
        2009-12-19 23:46:12 UTC (rev 6477)
+++ 
InversionOfControl/trunk/src/Castle.MicroKernel/Registration/Strategies/ServiceDescriptor.cs
        2009-12-19 23:58:09 UTC (rev 6478)
@@ -12,8 +12,10 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+
 namespace Castle.MicroKernel.Registration
 {
+       using System.Linq;
        using System;
        using System.Collections.Generic;
        
@@ -143,11 +145,11 @@
                                services = serviceSelector(type, baseType);
                                if(services!=null)
                                {
-                                       services = new 
List<Type>(services).ConvertAll<Type>(WorkaroundCLRBug);
+                                       services = services.Select(x => 
WorkaroundCLRBug(x));
                                }
                        }
 
-                       return services ?? new Type[] { type };
+                       return services ?? new[] { type };
                }
 

File [modified]: ServiceDescriptor.cs
Delta lines: +6 -6
===================================================================

--- 
InversionOfControl/trunk/src/Castle.MicroKernel/SubSystems/Conversion/Converters/DefaultComplexConverter.cs
 2009-12-19 23:46:12 UTC (rev 6477)
+++ 
InversionOfControl/trunk/src/Castle.MicroKernel/SubSystems/Conversion/Converters/DefaultComplexConverter.cs
 2009-12-19 23:58:09 UTC (rev 6478)
@@ -12,6 +12,8 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.using System;
 
+using System.Globalization;
+
 namespace Castle.MicroKernel.SubSystems.Conversion
 {
        using System;
@@ -139,12 +141,11 @@
 
                                IConfiguration paramConfig = 
FindChildIgnoreCase(configuration, parameter.Name);
                                if (paramConfig == null)
-                                       throw new ConverterException("Child '" 
+ parameter.Name + "' missing in " + configuration.Name + " element.");
+                                       throw new 
ConverterException(string.Format("Child '{0}' missing in {1} element.", 
parameter.Name, configuration.Name));
 
                                Type paramType = parameter.ParameterType;
                                if 
(!this.ConversionManager.CanHandleType(paramType))
-                                       throw new ConverterException("No 
converter found for child '" + parameter.Name + "' in " + configuration.Name +
-                                                                    " element 
(type: " + paramType.Name + ").");
+                                       throw new 
ConverterException(string.Format("No converter found for child '{0}' in {1} 
element (type: {2}).", parameter.Name, configuration.Name, paramType.Name));
 
 
                                parameterValues[i] = 
ConvertChildParameter(paramConfig, paramType);
@@ -172,8 +173,7 @@
 
                                Type propType = property.PropertyType;
                                if 
(!this.ConversionManager.CanHandleType(propType))
-                                       throw new ConverterException("No 
converter found for child '" + property.Name + "' in " + configuration.Name +
-                                                                    " element 
(type: " + propType.Name + ").");
+                                       throw new 
ConverterException(string.Format("No converter found for child '{0}' in {1} 
element (type: {2}).", property.Name, configuration.Name, propType.Name));
 
                                object val = ConvertChildParameter(propConfig, 
propType);
                                property.SetValue(instance, val, null);
@@ -220,7 +220,7 @@
                {
                        foreach(IConfiguration child in config.Children)
                        {
-                               if (string.Compare(child.Name, name, true) == 0)
+                               if 
(CultureInfo.CurrentCulture.CompareInfo.Compare(child.Name, name, 
CompareOptions.IgnoreCase) == 0)
                                        return child;
                        }

--

You received this message because you are subscribed to the Google Groups 
"Castle Project Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/castle-project-commits?hl=en.


Reply via email to