protected override IObjectLoader CreateObjectLoader( ClientTransaction constructedTransaction, IClientTransactionEventSink eventSink, IPersistenceStrategy persistenceStrategy, IInvalidDomainObjectManager invalidDomainObjectManager, IDataManager dataManager, ITransactionHierarchyManager hierarchyManager) { ArgumentUtility.CheckNotNull("constructedTransaction", constructedTransaction); ArgumentUtility.CheckNotNull("eventSink", eventSink); var fetchEnabledPersistenceStrategy = ArgumentUtility.CheckNotNullAndType <IFetchEnabledPersistenceStrategy> ("persistenceStrategy", persistenceStrategy); ArgumentUtility.CheckNotNull("invalidDomainObjectManager", invalidDomainObjectManager); ArgumentUtility.CheckNotNull("dataManager", dataManager); ArgumentUtility.CheckNotNull("hierarchyManager", hierarchyManager); var loadedObjectDataProvider = new LoadedObjectDataProvider(dataManager, invalidDomainObjectManager); var registrationListener = new LoadedObjectDataRegistrationListener(eventSink, hierarchyManager); var loadedObjectDataRegistrationAgent = new LoadedObjectDataRegistrationAgent(constructedTransaction, dataManager, registrationListener); IFetchedRelationDataRegistrationAgent registrationAgent = new DelegatingFetchedRelationDataRegistrationAgent( new FetchedRealObjectRelationDataRegistrationAgent(), new FetchedVirtualObjectRelationDataRegistrationAgent(dataManager), new FetchedCollectionRelationDataRegistrationAgent(dataManager)); var eagerFetcher = new EagerFetcher(registrationAgent); return(new FetchEnabledObjectLoader( fetchEnabledPersistenceStrategy, loadedObjectDataRegistrationAgent, loadedObjectDataProvider, eagerFetcher)); }
public override void SetUp() { base.SetUp(); _mockRepository = new MockRepository(); _eventSinkWithMock = _mockRepository.StrictMock <IClientTransactionEventSink>(); _hierarchyManagerMock = _mockRepository.StrictMock <ITransactionHierarchyManager> (); _decorator = new LoadedObjectDataRegistrationListener(_eventSinkWithMock, _hierarchyManagerMock); }
public void Serializable() { var instance = new LoadedObjectDataRegistrationListener( new SerializableClientTransactionEventSinkFake(), new SerializableTransactionHierarchyManagerFake()); var deserializedInstance = Serializer.SerializeAndDeserialize(instance); Assert.That(deserializedInstance.EventSink, Is.Not.Null); Assert.That(deserializedInstance.HierarchyManager, Is.Not.Null); }
protected virtual IObjectLoader CreateBasicObjectLoader( ClientTransaction constructedTransaction, IClientTransactionEventSink eventSink, IPersistenceStrategy persistenceStrategy, IInvalidDomainObjectManager invalidDomainObjectManager, IDataManager dataManager, ITransactionHierarchyManager hierarchyManager) { ArgumentUtility.CheckNotNull("constructedTransaction", constructedTransaction); ArgumentUtility.CheckNotNull("eventSink", eventSink); ArgumentUtility.CheckNotNull("persistenceStrategy", persistenceStrategy); ArgumentUtility.CheckNotNull("invalidDomainObjectManager", invalidDomainObjectManager); ArgumentUtility.CheckNotNull("dataManager", dataManager); ArgumentUtility.CheckNotNull("hierarchyManager", hierarchyManager); var loadedObjectDataProvider = new LoadedObjectDataProvider(dataManager, invalidDomainObjectManager); var registrationListener = new LoadedObjectDataRegistrationListener(eventSink, hierarchyManager); var loadedObjectDataRegistrationAgent = new LoadedObjectDataRegistrationAgent(constructedTransaction, dataManager, registrationListener); return(new ObjectLoader( persistenceStrategy, loadedObjectDataRegistrationAgent, loadedObjectDataProvider)); }