|
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.
|