From: <fab...@us...> - 2011-03-05 13:04:01
|
Revision: 5423 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5423&view=rev Author: fabiomaulo Date: 2011-03-05 13:03:55 +0000 (Sat, 05 Mar 2011) Log Message: ----------- Fix NH-2482 Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Intercept/DefaultFieldInterceptor.cs trunk/nhibernate/src/NHibernate.ByteCode.Castle/LazyFieldInterceptor.cs trunk/nhibernate/src/NHibernate.ByteCode.Castle.Tests/NHibernate.ByteCode.Castle.Tests.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.ByteCode.Castle.Tests/LazyFieldInterceptorSerializable.cs Modified: trunk/nhibernate/src/NHibernate/Intercept/DefaultFieldInterceptor.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Intercept/DefaultFieldInterceptor.cs 2011-03-05 10:51:21 UTC (rev 5422) +++ trunk/nhibernate/src/NHibernate/Intercept/DefaultFieldInterceptor.cs 2011-03-05 13:03:55 UTC (rev 5423) @@ -1,8 +1,10 @@ -using Iesi.Collections.Generic; +using System; +using Iesi.Collections.Generic; using NHibernate.Engine; namespace NHibernate.Intercept { + [Serializable] public class DefaultFieldInterceptor : AbstractFieldInterceptor { public DefaultFieldInterceptor(ISessionImplementor session, ISet<string> uninitializedFields, ISet<string> unwrapProxyFieldNames, string entityName, System.Type mappedClass) Modified: trunk/nhibernate/src/NHibernate.ByteCode.Castle/LazyFieldInterceptor.cs =================================================================== --- trunk/nhibernate/src/NHibernate.ByteCode.Castle/LazyFieldInterceptor.cs 2011-03-05 10:51:21 UTC (rev 5422) +++ trunk/nhibernate/src/NHibernate.ByteCode.Castle/LazyFieldInterceptor.cs 2011-03-05 13:03:55 UTC (rev 5423) @@ -1,3 +1,4 @@ +using System; using Castle.DynamicProxy; using NHibernate.Intercept; using NHibernate.Util; @@ -4,6 +5,7 @@ namespace NHibernate.ByteCode.Castle { + [Serializable] public class LazyFieldInterceptor : IFieldInterceptorAccessor, global::Castle.DynamicProxy.IInterceptor { public IFieldInterceptor FieldInterceptor Added: trunk/nhibernate/src/NHibernate.ByteCode.Castle.Tests/LazyFieldInterceptorSerializable.cs =================================================================== --- trunk/nhibernate/src/NHibernate.ByteCode.Castle.Tests/LazyFieldInterceptorSerializable.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.ByteCode.Castle.Tests/LazyFieldInterceptorSerializable.cs 2011-03-05 13:03:55 UTC (rev 5423) @@ -0,0 +1,35 @@ +using System; +using Iesi.Collections.Generic; +using NHibernate.Intercept; +using NUnit.Framework; +using SharpTestsEx; + +namespace NHibernate.ByteCode.Castle.Tests +{ + public class LazyFieldInterceptorSerializable + { + [Serializable] + public class MyClass + { + public virtual int Id { get; set; } + } + + [Test] + public void LazyFieldInterceptorMarkedAsSerializable() + { + typeof(LazyFieldInterceptor).Should().Have.Attribute<SerializableAttribute>(); + } + + [Test] + public void LazyFieldInterceptorIsBinarySerializable() + { + var pf = new ProxyFactory(); + var propertyInfo = typeof(MyClass).GetProperty("Id"); + pf.PostInstantiate("MyClass", typeof(MyClass), new HashedSet<System.Type>(), propertyInfo.GetGetMethod(), propertyInfo.GetSetMethod(), null); + var fieldInterceptionProxy = (IFieldInterceptorAccessor)pf.GetFieldInterceptionProxy(); + fieldInterceptionProxy.FieldInterceptor = new DefaultFieldInterceptor(null, null, null, "MyClass", typeof(MyClass)); + + fieldInterceptionProxy.Should().Be.BinarySerializable(); + } + } +} \ No newline at end of file Modified: trunk/nhibernate/src/NHibernate.ByteCode.Castle.Tests/NHibernate.ByteCode.Castle.Tests.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.ByteCode.Castle.Tests/NHibernate.ByteCode.Castle.Tests.csproj 2011-03-05 10:51:21 UTC (rev 5422) +++ trunk/nhibernate/src/NHibernate.ByteCode.Castle.Tests/NHibernate.ByteCode.Castle.Tests.csproj 2011-03-05 13:03:55 UTC (rev 5423) @@ -70,6 +70,9 @@ <SpecificVersion>False</SpecificVersion> <HintPath>..\..\lib\net\3.5\nunit.framework.dll</HintPath> </Reference> + <Reference Include="SharpTestsEx.NUnit"> + <HintPath>..\..\lib\net\3.5\SharpTestsEx.NUnit.dll</HintPath> + </Reference> <Reference Include="System" /> <Reference Include="System.Core"> <RequiredTargetFramework>3.5</RequiredTargetFramework> @@ -80,6 +83,7 @@ <ItemGroup> <Compile Include="DebugConnectionProvider.cs" /> <Compile Include="AssemblyInfo.cs" /> + <Compile Include="LazyFieldInterceptorSerializable.cs" /> <Compile Include="ProxyInterface\CastleProxy.cs" /> <Compile Include="ProxyInterface\CastleProxyFixture.cs" /> <Compile Include="ProxyInterface\CastleProxyImpl.cs" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |