[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$