public INakedObjectAdapter GetAdapterFor(IOid oid) { if (oid == null) { throw new NakedObjectSystemException("OID should not be null"); } ProcessChangedOid(oid); return(identityAdapterMap.GetAdapter(oid)); }
public void MadePersistent(INakedObjectAdapter adapter) { IOid oid = adapter.Oid; // Changing the OID object that is already a key in the identity map messes up the hashing so it can't // be found afterwards. To work properly, we therefore remove the identity first then change the oid, // finally re-add to the map. identityAdapterMap.Remove(oid); oidGenerator.ConvertTransientToPersistentOid(oid); adapter.ResolveState.Handle(Events.StartResolvingEvent); adapter.ResolveState.Handle(Events.EndResolvingEvent); Assert.AssertTrue("Adapter's poco should exist in poco map and return the adapter", nakedObjectAdapterMap.GetObject(adapter.Object) == adapter); Assert.AssertNull("Changed OID should not already map to a known adapter " + oid, identityAdapterMap.GetAdapter(oid)); identityAdapterMap.Add(oid, adapter); }