/// <summary> /// Given a new Oid (not from the adapter, but usually a reference during distribution) this method /// extracts the original Oid, find the associated adapter and then updates the lookup so that the new Oid /// now keys the adapter. The adapter's oid is then updated to take on the new Oid's identity. /// </summary> private void ProcessChangedOid(IOid updatedOid) { if (updatedOid.HasPrevious) { IOid previousOid = updatedOid.Previous; INakedObjectAdapter nakedObjectAdapter = identityAdapterMap.GetAdapter(previousOid); if (nakedObjectAdapter != null) { identityAdapterMap.Remove(previousOid); IOid oidFromObject = nakedObjectAdapter.Oid; oidFromObject.CopyFrom(updatedOid); identityAdapterMap.Add(oidFromObject, nakedObjectAdapter); } } }
/// <summary> /// Given a new Oid (not from the adapter, but usually a reference during distribution) this method /// extracts the original Oid, find the associated adapter and then updates the lookup so that the new Oid /// now keys the adapter. The adapter's oid is then updated to take on the new Oid's identity. /// </summary> private void ProcessChangedOid(IOid updatedOid) { if (updatedOid.HasPrevious) { IOid previousOid = updatedOid.Previous; INakedObject nakedObject = identityAdapterMap.GetAdapter(previousOid); if (nakedObject != null) { Log.DebugFormat("Updating oid {0} to {1}", previousOid, updatedOid); identityAdapterMap.Remove(previousOid); IOid oidFromObject = nakedObject.Oid; oidFromObject.CopyFrom(updatedOid); identityAdapterMap.Add(oidFromObject, nakedObject); } } }