Commit 488233d

mokhan <mokhan@ce5e1baf-6525-42e4-a1b2-857ea38da20a>
2009-04-18 23:13:37
cleaning up the infrastructure projects and deleting the dead code.
git-svn-id: https://svn.xp-dev.com/svn/mokhan-mo.money@172 ce5e1baf-6525-42e4-a1b2-857ea38da20a
1 parent 64d804c
trunk/product/MoMoney.DataAccess/ApplicationFile.cs → trunk/product/Gorilla.Commons.Infrastructure/FileSystem/ApplicationFile.cs
@@ -1,7 +1,6 @@
 using System.IO;
-using MoMoney.Presentation.Model.Projects;
 
-namespace MoMoney.DataAccess
+namespace Gorilla.Commons.Infrastructure.FileSystem
 {
     public class ApplicationFile : IFile
     {
trunk/product/MoMoney.DataAccess/IFile.cs → trunk/product/Gorilla.Commons.Infrastructure/FileSystem/IFile.cs
@@ -1,4 +1,4 @@
-namespace MoMoney.Presentation.Model.Projects
+namespace Gorilla.Commons.Infrastructure.FileSystem
 {
     public interface IFile
     {
trunk/product/Gorilla.Commons.Infrastructure/Gorilla.Commons.Infrastructure.csproj
@@ -75,6 +75,8 @@
     <Compile Include="Eventing\EventAggregatorSpecs.cs" />
     <Compile Include="Eventing\IEvent.cs" />
     <Compile Include="Eventing\IEventSubscriber.cs" />
+    <Compile Include="FileSystem\ApplicationFile.cs" />
+    <Compile Include="FileSystem\IFile.cs" />
     <Compile Include="Logging\Console\ConsoleLogger.cs" />
     <Compile Include="Logging\ILogFactory.cs" />
     <Compile Include="Logging\ILoggable.cs" />
trunk/product/MoMoney.DataAccess/Db40/AttachedSession.cs
@@ -1,38 +0,0 @@
-using System.Collections.Generic;
-using Db4objects.Db4o;
-using MoMoney.Domain.Core;
-
-namespace MoMoney.DataAccess.db40
-{
-    public interface ISession
-    {
-        IEnumerable<T> query<T>() where T : IEntity;
-        void save<T>(T item) where T : IEntity;
-        void commit();
-    }
-
-    public class AttachedSession : ISession
-    {
-        readonly IObjectContainer connection;
-
-        public AttachedSession(IObjectContainer connection)
-        {
-            this.connection = connection;
-        }
-
-        public IEnumerable<T> query<T>() where T : IEntity
-        {
-            return connection.Query<T>();
-        }
-
-        public void save<T>(T item) where T : IEntity
-        {
-            connection.Store(item);
-        }
-
-        public void commit()
-        {
-            connection.Commit();
-        }
-    }
-}
\ No newline at end of file
trunk/product/MoMoney.DataAccess/Transactions2/ConfigureDatabaseStep.cs → trunk/product/MoMoney.DataAccess/Db40/ConfigureDatabaseStep.cs
@@ -1,7 +1,7 @@
 using Db4objects.Db4o.Config;
 using Gorilla.Commons.Utility.Core;
 
-namespace MoMoney.Infrastructure.transactions2
+namespace MoMoney.DataAccess.Db40
 {
     public interface IConfigureDatabaseStep : IConfiguration<IConfiguration>
     {
trunk/product/MoMoney.DataAccess/Db40/ConnectionFactory.cs
@@ -1,18 +1,37 @@
 using Db4objects.Db4o;
-using MoMoney.Presentation.Model.Projects;
+using Db4objects.Db4o.Config;
+using Gorilla.Commons.Infrastructure.FileSystem;
+using MoMoney.Infrastructure.transactions2;
 
-namespace MoMoney.DataAccess.db40
+namespace MoMoney.DataAccess.Db40
 {
-    public interface IConnectionFactory
-    {
-        IObjectContainer open_connection_to(IFile the_path_to_the_database_file);
-    }
-
     public class ConnectionFactory : IConnectionFactory
     {
-        public IObjectContainer open_connection_to(IFile the_path_to_the_database_file)
+        readonly IConfigureDatabaseStep setup;
+
+        public ConnectionFactory(IConfigureDatabaseStep setup)
+        {
+            this.setup = setup;
+        }
+
+        public IDatabaseConnection open_connection_to(IFile the_path_to_the_database_file)
+        {
+            var configuration = Db4oFactory.NewConfiguration();
+            setup.configure(configuration);
+            return new DatabaseConnection(get_container(the_path_to_the_database_file, configuration));
+        }
+
+        IObjectContainer get_container(IFile the_path_to_the_database_file, IConfiguration configuration)
         {
-            return Db4oFactory.OpenFile(the_path_to_the_database_file.path);
+            var container = Db4oFactory.OpenFile(configuration, the_path_to_the_database_file.path);
+            //var registry = EventRegistryFactory.ForObjectContainer(container);
+            //registry.ClassRegistered +=
+            //    (sender, args) => this.log().debug("class registered: {0}", args.ClassMetadata());
+            //registry.Instantiated += (sender, args) => this.log().debug("class instantiated: {0}", args.Object.GetType().Name);
+            //registry.Committed +=
+            //    (sender, args) =>
+            //    this.log().debug("added: {0}, updated: {1}, deleted: {2}", args.Added, args.Updated, args.Deleted);
+            return container;
         }
     }
 }
\ No newline at end of file
trunk/product/MoMoney.DataAccess/Transactions2/DatabaseConnection.cs → trunk/product/MoMoney.DataAccess/Db40/DatabaseConnection.cs
@@ -1,8 +1,9 @@
 using System;
 using System.Collections.Generic;
 using Db4objects.Db4o;
+using MoMoney.Infrastructure.transactions2;
 
-namespace MoMoney.Infrastructure.transactions2
+namespace MoMoney.DataAccess.Db40
 {
     public class DatabaseConnection : IDatabaseConnection
     {
trunk/product/MoMoney.DataAccess/Db40/DetachedSession.cs
@@ -1,34 +0,0 @@
-using System.Collections.Generic;
-using System.Linq;
-using Gorilla.Commons.Utility.Extensions;
-using MoMoney.Domain.Core;
-
-namespace MoMoney.DataAccess.db40
-{
-    public class DetachedSession : ISession
-    {
-        readonly HashSet<object> items;
-
-        public DetachedSession()
-        {
-            items = new HashSet<object>();
-        }
-
-        public IEnumerable<T> query<T>() where T : IEntity
-        {
-            return items
-                .where(x => x.is_an_implementation_of<T>())
-                .Select(x => x.downcast_to<T>());
-        }
-
-        public void save<T>(T item) where T : IEntity
-        {
-            items.Add(item);
-        }
-
-        public void commit()
-        {
-            //items.Clear();
-        }
-    }
-}
\ No newline at end of file
trunk/product/MoMoney.DataAccess/Db40/ObjectDatabaseGateway.cs
@@ -1,35 +0,0 @@
-using System.Collections.Generic;
-using MoMoney.DataAccess.core;
-using MoMoney.Domain.Core;
-using MoMoney.Infrastructure.transactions2;
-
-namespace MoMoney.DataAccess.db40
-{
-    //public class ObjectDatabaseGateway : IDatabaseGateway
-    //{
-    //    readonly ISessionContext context;
-    //    readonly ISessionProvider session_provider;
-
-    //    public ObjectDatabaseGateway(ISessionContext context, ISessionProvider session_provider)
-    //    {
-    //        this.context = context;
-    //        this.session_provider = session_provider;
-    //    }
-
-    //    public IEnumerable<T> all<T>() where T : IEntity
-    //    {
-    //        return open_session_with_database().all<T>();
-    //    }
-
-    //    public void save<T>(T item) where T : IEntity
-    //    {
-    //        open_session_with_database().save(item);
-    //    }
-
-    //    Infrastructure.transactions2.ISession open_session_with_database()
-    //    {
-    //        return session_provider.get_the_current_session();
-    //        //return context.current_session();
-    //    }
-    //}
-}
\ No newline at end of file
trunk/product/MoMoney.DataAccess/Db40/ObjectDatabaseGatewaySpecs.cs
@@ -1,51 +0,0 @@
-using System.Collections.Generic;
-using developwithpassion.bdd.contexts;
-using Gorilla.Commons.Testing;
-using MoMoney.DataAccess.core;
-using MoMoney.Domain.Core;
-using MoMoney.Infrastructure.transactions2;
-
-namespace MoMoney.DataAccess.db40
-{
-    //[Concern(typeof (ObjectDatabaseGateway))]
-    //public abstract class behaves_like_a_object_repository : concerns_for<IDatabaseGateway, ObjectDatabaseGateway>
-    //{
-    //    context c = () =>
-    //                    {
-    //                        context = the_dependency<ISessionContext>();
-    //                        provider = the_dependency<ISessionProvider>();
-    //                    };
-
-    //    protected static ISessionContext context;
-    //    protected static ISessionProvider provider;
-    //}
-
-    //public class when_loading_all_the_items_from_the_database : behaves_like_a_object_repository
-    //{
-    //    it should_return_all_the_items_from_the_database = () =>
-    //                                                           {
-    //                                                               result.should_contain(first_item);
-    //                                                               result.should_contain(second_item);
-    //                                                           };
-
-    //    context c = () =>
-    //                    {
-    //                        first_item = an<IEntity>();
-    //                        second_item = an<IEntity>();
-    //                        var session = an<Infrastructure.transactions2.ISession>();
-
-    //                        //context.is_told_to(x => x.current_session()).it_will_return(session);
-    //                        //session.is_told_to(x => x.query<IEntity>()).it_will_return(new List<IEntity> {first_item, second_item});
-
-
-    //                        provider.is_told_to(x => x.get_the_current_session()).it_will_return(session);
-    //                        when_the(session).is_told_to(x => x.all<IEntity>()).it_will_return(first_item, second_item);
-    //                    };
-
-    //    because b = () => { result = sut.all<IEntity>(); };
-
-    //    static IEnumerable<IEntity> result;
-    //    static IEntity first_item;
-    //    static IEntity second_item;
-    //}
-}
\ No newline at end of file
trunk/product/MoMoney.DataAccess/Db40/SessionContext.cs
@@ -1,53 +0,0 @@
-using System.Collections.Generic;
-using Db4objects.Db4o;
-using MoMoney.Presentation.Model.Projects;
-
-namespace MoMoney.DataAccess.db40
-{
-    public interface ISessionContext
-    {
-        void start_session_for(IFile file);
-        ISession current_session();
-        void close_session_to(IFile file);
-        void commit_current_session();
-    }
-
-    public class SessionContext : ISessionContext
-    {
-        readonly IConnectionFactory connection_factory;
-        readonly IDictionary<IFile, IObjectContainer> sessions;
-        ISession session;
-
-        public SessionContext(IConnectionFactory connection_factory)
-        {
-            this.connection_factory = connection_factory;
-            session = new DetachedSession();
-            sessions = new Dictionary<IFile, IObjectContainer>();
-        }
-
-        public void start_session_for(IFile file)
-        {
-            var container = connection_factory.open_connection_to(file);
-            sessions.Add(file, container);
-            session = new AttachedSession(container);
-        }
-
-        public ISession current_session()
-        {
-            if (null == session) session = new DetachedSession();
-            return session;
-        }
-
-        public void close_session_to(IFile file)
-        {
-            if (null == file || !sessions.ContainsKey(file)) return;
-            sessions[file].Dispose();
-            sessions.Remove(file);
-        }
-
-        public void commit_current_session()
-        {
-            current_session().commit();
-        }
-    }
-}
\ No newline at end of file
trunk/product/MoMoney.DataAccess/Db40/SessionContextSpecs.cs
@@ -1,37 +0,0 @@
-using Db4objects.Db4o;
-using developwithpassion.bdd.contexts;
-using Gorilla.Commons.Testing;
-using MoMoney.Presentation.Model.Projects;
-
-namespace MoMoney.DataAccess.db40
-{
-    [Concern(typeof (SessionContext))]
-    public abstract class behaves_like_a_session_factory : concerns_for<ISessionContext, SessionContext>
-    {
-        context c = () =>
-                        {
-                            connection_factory = the_dependency<IConnectionFactory>();
-                        };
-
-        protected static IConnectionFactory connection_factory;
-    }
-
-    public class when_creating_a_new_session_to_a_db40_database : behaves_like_a_session_factory
-    {
-        it should_open_a_new_connection_to_the_database = () => result.should_be_an_instance_of<ISession>();
-
-        context c =
-            () =>
-                {
-                    var the_path_to_the_database_file = an<IFile>();
-                    session = an<IObjectContainer>();
-
-                    connection_factory.is_told_to(x => x.open_connection_to(the_path_to_the_database_file)). it_will_return(session);
-                };
-
-        because b = () => { result = sut.current_session(); };
-
-        static ISession result;
-        static IObjectContainer session;
-    }
-}
\ No newline at end of file
trunk/product/MoMoney.DataAccess/Repositories/BillRepositorySpecs.cs
@@ -1,26 +0,0 @@
-using System;
-using System.Collections.Generic;
-using developwithpassion.bdd.contexts;
-using Gorilla.Commons.Testing;
-using MoMoney.Domain.accounting.billing;
-using MoMoney.Domain.Core;
-using MoMoney.Testing.spechelpers.contexts;
-
-namespace MoMoney.DataAccess.repositories
-{
-    //public class when_loading_all_the_bills_from_the_repository : behaves_like_a_repository
-    //{
-    //    it should_return_all_the_bills_in_the_database = () => results.should_contain(first_bill);
-
-    //    context c = () => { first_bill = new Bill(new Company(), new Money(1, 00), DateTime.Now); };
-
-    //    because b = () =>
-    //                    {
-    //                        sut.save(first_bill);
-    //                        results = sut.all<IBill>();
-    //                    };
-
-    //    static IEnumerable<IBill> results;
-    //    static IBill first_bill;
-    //}
-}
\ No newline at end of file
trunk/product/MoMoney.DataAccess/Testing/behaves_like_a_repository.cs
@@ -1,30 +0,0 @@
-using developwithpassion.bdd.contexts;
-using Gorilla.Commons.Testing;
-using MbUnit.Framework;
-using MoMoney.Infrastructure.Container;
-using MoMoney.Infrastructure.transactions2;
-using MoMoney.Testing.MetaData;
-
-namespace MoMoney.Testing.spechelpers.contexts
-{
-    //[RunInRealContainer]
-    //[Concern(typeof (IDatabaseGateway))]
-    //[Ignore]
-    //public abstract class behaves_like_a_repository : concerns_for<IDatabaseGateway>
-    //{
-    //    public override IDatabaseGateway create_sut()
-    //    {
-    //        return resolve.dependency_for<IDatabaseGateway>();
-    //    }
-
-    //    context c = () =>
-    //                    {
-    //                        session = resolve.dependency_for<ISessionFactory>().create();
-    //                        resolve.dependency_for<IContext>().add(resolve.dependency_for<IKey<ISession>>(), session);
-    //                    };
-
-    //    after_each_observation after = () => session.Dispose();
-
-    //    static ISession session;
-    //}
-}
\ No newline at end of file
trunk/product/MoMoney.DataAccess/Testing/RunInRealContainer.cs
@@ -1,35 +0,0 @@
-using System.Collections;
-using MbUnit.Core.Framework;
-using MbUnit.Core.Invokers;
-//using MoMoney.boot.container;
-
-namespace MoMoney.Testing.MetaData
-{
-    public class RunInRealContainer : DecoratorPatternAttribute
-    {
-        public override IRunInvoker GetInvoker(IRunInvoker wrapper)
-        {
-            return new RunInRealContainerInterceptor(wrapper);
-        }
-    }
-
-    public class RunInRealContainerInterceptor : DecoratorRunInvoker
-    {
-        public RunInRealContainerInterceptor(IRunInvoker wrapper) : base(wrapper)
-        {
-        }
-
-        public override object Execute(object o, IList args)
-        {
-            try
-            {
-                //new wire_up_the_container().run();
-                return Invoker.Execute(o, args);
-            }
-            finally
-            {
-                //new tear_down_the_container().run();
-            }
-        }
-    }
-}
\ No newline at end of file
trunk/product/MoMoney.DataAccess/Transactions2/ConnectionFactory.cs
@@ -1,43 +0,0 @@
-using Db4objects.Db4o;
-using Db4objects.Db4o.Config;
-using Db4objects.Db4o.Events;
-using MoMoney.Infrastructure.Extensions;
-using MoMoney.Presentation.Model.Projects;
-
-namespace MoMoney.Infrastructure.transactions2
-{
-    public interface IConnectionFactory
-    {
-        IDatabaseConnection open_connection_to(IFile the_path_to_the_database_file);
-    }
-
-    public class ConnectionFactory : IConnectionFactory
-    {
-        readonly IConfigureDatabaseStep setup;
-
-        public ConnectionFactory(IConfigureDatabaseStep setup)
-        {
-            this.setup = setup;
-        }
-
-        public IDatabaseConnection open_connection_to(IFile the_path_to_the_database_file)
-        {
-            var configuration = Db4oFactory.NewConfiguration();
-            setup.configure(configuration);
-            return new DatabaseConnection(get_container(the_path_to_the_database_file, configuration));
-        }
-
-        IObjectContainer get_container(IFile the_path_to_the_database_file, IConfiguration configuration)
-        {
-            var container = Db4oFactory.OpenFile(configuration, the_path_to_the_database_file.path);
-            //var registry = EventRegistryFactory.ForObjectContainer(container);
-            //registry.ClassRegistered +=
-            //    (sender, args) => this.log().debug("class registered: {0}", args.ClassMetadata());
-            //registry.Instantiated += (sender, args) => this.log().debug("class instantiated: {0}", args.Object.GetType().Name);
-            //registry.Committed +=
-            //    (sender, args) =>
-            //    this.log().debug("added: {0}, updated: {1}, deleted: {2}", args.Added, args.Updated, args.Deleted);
-            return container;
-        }
-    }
-}
\ No newline at end of file
trunk/product/MoMoney.DataAccess/IConnectionFactory.cs
@@ -0,0 +1,10 @@
+using Gorilla.Commons.Infrastructure.FileSystem;
+using MoMoney.Infrastructure.transactions2;
+
+namespace MoMoney.DataAccess
+{
+    public interface IConnectionFactory
+    {
+        IDatabaseConnection open_connection_to(IFile the_path_to_the_database_file);
+    }
+}
\ No newline at end of file
trunk/product/MoMoney.DataAccess/Transactions2/IDatabaseConfiguration.cs → trunk/product/MoMoney.DataAccess/IDatabaseConfiguration.cs
@@ -1,6 +1,6 @@
-using MoMoney.Presentation.Model.Projects;
+using Gorilla.Commons.Infrastructure.FileSystem;
 
-namespace MoMoney.Infrastructure.transactions2
+namespace MoMoney.DataAccess
 {
     public interface IDatabaseConfiguration
     {
trunk/product/MoMoney.DataAccess/MoMoney.DataAccess.csproj
@@ -69,28 +69,23 @@
     <Reference Include="System.Xml" />
   </ItemGroup>
   <ItemGroup>
-    <Compile Include="ApplicationFile.cs" />
-    <Compile Include="Db40\AttachedSession.cs" />
-    <Compile Include="Db40\ConnectionFactory.cs" />
-    <Compile Include="Db40\DetachedSession.cs" />
-    <Compile Include="Db40\SessionContext.cs" />
-    <Compile Include="Db40\SessionContextSpecs.cs" />
     <Compile Include="Db40\Spiking\db40_spike_specs.cs" />
-    <Compile Include="IFile.cs" />
     <Compile Include="Repositories\AccountHolderRepository.cs" />
     <Compile Include="Repositories\BillRepository.cs" />
-    <Compile Include="Repositories\BillRepositorySpecs.cs" />
     <Compile Include="Repositories\CompanyRepository.cs" />
     <Compile Include="Repositories\IncomeRepository.cs" />
-    <Compile Include="Testing\behaves_like_a_repository.cs" />
-    <Compile Include="Testing\RunInRealContainer.cs" />
-    <Compile Include="Transactions2\ConfigureDatabaseStep.cs" />
-    <Compile Include="Transactions2\ConnectionFactory.cs" />
-    <Compile Include="Transactions2\Database.cs" />
-    <Compile Include="Transactions2\DatabaseConnection.cs" />
-    <Compile Include="Transactions2\IDatabaseConfiguration.cs" />
+    <Compile Include="Db40\ConfigureDatabaseStep.cs" />
+    <Compile Include="Db40\ConnectionFactory.cs" />
+    <Compile Include="ObjectDatabase.cs" />
+    <Compile Include="Db40\DatabaseConnection.cs" />
+    <Compile Include="IConnectionFactory.cs" />
+    <Compile Include="IDatabaseConfiguration.cs" />
   </ItemGroup>
   <ItemGroup>
+    <ProjectReference Include="..\Gorilla.Commons.Infrastructure\Gorilla.Commons.Infrastructure.csproj">
+      <Project>{AA5EEED9-4531-45F7-AFCD-AD9717D2E405}</Project>
+      <Name>Gorilla.Commons.Infrastructure</Name>
+    </ProjectReference>
     <ProjectReference Include="..\Gorilla.Commons.Testing\Gorilla.Commons.Testing.csproj">
       <Project>{44E65096-9657-4716-90F8-4535BABE8039}</Project>
       <Name>Gorilla.Commons.Testing</Name>
@@ -109,7 +104,6 @@
     </ProjectReference>
   </ItemGroup>
   <ItemGroup>
-    <Folder Include="Core\" />
     <Folder Include="Properties\" />
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
trunk/product/MoMoney.DataAccess/Transactions2/Database.cs → trunk/product/MoMoney.DataAccess/ObjectDatabase.cs
@@ -1,19 +1,18 @@
-using System;
 using System.Collections.Generic;
 using System.IO;
 using System.Linq;
-using MoMoney.DataAccess;
+using Gorilla.Commons.Infrastructure.FileSystem;
 using MoMoney.Domain.Core;
-using MoMoney.Presentation.Model.Projects;
+using MoMoney.Infrastructure.transactions2;
 
-namespace MoMoney.Infrastructure.transactions2
+namespace MoMoney.DataAccess
 {
-    public class Database : IDatabase, IDatabaseConfiguration
+    public class ObjectDatabase : IDatabase, IDatabaseConfiguration
     {
         readonly IConnectionFactory factory;
         IFile path;
 
-        public Database(IConnectionFactory factory)
+        public ObjectDatabase(IConnectionFactory factory)
         {
             this.factory = factory;
             path = new ApplicationFile(Path.GetTempFileName());
@@ -51,7 +50,6 @@ namespace MoMoney.Infrastructure.transactions2
         {
             path.delete();
             path = new ApplicationFile(Path.GetTempFileName());
-            
         }
 
         IFile path_to_database()
trunk/product/MoMoney.Infrastructure/Interceptors/UnitOfWorkInterceptor.cs
@@ -1,33 +0,0 @@
-using Castle.Core.Interceptor;
-using MoMoney.Infrastructure.eventing;
-using MoMoney.Infrastructure.transactions;
-//using MoMoney.Presentation.Model.messages;
-
-namespace MoMoney.Infrastructure.interceptors
-{
-    //public interface IUnitOfWorkInterceptor : IInterceptor
-    //{
-    //}
-
-    //public class UnitOfWorkInterceptor : IUnitOfWorkInterceptor
-    //{
-    //    readonly IUnitOfWorkRegistry registry;
-    //    readonly IEventAggregator broker;
-
-    //    public UnitOfWorkInterceptor(IUnitOfWorkRegistry registry, IEventAggregator broker)
-    //    {
-    //        this.registry = registry;
-    //        this.broker = broker;
-    //    }
-
-    //    public void Intercept(IInvocation invocation)
-    //    {
-    //        invocation.Proceed();
-    //        if (registry.has_changes_to_commit())
-    //        {
-    //            registry.commit_all();
-    //            //broker.publish<UnsavedChangesEvent>();
-    //        }
-    //    }
-    //}
-}
\ No newline at end of file
trunk/product/MoMoney.Presentation/Model/Menu/File/OpenCommandSpecs.cs
@@ -1,6 +1,6 @@
 using developwithpassion.bdd.contexts;
+using Gorilla.Commons.Infrastructure.FileSystem;
 using Gorilla.Commons.Testing;
-using MoMoney.DataAccess;
 using MoMoney.Presentation.Model.Projects;
 using MoMoney.Presentation.Views.dialogs;
 
trunk/product/MoMoney.Presentation/Model/Menu/File/SaveAsCommandSpecs.cs
@@ -1,6 +1,6 @@
 using developwithpassion.bdd.contexts;
+using Gorilla.Commons.Infrastructure.FileSystem;
 using Gorilla.Commons.Testing;
-using MoMoney.DataAccess;
 using MoMoney.Presentation.Model.Projects;
 using MoMoney.Presentation.Views.dialogs;
 
trunk/product/MoMoney.Presentation/Model/Projects/IProjectController.cs
@@ -1,3 +1,5 @@
+using Gorilla.Commons.Infrastructure.FileSystem;
+
 namespace MoMoney.Presentation.Model.Projects
 {
     public interface IProjectController
trunk/product/MoMoney.Presentation/Model/Projects/Project.cs
@@ -1,3 +1,5 @@
+using Gorilla.Commons.Infrastructure.FileSystem;
+
 namespace MoMoney.Presentation.Model.Projects
 {
     public class Project : IProject
trunk/product/MoMoney.Presentation/Model/Projects/ProjectController.cs
@@ -1,7 +1,9 @@
 using Gorilla.Commons.Infrastructure.Eventing;
+using Gorilla.Commons.Infrastructure.FileSystem;
 using Gorilla.Commons.Infrastructure.Logging;
 using Gorilla.Commons.Utility.Core;
 using Gorilla.Commons.Utility.Extensions;
+using MoMoney.DataAccess;
 using MoMoney.Infrastructure.transactions2;
 using MoMoney.Presentation.Model.messages;
 
trunk/product/MoMoney.Presentation/Model/Projects/ProjectControllerSpecs.cs
@@ -1,8 +1,10 @@
 using System;
 using developwithpassion.bdd.contexts;
 using Gorilla.Commons.Infrastructure.Eventing;
+using Gorilla.Commons.Infrastructure.FileSystem;
 using Gorilla.Commons.Testing;
 using Gorilla.Commons.Utility.Extensions;
+using MoMoney.DataAccess;
 using MoMoney.Infrastructure.transactions2;
 using MoMoney.Presentation.Model.messages;
 
trunk/product/MoMoney.Presentation/Views/Dialogs/SelectFileToOpenDialog.cs
@@ -1,6 +1,5 @@
 using System.Windows.Forms;
-using MoMoney.DataAccess;
-using MoMoney.Presentation.Model.Projects;
+using Gorilla.Commons.Infrastructure.FileSystem;
 
 namespace MoMoney.Presentation.Views.dialogs
 {
trunk/product/MoMoney.Presentation/Views/Dialogs/SelectFileToSaveToDialog.cs
@@ -1,6 +1,5 @@
 using System.Windows.Forms;
-using MoMoney.DataAccess;
-using MoMoney.Presentation.Model.Projects;
+using Gorilla.Commons.Infrastructure.FileSystem;
 
 namespace MoMoney.Presentation.Views.dialogs
 {
trunk/product/MyMoney/boot/container/registration/wire_up_the_data_access_components_into_the.cs
@@ -1,6 +1,7 @@
 using Gorilla.Commons.Infrastructure.Container;
 using Gorilla.Commons.Utility.Core;
 using Gorilla.Commons.Utility.Extensions;
+using MoMoney.DataAccess;
 using MoMoney.Infrastructure.Container;
 using MoMoney.Infrastructure.transactions2;
 
@@ -18,7 +19,7 @@ namespace MoMoney.boot.container.registration
         public void run()
         {
             //register.singleton<ISessionContext, SessionContext>();
-            register.singleton<IDatabase, Database>();
+            register.singleton<IDatabase, ObjectDatabase>();
             register.singleton(() => Resolve.dependency_for<IDatabase>().downcast_to<IDatabaseConfiguration>());
             register.singleton<ISession>(() => Resolve.dependency_for<ISessionProvider>().get_the_current_session());
         }
trunk/product/MyMoney/Modules/DatabaseModule.cs
@@ -1,5 +1,5 @@
 using Gorilla.Commons.Infrastructure.Eventing;
-using MoMoney.Infrastructure.transactions2;
+using MoMoney.DataAccess;
 using MoMoney.Modules.Core;
 
 namespace MoMoney.Modules