diff options
author | Eike Stepper | 2021-11-23 09:49:33 +0000 |
---|---|---|
committer | Florian NOYRIT | 2021-11-23 12:55:27 +0000 |
commit | 6e846956330f664c0c89f6e3ce6b76fef3dfa970 (patch) | |
tree | cf8a1e01b1966f85b9a5c0ed8ce8c14bfc26b72d | |
parent | e1fd9acbf8c75df7b1b47e826112b891ee69c2c7 (diff) | |
download | org.eclipse.papyrus-collaborativemodeling-6e846956330f664c0c89f6e3ce6b76fef3dfa970.tar.gz org.eclipse.papyrus-collaborativemodeling-6e846956330f664c0c89f6e3ce6b76fef3dfa970.tar.xz org.eclipse.papyrus-collaborativemodeling-6e846956330f664c0c89f6e3ce6b76fef3dfa970.zip |
Bug 575899: CDOCacheAdapter issue when unloading modelSet
Change-Id: I0d9298680b4f202c0afa43441814b9776139c5cb
Signed-off-by: Eike Stepper <stepper@esc-net.de>
3 files changed, 3 insertions, 13 deletions
diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/migrate.ant b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/migrate.ant index a84c254b..420f0a59 100644 --- a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/migrate.ant +++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/migrate.ant @@ -122,7 +122,7 @@ --> <replacestring from="private static final int ADAPTING = 1 << 7;" to="private boolean adapting;" /> <replacestring from="(eFlags & ADAPTING) == 0" to="!adapting" /> - <replacestring from="eFlags |= ADAPTING;" to="adapting = true; org.eclipse.emf.spi.cdo.InternalCDOView view = cdoView(); if (view == null || (view != null && !view.isClosed())) {" /> + <replacestring from="eFlags |= ADAPTING;" to="adapting = true; org.eclipse.emf.spi.cdo.InternalCDOView view = cdoView(); if (view == null || (view != null && !view.isClosing())) {" /> <replacestring from="eFlags &= ~ADAPTING;" to="adapting = false; }" /> <tokenfilter> diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ElementImpl.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ElementImpl.java index e87eae09..8ba25a2f 100644 --- a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ElementImpl.java +++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/impl/ElementImpl.java @@ -21,27 +21,18 @@ import org.eclipse.emf.common.CommonPlugin; import org.eclipse.emf.common.notify.Adapter; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.common.notify.NotificationChain; - import org.eclipse.emf.common.util.DiagnosticChain; - import org.eclipse.emf.common.util.EList; - import org.eclipse.emf.ecore.EAnnotation; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.EModelElementImpl; import org.eclipse.emf.ecore.impl.ENotificationImpl; - import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.ecore.util.EObjectContainmentEList; import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.InternalEList; - import org.eclipse.uml2.common.util.CacheAdapter; import org.eclipse.uml2.common.util.DerivedUnionEObjectEList; - import org.eclipse.uml2.uml.Comment; import org.eclipse.uml2.uml.DirectedRelationship; import org.eclipse.uml2.uml.Element; @@ -49,7 +40,6 @@ import org.eclipse.uml2.uml.Model; import org.eclipse.uml2.uml.Relationship; import org.eclipse.uml2.uml.Stereotype; import org.eclipse.uml2.uml.UMLPackage; - import org.eclipse.uml2.uml.internal.operations.ElementOperations; /** @@ -912,7 +902,7 @@ public abstract class ElementImpl public EList<Adapter> eAdapters() { if (!adapting && !eBasicHasAdapters()) { - adapting = true; org.eclipse.emf.spi.cdo.InternalCDOView view = cdoView(); if (view == null || (view != null && !view.isClosed())) { + adapting = true; org.eclipse.emf.spi.cdo.InternalCDOView view = cdoView(); if (view == null || !view.isClosing()) { CacheAdapter cacheAdapter = getCacheAdapter(); diff --git a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/CDOCacheAdapter.java b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/CDOCacheAdapter.java index f88c027a..d89063f8 100644 --- a/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/CDOCacheAdapter.java +++ b/cdo/bundles/uml/org.eclipse.uml2.uml.cdo/src/org/eclipse/uml2/uml/cdo/internal/util/CDOCacheAdapter.java @@ -211,7 +211,7 @@ public class CDOCacheAdapter List<EStructuralFeature.Setting> result = new ArrayList<EStructuralFeature.Setting>(); for (CDOObjectReference xref : view .queryXRefs(Collections.singleton(cdoObject))) { - EReference sourceReference = (EReference) xref.getSourceFeature(); + EReference sourceReference = xref.getSourceReference(); if (!nonNavigable || sourceReference.getEOpposite() == null) { InternalCDOObject object = (InternalCDOObject) view .getObject(xref.getSourceID()); |