private void InstallFixture(INakedObjectPersistor persistor, object fixture) {
            persistor.InitDomainObject(fixture);

            // first, install any child fixtures (if this is a composite.
            object[] childFixtures = GetFixtures(fixture);
            InstallFixtures(persistor, childFixtures);

            // now, install the fixture itself
            try {
                Log.Info("installing fixture: " + fixture);
                persistor.StartTransaction();
                InstallFixture(fixture);
                persistor.EndTransaction();
                Log.Info("fixture installed");
            }
            catch (Exception e) {
                Log.Error("installing fixture " + fixture.GetType().FullName + " failed (" + e.Message + "); aborting fixture ", e);
                try {
                    persistor.AbortTransaction();
                }
                catch (Exception e2) {
                    Log.Error("failure during abort", e2);
                }
                throw;
            }
        }
 /// <summary>
 ///     Installs all <see cref="AddFixture" /> added  fixtures (ie as returned by <see cref="Fixtures" />
 /// </summary>
 /// <para>
 ///     Once done the set of fixtures is cleared and <see cref="Fixtures" /> returns an empty array.
 /// </para>
 public void InstallFixtures(INakedObjectPersistor persistor) {
     PreInstallFixtures(persistor);
     InstallFixtures(persistor, Fixtures);
     PostInstallFixtures(persistor);
     persistor.Reset();
     fixtures.Clear();
 }
 public static void Abort(INakedObjectPersistor objectManager, IFacetHolder holder) {
     Log.Info("exception executing " + holder + ", aborting transaction");
     try {
         objectManager.AbortTransaction();
     }
     catch (Exception e2) {
         Log.Error("failure during abort", e2);
     }
 }
        public void InstallFixture(INakedObjectPersistor persistor, string fixtureName) {
            object fixture = fixtures.FirstOrDefault(f => f.GetType().Name == fixtureName);

            if (fixture != null) {
                var builder = new DotNetFixtureBuilder();
                builder.AddFixture(fixture);
                builder.InstallFixture(persistor, fixtureName);
            }
        }
        public void InstallFixtures(INakedObjectPersistor persistor) {
            NakedObjectsContext.ObjectPersistor.Reset();

            if (NakedObjectsContext.ObjectPersistor.IsInitialized) {
                Log.Info("skipping fixtures, as already loaded");
                return;
            }

            var builder = new DotNetFixtureBuilder();
            fixtures.ForEach(builder.AddFixture);
            builder.InstallFixtures(persistor);
        }
Beispiel #6
0
 public override void SetObjectPersistor(INakedObjectPersistor persistor) {
     this.persistor = persistor;
 }
Beispiel #7
0
 protected override INakedObjectPersistor GetObjectPersistor() {
     return persistor ?? (persistor = new InMemoryObjectPersistorInstaller().CreateObjectPersistor());
 }
 /// <summary>
 ///     Initialise the object persistor for the current execution context
 /// </summary>
 public abstract void SetObjectPersistor(INakedObjectPersistor persistor);
 public override void SetObjectPersistor(INakedObjectPersistor objectManager) {
     // ignore will set lazily for each thread
 }
 public override void ShutdownSession() {
     if (objectPersistor != null) {
         objectPersistor.Shutdown();
         objectPersistor = null;
     }
 }
 public override void SetObjectPersistor(INakedObjectPersistor objectManager) {
     objectPersistor = objectManager;
 }
Beispiel #12
0
 public void SetObjectPersistor(INakedObjectPersistor persistor) {
     Persistor = persistor;
     if (nakedObjects != null) {
         nakedObjects.SetObjectPersistor(Persistor);
     }
 }
Beispiel #13
0
 protected override void PreInstallFixtures(INakedObjectPersistor persistor) {
     fixtureServices = new DotNetFixtureServices();
 }
 private void InstallFixtures(INakedObjectPersistor persistor, object[] newFixtures) {
     foreach (object fixture in newFixtures) {
         InstallFixture(persistor, fixture);
     }
 }
 public void InstallFixture(INakedObjectPersistor persistor, string fixtureName) {
     InstallFixtures(persistor, Fixtures);
 }
 protected virtual void PreInstallFixtures(INakedObjectPersistor objectManager) {}