|
From: <fab...@us...> - 2009-10-18 15:59:19
|
Revision: 4780
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4780&view=rev
Author: fabiomaulo
Date: 2009-10-18 15:59:11 +0000 (Sun, 18 Oct 2009)
Log Message:
-----------
Merge r4779 (refactoring fix NH-1936)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Event/AbstractEvent.cs
trunk/nhibernate/src/NHibernate/Event/AbstractPreDatabaseOperationEvent.cs
trunk/nhibernate/src/NHibernate/Event/PostDeleteEvent.cs
trunk/nhibernate/src/NHibernate/Event/PostInsertEvent.cs
trunk/nhibernate/src/NHibernate/Event/PostLoadEvent.cs
trunk/nhibernate/src/NHibernate/Event/PostUpdateEvent.cs
trunk/nhibernate/src/NHibernate/Event/PreLoadEvent.cs
trunk/nhibernate/src/NHibernate/NHibernate.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate/Event/AbstractPostDatabaseOperationEvent.cs
trunk/nhibernate/src/NHibernate/Event/IDatabaseEventArgs.cs
trunk/nhibernate/src/NHibernate/Event/IPostDatabaseOperationEventArgs.cs
trunk/nhibernate/src/NHibernate/Event/IPreDatabaseOperationEventArgs.cs
Modified: trunk/nhibernate/src/NHibernate/Event/AbstractEvent.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/AbstractEvent.cs 2009-10-18 15:53:31 UTC (rev 4779)
+++ trunk/nhibernate/src/NHibernate/Event/AbstractEvent.cs 2009-10-18 15:59:11 UTC (rev 4780)
@@ -6,7 +6,7 @@
/// Defines a base class for Session generated events.
/// </summary>
[Serializable]
- public class AbstractEvent
+ public class AbstractEvent : IDatabaseEventArgs
{
/// <summary>
/// Constructs an event from the given event session.
Added: trunk/nhibernate/src/NHibernate/Event/AbstractPostDatabaseOperationEvent.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/AbstractPostDatabaseOperationEvent.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate/Event/AbstractPostDatabaseOperationEvent.cs 2009-10-18 15:59:11 UTC (rev 4780)
@@ -0,0 +1,36 @@
+using System;
+using NHibernate.Persister.Entity;
+
+namespace NHibernate.Event
+{
+ /// <summary>
+ /// Represents an operation we performed against the database.
+ /// </summary>
+ [Serializable]
+ public class AbstractPostDatabaseOperationEvent : AbstractEvent, IPostDatabaseOperationEventArgs
+ {
+ /// <summary> Constructs an event containing the pertinent information. </summary>
+ /// <param name="source">The session from which the event originated. </param>
+ /// <param name="entity">The entity to be invloved in the database operation. </param>
+ /// <param name="id">The entity id to be invloved in the database operation. </param>
+ /// <param name="persister">The entity's persister. </param>
+ protected AbstractPostDatabaseOperationEvent(IEventSource source, object entity, object id, IEntityPersister persister)
+ : base(source)
+ {
+ Entity = entity;
+ Id = id;
+ Persister = persister;
+ }
+
+ /// <summary> The entity involved in the database operation. </summary>
+ public object Entity { get; private set; }
+
+ /// <summary> The id to be used in the database operation. </summary>
+ public object Id { get; private set; }
+
+ /// <summary>
+ /// The persister for the <see cref="Entity"/>.
+ /// </summary>
+ public IEntityPersister Persister { get; private set; }
+ }
+}
Modified: trunk/nhibernate/src/NHibernate/Event/AbstractPreDatabaseOperationEvent.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/AbstractPreDatabaseOperationEvent.cs 2009-10-18 15:53:31 UTC (rev 4779)
+++ trunk/nhibernate/src/NHibernate/Event/AbstractPreDatabaseOperationEvent.cs 2009-10-18 15:59:11 UTC (rev 4780)
@@ -8,7 +8,7 @@
/// Represents an operation we are about to perform against the database.
/// </summary>
[Serializable]
- public abstract class AbstractPreDatabaseOperationEvent : AbstractEvent
+ public abstract class AbstractPreDatabaseOperationEvent : AbstractEvent, IPreDatabaseOperationEventArgs
{
/// <summary> Constructs an event containing the pertinent information. </summary>
/// <param name="source">The session from which the event originated. </param>
Added: trunk/nhibernate/src/NHibernate/Event/IDatabaseEventArgs.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/IDatabaseEventArgs.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate/Event/IDatabaseEventArgs.cs 2009-10-18 15:59:11 UTC (rev 4780)
@@ -0,0 +1,11 @@
+namespace NHibernate.Event
+{
+ public interface IDatabaseEventArgs
+ {
+ /// <summary>
+ /// Returns the session event source for this event.
+ /// This is the underlying session from which this event was generated.
+ /// </summary>
+ IEventSource Session { get; }
+ }
+}
Added: trunk/nhibernate/src/NHibernate/Event/IPostDatabaseOperationEventArgs.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/IPostDatabaseOperationEventArgs.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate/Event/IPostDatabaseOperationEventArgs.cs 2009-10-18 15:59:11 UTC (rev 4780)
@@ -0,0 +1,21 @@
+using NHibernate.Persister.Entity;
+
+namespace NHibernate.Event
+{
+ /// <summary>
+ /// Represents an operation we performed against the database.
+ /// </summary>
+ public interface IPostDatabaseOperationEventArgs : IDatabaseEventArgs
+ {
+ /// <summary> The entity involved in the database operation. </summary>
+ object Entity { get; }
+
+ /// <summary> The id to be used in the database operation. </summary>
+ object Id { get; }
+
+ /// <summary>
+ /// The persister for the <see cref="Entity"/>.
+ /// </summary>
+ IEntityPersister Persister { get; }
+ }
+}
Added: trunk/nhibernate/src/NHibernate/Event/IPreDatabaseOperationEventArgs.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/IPreDatabaseOperationEventArgs.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate/Event/IPreDatabaseOperationEventArgs.cs 2009-10-18 15:59:11 UTC (rev 4780)
@@ -0,0 +1,18 @@
+using NHibernate.Persister.Entity;
+
+namespace NHibernate.Event
+{
+ public interface IPreDatabaseOperationEventArgs : IDatabaseEventArgs
+ {
+ /// <summary> The entity involved in the database operation. </summary>
+ object Entity { get; }
+
+ /// <summary> The id to be used in the database operation. </summary>
+ object Id { get; }
+
+ /// <summary>
+ /// The persister for the <see cref="Entity"/>.
+ /// </summary>
+ IEntityPersister Persister { get; }
+ }
+}
Modified: trunk/nhibernate/src/NHibernate/Event/PostDeleteEvent.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/PostDeleteEvent.cs 2009-10-18 15:53:31 UTC (rev 4779)
+++ trunk/nhibernate/src/NHibernate/Event/PostDeleteEvent.cs 2009-10-18 15:59:11 UTC (rev 4780)
@@ -7,40 +7,14 @@
/// Occurs after deleting an item from the datastore
/// </summary>
[Serializable]
- public class PostDeleteEvent : AbstractEvent
+ public class PostDeleteEvent : AbstractPostDatabaseOperationEvent
{
- private readonly object entity;
- private readonly object id;
- private readonly IEntityPersister persister;
- private readonly object[] deletedState;
-
public PostDeleteEvent(object entity, object id, object[] deletedState, IEntityPersister persister, IEventSource source)
- : base(source)
+ : base(source, entity, id, persister)
{
- this.entity = entity;
- this.id = id;
- this.persister = persister;
- this.deletedState = deletedState;
+ DeletedState = deletedState;
}
- public object Entity
- {
- get { return entity; }
- }
-
- public object Id
- {
- get { return id; }
- }
-
- public IEntityPersister Persister
- {
- get { return persister; }
- }
-
- public object[] DeletedState
- {
- get { return deletedState; }
- }
+ public object[] DeletedState { get; private set; }
}
}
Modified: trunk/nhibernate/src/NHibernate/Event/PostInsertEvent.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/PostInsertEvent.cs 2009-10-18 15:53:31 UTC (rev 4779)
+++ trunk/nhibernate/src/NHibernate/Event/PostInsertEvent.cs 2009-10-18 15:59:11 UTC (rev 4780)
@@ -1,6 +1,4 @@
using System;
-using System.Collections.Generic;
-using System.Text;
using NHibernate.Persister.Entity;
namespace NHibernate.Event
@@ -9,40 +7,14 @@
/// Occurs after inserting an item in the datastore
/// </summary>
[Serializable]
- public class PostInsertEvent : AbstractEvent
+ public class PostInsertEvent : AbstractPostDatabaseOperationEvent
{
- private readonly object entity;
- private readonly object id;
- private readonly object[] state;
- private readonly IEntityPersister persister;
-
public PostInsertEvent(object entity, object id, object[] state, IEntityPersister persister, IEventSource source)
- : base(source)
+ : base(source, entity,id,persister)
{
- this.entity = entity;
- this.id = id;
- this.state = state;
- this.persister = persister;
+ State = state;
}
- public object Entity
- {
- get { return entity; }
- }
-
- public object Id
- {
- get { return id; }
- }
-
- public object[] State
- {
- get { return state; }
- }
-
- public IEntityPersister Persister
- {
- get { return persister; }
- }
+ public object[] State { get; private set; }
}
}
Modified: trunk/nhibernate/src/NHibernate/Event/PostLoadEvent.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/PostLoadEvent.cs 2009-10-18 15:53:31 UTC (rev 4779)
+++ trunk/nhibernate/src/NHibernate/Event/PostLoadEvent.cs 2009-10-18 15:59:11 UTC (rev 4780)
@@ -7,7 +7,7 @@
/// Occurs after an an entity instance is fully loaded.
/// </summary>
[Serializable]
- public class PostLoadEvent : AbstractEvent
+ public class PostLoadEvent : AbstractEvent, IPostDatabaseOperationEventArgs
{
private object entity;
private object id;
Modified: trunk/nhibernate/src/NHibernate/Event/PostUpdateEvent.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/PostUpdateEvent.cs 2009-10-18 15:53:31 UTC (rev 4779)
+++ trunk/nhibernate/src/NHibernate/Event/PostUpdateEvent.cs 2009-10-18 15:59:11 UTC (rev 4780)
@@ -1,6 +1,4 @@
using System;
-using System.Collections.Generic;
-using System.Text;
using NHibernate.Persister.Entity;
namespace NHibernate.Event
@@ -9,47 +7,17 @@
/// Occurs after the datastore is updated
/// </summary>
[Serializable]
- public class PostUpdateEvent : AbstractEvent
+ public class PostUpdateEvent : AbstractPostDatabaseOperationEvent
{
- private readonly object entity;
- private readonly object id;
- private readonly object[] state;
- private readonly object[] oldState;
- private readonly IEntityPersister persister;
-
public PostUpdateEvent(object entity, object id, object[] state, object[] oldState, IEntityPersister persister, IEventSource source)
- : base(source)
+ : base(source, entity, id, persister)
{
- this.entity = entity;
- this.id = id;
- this.state = state;
- this.oldState = oldState;
- this.persister = persister;
+ State = state;
+ OldState = oldState;
}
- public object Entity
- {
- get { return entity; }
- }
+ public object[] State { get; private set; }
- public object Id
- {
- get { return id; }
- }
-
- public object[] State
- {
- get { return state; }
- }
-
- public object[] OldState
- {
- get { return oldState; }
- }
-
- public IEntityPersister Persister
- {
- get { return persister; }
- }
+ public object[] OldState { get; private set; }
}
}
Modified: trunk/nhibernate/src/NHibernate/Event/PreLoadEvent.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Event/PreLoadEvent.cs 2009-10-18 15:53:31 UTC (rev 4779)
+++ trunk/nhibernate/src/NHibernate/Event/PreLoadEvent.cs 2009-10-18 15:59:11 UTC (rev 4780)
@@ -7,7 +7,7 @@
/// Called before injecting property values into a newly loaded entity instance.
/// </summary>
[Serializable]
- public class PreLoadEvent : AbstractEvent
+ public class PreLoadEvent : AbstractEvent, IPreDatabaseOperationEventArgs
{
private object entity;
private object[] state;
Modified: trunk/nhibernate/src/NHibernate/NHibernate.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate/NHibernate.csproj 2009-10-18 15:53:31 UTC (rev 4779)
+++ trunk/nhibernate/src/NHibernate/NHibernate.csproj 2009-10-18 15:59:11 UTC (rev 4780)
@@ -525,8 +525,12 @@
<Compile Include="Driver\IfxDriver.cs" />
<Compile Include="Driver\OracleLiteDataClientDriver.cs" />
<Compile Include="EntityModeEqualityComparer.cs" />
+ <Compile Include="Event\AbstractPostDatabaseOperationEvent.cs" />
<Compile Include="Event\AbstractPreDatabaseOperationEvent.cs" />
+ <Compile Include="Event\IDatabaseEventArgs.cs" />
<Compile Include="Event\IDestructible.cs" />
+ <Compile Include="Event\IPostDatabaseOperationEventArgs.cs" />
+ <Compile Include="Event\IPreDatabaseOperationEventArgs.cs" />
<Compile Include="Exceptions\AdoExceptionContextInfo.cs" />
<Compile Include="Exceptions\ReflectionBasedSqlStateExtracter.cs" />
<Compile Include="Exceptions\SqlStateExtracter.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|