[266004] gmf_R2_1_maintenance 090227 [NotationModel] DiagramLink#diagramLink and MultiDiagramLink#diagramLinks should resolve proxies
diff --git a/org.eclipse.gmf.runtime.notation/META-INF/MANIFEST.MF b/org.eclipse.gmf.runtime.notation/META-INF/MANIFEST.MF index e2c5fd5..3420fcd 100644 --- a/org.eclipse.gmf.runtime.notation/META-INF/MANIFEST.MF +++ b/org.eclipse.gmf.runtime.notation/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.gmf.runtime.notation;singleton:=true -Bundle-Version: 1.1.1.qualifier +Bundle-Version: 1.1.4.qualifier Bundle-Activator: org.eclipse.gmf.runtime.notation.NotationPlugin$Implementation Bundle-Vendor: %providerName Bundle-Localization: plugin
diff --git a/org.eclipse.gmf.runtime.notation/model/notation.ecore b/org.eclipse.gmf.runtime.notation/model/notation.ecore index 7d213b1..ed9e5df 100644 --- a/org.eclipse.gmf.runtime.notation/model/notation.ecore +++ b/org.eclipse.gmf.runtime.notation/model/notation.ecore
@@ -381,12 +381,11 @@ <eStructuralFeatures xsi:type="ecore:EAttribute" name="hint" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="DiagramLinkStyle" eSuperTypes="#//Style"> - <eStructuralFeatures xsi:type="ecore:EReference" name="diagramLink" eType="#//Diagram" - resolveProxies="false"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="diagramLink" eType="#//Diagram"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="MultiDiagramLinkStyle" eSuperTypes="#//Style"> <eStructuralFeatures xsi:type="ecore:EReference" name="diagramLinks" upperBound="-1" - eType="#//Diagram" resolveProxies="false"/> + eType="#//Diagram"/> </eClassifiers> <eClassifiers xsi:type="ecore:EEnum" name="TextAlignment"> <eLiterals name="Left"/>
diff --git a/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/DiagramLinkStyle.java b/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/DiagramLinkStyle.java index 6f003ba..e921112 100644 --- a/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/DiagramLinkStyle.java +++ b/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/DiagramLinkStyle.java
@@ -1,5 +1,5 @@ /****************************************************************************** - * Copyright (c) 2007 IBM Corporation and others. + * Copyright (c) 2007, 2009 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -39,7 +39,7 @@ * @return the value of the '<em>Diagram Link</em>' reference. * @see #setDiagramLink(Diagram) * @see org.eclipse.gmf.runtime.notation.NotationPackage#getDiagramLinkStyle_DiagramLink() - * @model resolveProxies="false" + * @model * @generated */ Diagram getDiagramLink();
diff --git a/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/MultiDiagramLinkStyle.java b/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/MultiDiagramLinkStyle.java index e028519..8dbea38 100644 --- a/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/MultiDiagramLinkStyle.java +++ b/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/MultiDiagramLinkStyle.java
@@ -1,5 +1,5 @@ /****************************************************************************** - * Copyright (c) 2007 IBM Corporation and others. + * Copyright (c) 2007, 2009 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -40,7 +40,7 @@ * <!-- end-user-doc --> * @return the value of the '<em>Diagram Links</em>' reference list. * @see org.eclipse.gmf.runtime.notation.NotationPackage#getMultiDiagramLinkStyle_DiagramLinks() - * @model type="org.eclipse.gmf.runtime.notation.Diagram" resolveProxies="false" + * @model type="org.eclipse.gmf.runtime.notation.Diagram" * @generated */ EList getDiagramLinks();
diff --git a/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/impl/DiagramLinkStyleImpl.java b/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/impl/DiagramLinkStyleImpl.java index 7ce4f70..bd72991 100644 --- a/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/impl/DiagramLinkStyleImpl.java +++ b/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/impl/DiagramLinkStyleImpl.java
@@ -1,5 +1,5 @@ /****************************************************************************** - * Copyright (c) 2007 IBM Corporation and others. + * Copyright (c) 2007, 2009 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -12,6 +12,7 @@ import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.gmf.runtime.notation.Diagram; import org.eclipse.gmf.runtime.notation.DiagramLinkStyle; @@ -65,6 +66,23 @@ * @generated */ public Diagram getDiagramLink() { + if (diagramLink != null && diagramLink.eIsProxy()) { + InternalEObject oldDiagramLink = (InternalEObject)diagramLink; + diagramLink = (Diagram)eResolveProxy(oldDiagramLink); + if (diagramLink != oldDiagramLink) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, NotationPackage.DIAGRAM_LINK_STYLE__DIAGRAM_LINK, oldDiagramLink, diagramLink)); + } + } + return diagramLink; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Diagram basicGetDiagramLink() { return diagramLink; } @@ -88,7 +106,8 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { case NotationPackage.DIAGRAM_LINK_STYLE__DIAGRAM_LINK: - return getDiagramLink(); + if (resolve) return getDiagramLink(); + return basicGetDiagramLink(); } return eDynamicGet(featureID, resolve, coreType); }
diff --git a/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/impl/HintedDiagramLinkStyleImpl.java b/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/impl/HintedDiagramLinkStyleImpl.java index d11991b..0562e2a 100644 --- a/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/impl/HintedDiagramLinkStyleImpl.java +++ b/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/impl/HintedDiagramLinkStyleImpl.java
@@ -1,5 +1,5 @@ /****************************************************************************** - * Copyright (c) 2007 IBM Corporation and others. + * Copyright (c) 2007, 2009 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -101,7 +101,8 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { case NotationPackage.HINTED_DIAGRAM_LINK_STYLE__DIAGRAM_LINK: - return getDiagramLink(); + if (resolve) return getDiagramLink(); + return basicGetDiagramLink(); case NotationPackage.HINTED_DIAGRAM_LINK_STYLE__HINT: return getHint(); }
diff --git a/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/impl/MultiDiagramLinkStyleImpl.java b/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/impl/MultiDiagramLinkStyleImpl.java index 6c9864a..32f459a 100644 --- a/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/impl/MultiDiagramLinkStyleImpl.java +++ b/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/impl/MultiDiagramLinkStyleImpl.java
@@ -1,5 +1,5 @@ /****************************************************************************** - * Copyright (c) 2007 IBM Corporation and others. + * Copyright (c) 2007, 2009 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -15,6 +15,7 @@ import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.util.EObjectResolvingEList; import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.util.EObjectEList; import org.eclipse.gmf.runtime.notation.Diagram; @@ -70,7 +71,7 @@ */ public EList getDiagramLinks() { if (diagramLinks == null) { - diagramLinks = new EObjectEList(Diagram.class, this, NotationPackage.MULTI_DIAGRAM_LINK_STYLE__DIAGRAM_LINKS); + diagramLinks = new EObjectResolvingEList(Diagram.class, this, NotationPackage.MULTI_DIAGRAM_LINK_STYLE__DIAGRAM_LINKS); } return diagramLinks; }
diff --git a/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/impl/NotationPackageImpl.java b/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/impl/NotationPackageImpl.java index 1f38c0e..2a3789e 100644 --- a/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/impl/NotationPackageImpl.java +++ b/org.eclipse.gmf.runtime.notation/src/org/eclipse/gmf/runtime/notation/impl/NotationPackageImpl.java
@@ -1,5 +1,5 @@ /****************************************************************************** - * Copyright (c) 2004, 2008 IBM Corporation and others. + * Copyright (c) 2004, 2009 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -2873,11 +2873,11 @@ initEClass(diagramLinkStyleEClass, DiagramLinkStyle.class, "DiagramLinkStyle", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ - initEReference(getDiagramLinkStyle_DiagramLink(), this.getDiagram(), null, "diagramLink", null, 0, 1, DiagramLinkStyle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEReference(getDiagramLinkStyle_DiagramLink(), this.getDiagram(), null, "diagramLink", null, 0, 1, DiagramLinkStyle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ initEClass(multiDiagramLinkStyleEClass, MultiDiagramLinkStyle.class, "MultiDiagramLinkStyle", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ - initEReference(getMultiDiagramLinkStyle_DiagramLinks(), this.getDiagram(), null, "diagramLinks", null, 0, -1, MultiDiagramLinkStyle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEReference(getMultiDiagramLinkStyle_DiagramLinks(), this.getDiagram(), null, "diagramLinks", null, 0, -1, MultiDiagramLinkStyle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ initEClass(textStyleEClass, TextStyle.class, "TextStyle", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ initEAttribute(getTextStyle_TextAlignment(), this.getTextAlignment(), "textAlignment", "Left", 0, 1, TextStyle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ //$NON-NLS-2$