[277353] shortcutsProvidedFor needs modelID, not filename extension; viewprovider needs to respond to any node creation attempt on a diagram that may have shortcuts from this plugin
diff --git a/examples/org.eclipse.gmf.ecore.editor/models/ecore.gmfgen b/examples/org.eclipse.gmf.ecore.editor/models/ecore.gmfgen
index 3741671..fe1d55b 100644
--- a/examples/org.eclipse.gmf.ecore.editor/models/ecore.gmfgen
+++ b/examples/org.eclipse.gmf.ecore.editor/models/ecore.gmfgen
@@ -23,7 +23,7 @@
         xsi:type="gmfgen:FigureViewmap"
         figureQualifiedClassName="org.eclipse.draw2d.FreeformLayer"/>
     <containsShortcutsTo>ecore</containsShortcutsTo>
-    <shortcutsProvidedFor>ecore</shortcutsProvidedFor>
+    <shortcutsProvidedFor>Ecore</shortcutsProvidedFor>
     <domainDiagramElement
         href="../../../plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore/EPackage"/>
     <childNodes
diff --git a/examples/org.eclipse.gmf.ecore.editor/plugin.xml b/examples/org.eclipse.gmf.ecore.editor/plugin.xml
index f462cb6..a4ddb42 100644
--- a/examples/org.eclipse.gmf.ecore.editor/plugin.xml
+++ b/examples/org.eclipse.gmf.ecore.editor/plugin.xml
@@ -234,6 +234,10 @@
       <?gmfgen generated="true"?>
       <viewProvider class="org.eclipse.gmf.ecore.providers.EcoreViewProvider">
          <Priority name="Lowest"/>
+         <object id="referencing-diagrams" class="org.eclipse.gmf.runtime.notation.Diagram">
+            <method name="getType()" value="Ecore"/>
+         </object>
+         <context viewClass="org.eclipse.gmf.runtime.notation.Node" containerViews="referencing-diagrams"/>
          <context viewClass="org.eclipse.gmf.runtime.notation.Diagram" semanticHints="Ecore"/>
          <context viewClass="org.eclipse.gmf.runtime.notation.Node" semanticHints="2001,2002,2003,2004,2005,3001,3002,3003,3004,3005,3006,3007,3008,3009"/>
          <context viewClass="org.eclipse.gmf.runtime.notation.Edge" semanticHints="4001,4002,4003,4004"/>
diff --git a/examples/org.eclipse.gmf.ecore.editor/src/org/eclipse/gmf/ecore/part/EcoreVisualIDRegistry.java b/examples/org.eclipse.gmf.ecore.editor/src/org/eclipse/gmf/ecore/part/EcoreVisualIDRegistry.java
index 50c7c07..88cf8e4 100644
--- a/examples/org.eclipse.gmf.ecore.editor/src/org/eclipse/gmf/ecore/part/EcoreVisualIDRegistry.java
+++ b/examples/org.eclipse.gmf.ecore.editor/src/org/eclipse/gmf/ecore/part/EcoreVisualIDRegistry.java
@@ -166,7 +166,7 @@
 			return -1;
 		}
 		String containerModelID = org.eclipse.gmf.ecore.part.EcoreVisualIDRegistry.getModelID(containerView);
-		if (!EPackageEditPart.MODEL_ID.equals(containerModelID) && !"ecore".equals(containerModelID)) { //$NON-NLS-1$
+		if (!EPackageEditPart.MODEL_ID.equals(containerModelID) && !"Ecore".equals(containerModelID)) { //$NON-NLS-1$
 			return -1;
 		}
 		int containerVisualID;
@@ -266,7 +266,7 @@
 	 */
 	public static boolean canCreateNode(View containerView, int nodeVisualID) {
 		String containerModelID = org.eclipse.gmf.ecore.part.EcoreVisualIDRegistry.getModelID(containerView);
-		if (!EPackageEditPart.MODEL_ID.equals(containerModelID) && !"ecore".equals(containerModelID)) { //$NON-NLS-1$
+		if (!EPackageEditPart.MODEL_ID.equals(containerModelID) && !"Ecore".equals(containerModelID)) { //$NON-NLS-1$
 			return false;
 		}
 		int containerVisualID;