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