/// <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);
         }
     }
 }
Exemplo n.º 2
0
 /// <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);
         }
     }
 }