/**
  * {@inheritDoc}
  *
  * @see org.teiid.designer.core.container.ObjectManager#setObjectId(org.eclipse.emf.ecore.EObject,
  *     java.lang.String)
  */
 @Override
 public void setObjectId(EObject object, String uuid) {
   Resource resrc = object.eResource();
   if (resrc instanceof XResource) {
     ((XResource) resrc).setUuid(object, uuid);
   } else {
     MtkXmiResourceImpl.DETACHED_EOBJECT_TO_UUID_MAP.put(object, uuid);
     MtkXmiResourceImpl.DETACHED_UUID_TO_EOBJECT_MAP.put(uuid, object);
   }
 }
  /**
   * {@inheritDoc}
   *
   * @see org.teiid.designer.core.container.ObjectManager#getObjectId(org.eclipse.emf.ecore.EObject)
   */
  @Override
  public String getObjectId(EObject object) {
    CoreArgCheck.isNotNull(object);
    Resource resrc = object.eResource();
    if (resrc == null) {

      // check unattached objects
      return MtkXmiResourceImpl.DETACHED_EOBJECT_TO_UUID_MAP.get(object);
    }

    String uuid =
        resrc instanceof XResource
            ? ((XResource) resrc).getUuid(object)
            : resrc.getURIFragment(object);

    if ((uuid != null) && uuid.startsWith(UUID.PROTOCOL)) {
      return uuid;
    }

    return null;
  }