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); }
public override void SetObjectPersistor(INakedObjectPersistor persistor) { this.persistor = persistor; }
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; }
public void SetObjectPersistor(INakedObjectPersistor persistor) { Persistor = persistor; if (nakedObjects != null) { nakedObjects.SetObjectPersistor(Persistor); } }
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) {}