*** empty log message ***
diff --git a/plugins/org.eclipse.uml2.diagram.activity/plugin.properties b/plugins/org.eclipse.uml2.diagram.activity/plugin.properties
index ea2459f..f541d83 100644
--- a/plugins/org.eclipse.uml2.diagram.activity/plugin.properties
+++ b/plugins/org.eclipse.uml2.diagram.activity/plugin.properties
Binary files differ
diff --git a/plugins/org.eclipse.uml2.diagram.activity/src/org/eclipse/uml2/diagram/activity/edit/policies/PackageCanonicalEditPolicy.java b/plugins/org.eclipse.uml2.diagram.activity/src/org/eclipse/uml2/diagram/activity/edit/policies/PackageCanonicalEditPolicy.java
index 217ecc4..e43f475 100644
--- a/plugins/org.eclipse.uml2.diagram.activity/src/org/eclipse/uml2/diagram/activity/edit/policies/PackageCanonicalEditPolicy.java
+++ b/plugins/org.eclipse.uml2.diagram.activity/src/org/eclipse/uml2/diagram/activity/edit/policies/PackageCanonicalEditPolicy.java
@@ -1237,6 +1237,10 @@
 				IAdaptable viewAdapter = (IAdaptable) ccr.getNewObject();
 				if (viewAdapter != null) {
 					adapters.add(viewAdapter);
+					//add newly generated view to domain2notation map
+					EObject domainElement = (EObject) nextLinkDescriptor.getSemanticAdapter().getAdapter(EObject.class);
+					View viewElement = (View) viewAdapter.getAdapter(EObject.class);
+					domain2NotationMap.put(domainElement, viewElement);
 				}
 			}
 		}
diff --git a/plugins/org.eclipse.uml2.diagram.clazz/plugin.properties b/plugins/org.eclipse.uml2.diagram.clazz/plugin.properties
index 7442a49..9f34787 100644
--- a/plugins/org.eclipse.uml2.diagram.clazz/plugin.properties
+++ b/plugins/org.eclipse.uml2.diagram.clazz/plugin.properties
Binary files differ
diff --git a/plugins/org.eclipse.uml2.diagram.clazz/src/org/eclipse/uml2/diagram/clazz/edit/policies/PackageCanonicalEditPolicy.java b/plugins/org.eclipse.uml2.diagram.clazz/src/org/eclipse/uml2/diagram/clazz/edit/policies/PackageCanonicalEditPolicy.java
index 38e6205..c7f8471 100644
--- a/plugins/org.eclipse.uml2.diagram.clazz/src/org/eclipse/uml2/diagram/clazz/edit/policies/PackageCanonicalEditPolicy.java
+++ b/plugins/org.eclipse.uml2.diagram.clazz/src/org/eclipse/uml2/diagram/clazz/edit/policies/PackageCanonicalEditPolicy.java
@@ -42,6 +42,7 @@
 import org.eclipse.gmf.runtime.notation.Ratio;
 import org.eclipse.gmf.runtime.notation.Size;
 import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.gmf.runtime.notation.impl.EdgeImpl;
 import org.eclipse.uml2.diagram.clazz.conventions.InterfaceNotationConvention;
 import org.eclipse.uml2.diagram.clazz.edit.parts.AssociationClass2EditPart;
 import org.eclipse.uml2.diagram.clazz.edit.parts.AssociationClassConnectorEditPart;
@@ -956,6 +957,10 @@
 				IAdaptable viewAdapter = (IAdaptable) ccr.getNewObject();
 				if (viewAdapter != null) {
 					adapters.add(viewAdapter);
+					//add newly generated view to domain2notation map
+					EObject domainElement = (EObject) nextLinkDescriptor.getSemanticAdapter().getAdapter(EObject.class);
+					View viewElement = (View) viewAdapter.getAdapter(EObject.class);
+					domain2NotationMap.put(domainElement, viewElement);
 				}
 			}
 		}
diff --git a/plugins/org.eclipse.uml2.diagram.component/plugin.properties b/plugins/org.eclipse.uml2.diagram.component/plugin.properties
index 1d3135f..68f2fff 100644
--- a/plugins/org.eclipse.uml2.diagram.component/plugin.properties
+++ b/plugins/org.eclipse.uml2.diagram.component/plugin.properties
Binary files differ
diff --git a/plugins/org.eclipse.uml2.diagram.component/src/org/eclipse/uml2/diagram/component/edit/policies/PackageCanonicalEditPolicy.java b/plugins/org.eclipse.uml2.diagram.component/src/org/eclipse/uml2/diagram/component/edit/policies/PackageCanonicalEditPolicy.java
index 2e7f260..23ac83f 100644
--- a/plugins/org.eclipse.uml2.diagram.component/src/org/eclipse/uml2/diagram/component/edit/policies/PackageCanonicalEditPolicy.java
+++ b/plugins/org.eclipse.uml2.diagram.component/src/org/eclipse/uml2/diagram/component/edit/policies/PackageCanonicalEditPolicy.java
@@ -689,6 +689,10 @@
 				IAdaptable viewAdapter = (IAdaptable) ccr.getNewObject();
 				if (viewAdapter != null) {
 					adapters.add(viewAdapter);
+					//add newly generated view to domain2notation map
+					EObject domainElement = (EObject) nextLinkDescriptor.getSemanticAdapter().getAdapter(EObject.class);
+					View viewElement = (View) viewAdapter.getAdapter(EObject.class);
+					domain2NotationMap.put(domainElement, viewElement);
 				}
 			}
 		}
diff --git a/plugins/org.eclipse.uml2.diagram.csd/plugin.properties b/plugins/org.eclipse.uml2.diagram.csd/plugin.properties
index e01d7aa..ae7172a 100644
--- a/plugins/org.eclipse.uml2.diagram.csd/plugin.properties
+++ b/plugins/org.eclipse.uml2.diagram.csd/plugin.properties
Binary files differ
diff --git a/plugins/org.eclipse.uml2.diagram.csd/src/org/eclipse/uml2/diagram/csd/edit/policies/PackageCanonicalEditPolicy.java b/plugins/org.eclipse.uml2.diagram.csd/src/org/eclipse/uml2/diagram/csd/edit/policies/PackageCanonicalEditPolicy.java
index 0815586..ec8de73 100644
--- a/plugins/org.eclipse.uml2.diagram.csd/src/org/eclipse/uml2/diagram/csd/edit/policies/PackageCanonicalEditPolicy.java
+++ b/plugins/org.eclipse.uml2.diagram.csd/src/org/eclipse/uml2/diagram/csd/edit/policies/PackageCanonicalEditPolicy.java
@@ -712,6 +712,10 @@
 				IAdaptable viewAdapter = (IAdaptable) ccr.getNewObject();
 				if (viewAdapter != null) {
 					adapters.add(viewAdapter);
+					//add newly generated view to domain2notation map
+					EObject domainElement = (EObject) nextLinkDescriptor.getSemanticAdapter().getAdapter(EObject.class);
+					View viewElement = (View) viewAdapter.getAdapter(EObject.class);
+					domain2NotationMap.put(domainElement, viewElement);
 				}
 			}
 		}
diff --git a/plugins/org.eclipse.uml2.diagram.def/dynamic-templates/codegen/aspects/impl/diagram/update/CanonicalUpdate.xpt b/plugins/org.eclipse.uml2.diagram.def/dynamic-templates/codegen/aspects/impl/diagram/update/CanonicalUpdate.xpt
index cb2447f..918385d 100644
--- a/plugins/org.eclipse.uml2.diagram.def/dynamic-templates/codegen/aspects/impl/diagram/update/CanonicalUpdate.xpt
+++ b/plugins/org.eclipse.uml2.diagram.def/dynamic-templates/codegen/aspects/impl/diagram/update/CanonicalUpdate.xpt
@@ -60,6 +60,40 @@
 	return createConnections(linkDescriptors, domain2NotationMap);
 «ENDAROUND»
 
+«AROUND createConnectionsMethod FOR gmfgen::GenDiagram-»
+«EXPAND xpt::Common::generatedMemberComment»
+private «EXPAND CodeStyle::G('java.util.Collection', 'org.eclipse.core.runtime.IAdaptable')»  createConnections(«EXPAND CodeStyle::G('java.util.Collection', editorGen.diagramUpdater.getLinkDescriptorQualifiedClassName())» linkDescriptors, «EXPAND CodeStyle::G2('java.util.Map', 'org.eclipse.emf.ecore.EObject', 'org.eclipse.gmf.runtime.notation.View')» domain2NotationMap) {
+	«EXPAND CodeStyle::newGenericInstance('adapters', 'java.util.LinkedList', 'org.eclipse.core.runtime.IAdaptable')»();
+	«EXPAND CodeStyle::iterate('nextLinkDescriptor', editorGen.diagramUpdater.getLinkDescriptorQualifiedClassName(), 'linkDescriptors')-»
+		org.eclipse.gef.EditPart sourceEditPart = getEditPart(nextLinkDescriptor.getSource(), domain2NotationMap);
+		org.eclipse.gef.EditPart targetEditPart = getEditPart(nextLinkDescriptor.getDestination(), domain2NotationMap);
+		if (sourceEditPart == null || targetEditPart == null) {
+			continue;
+		}
+		org.eclipse.gmf.runtime.diagram.ui.requests.CreateConnectionViewRequest.ConnectionViewDescriptor descriptor = new org.eclipse.gmf.runtime.diagram.ui.requests.CreateConnectionViewRequest.ConnectionViewDescriptor(nextLinkDescriptor.getSemanticAdapter(), «EXPAND xpt::editor::VisualIDRegistry::typeMethodCall('nextLinkDescriptor.getVisualID()')», org.eclipse.gmf.runtime.diagram.core.util.ViewUtil.APPEND, false, ((org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart) getHost()).getDiagramPreferencesHint());
+		org.eclipse.gmf.runtime.diagram.ui.requests.CreateConnectionViewRequest ccr = new org.eclipse.gmf.runtime.diagram.ui.requests.CreateConnectionViewRequest(descriptor);
+		ccr.setType(org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants.REQ_CONNECTION_START);
+		ccr.setSourceEditPart(sourceEditPart);
+		sourceEditPart.getCommand(ccr);
+		ccr.setTargetEditPart(targetEditPart);
+		ccr.setType(org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants.REQ_CONNECTION_END);
+		org.eclipse.gef.commands.Command cmd = targetEditPart.getCommand(ccr);
+		if (cmd != null && cmd.canExecute()) {
+			executeCommand(cmd);
+			org.eclipse.core.runtime.IAdaptable viewAdapter = (org.eclipse.core.runtime.IAdaptable) ccr.getNewObject();
+			if (viewAdapter != null) {
+				adapters.add(viewAdapter);
+				//add newly generated view to domain2notation map
+				org.eclipse.emf.ecore.EObject domainElement = (org.eclipse.emf.ecore.EObject)nextLinkDescriptor.getSemanticAdapter().getAdapter(org.eclipse.emf.ecore.EObject.class);
+				org.eclipse.gmf.runtime.notation.View viewElement = (org.eclipse.gmf.runtime.notation.View)viewAdapter.getAdapter(org.eclipse.emf.ecore.EObject.class);
+				domain2NotationMap.put(domainElement, viewElement);
+			}
+		}
+	}
+	return adapters;
+}
+«ENDAROUND»
+
 «DEFINE _compareLinkVisualID FOR gmfgen::GenLink» || diagramLinkVisualID == «EXPAND xpt::editor::VisualIDRegistry::visualID»«ENDDEFINE»
 
 «AROUND _caseSemanticElement FOR gmfgen::GenCommonBase-»
diff --git a/plugins/org.eclipse.uml2.diagram.deploy/plugin.properties b/plugins/org.eclipse.uml2.diagram.deploy/plugin.properties
index 8df70b6..9a8ad4a 100644
--- a/plugins/org.eclipse.uml2.diagram.deploy/plugin.properties
+++ b/plugins/org.eclipse.uml2.diagram.deploy/plugin.properties
Binary files differ
diff --git a/plugins/org.eclipse.uml2.diagram.deploy/src/org/eclipse/uml2/diagram/deploy/edit/policies/PackageCanonicalEditPolicy.java b/plugins/org.eclipse.uml2.diagram.deploy/src/org/eclipse/uml2/diagram/deploy/edit/policies/PackageCanonicalEditPolicy.java
index 130b5cd..d51411b 100644
--- a/plugins/org.eclipse.uml2.diagram.deploy/src/org/eclipse/uml2/diagram/deploy/edit/policies/PackageCanonicalEditPolicy.java
+++ b/plugins/org.eclipse.uml2.diagram.deploy/src/org/eclipse/uml2/diagram/deploy/edit/policies/PackageCanonicalEditPolicy.java
@@ -527,6 +527,10 @@
 				IAdaptable viewAdapter = (IAdaptable) ccr.getNewObject();
 				if (viewAdapter != null) {
 					adapters.add(viewAdapter);
+					//add newly generated view to domain2notation map
+					EObject domainElement = (EObject) nextLinkDescriptor.getSemanticAdapter().getAdapter(EObject.class);
+					View viewElement = (View) viewAdapter.getAdapter(EObject.class);
+					domain2NotationMap.put(domainElement, viewElement);
 				}
 			}
 		}
diff --git a/plugins/org.eclipse.uml2.diagram.profile/plugin.properties b/plugins/org.eclipse.uml2.diagram.profile/plugin.properties
index d27ca23..73e3bfc 100644
--- a/plugins/org.eclipse.uml2.diagram.profile/plugin.properties
+++ b/plugins/org.eclipse.uml2.diagram.profile/plugin.properties
Binary files differ
diff --git a/plugins/org.eclipse.uml2.diagram.profile/src/org/eclipse/uml2/diagram/profile/edit/policies/ProfileCanonicalEditPolicy.java b/plugins/org.eclipse.uml2.diagram.profile/src/org/eclipse/uml2/diagram/profile/edit/policies/ProfileCanonicalEditPolicy.java
index 59ee3b2..55ff568 100644
--- a/plugins/org.eclipse.uml2.diagram.profile/src/org/eclipse/uml2/diagram/profile/edit/policies/ProfileCanonicalEditPolicy.java
+++ b/plugins/org.eclipse.uml2.diagram.profile/src/org/eclipse/uml2/diagram/profile/edit/policies/ProfileCanonicalEditPolicy.java
@@ -537,6 +537,10 @@
 				IAdaptable viewAdapter = (IAdaptable) ccr.getNewObject();
 				if (viewAdapter != null) {
 					adapters.add(viewAdapter);
+					//add newly generated view to domain2notation map
+					EObject domainElement = (EObject) nextLinkDescriptor.getSemanticAdapter().getAdapter(EObject.class);
+					View viewElement = (View) viewAdapter.getAdapter(EObject.class);
+					domain2NotationMap.put(domainElement, viewElement);
 				}
 			}
 		}
diff --git a/plugins/org.eclipse.uml2.diagram.statemachine/plugin.properties b/plugins/org.eclipse.uml2.diagram.statemachine/plugin.properties
index 7d86e9b..3725d97 100644
--- a/plugins/org.eclipse.uml2.diagram.statemachine/plugin.properties
+++ b/plugins/org.eclipse.uml2.diagram.statemachine/plugin.properties
Binary files differ
diff --git a/plugins/org.eclipse.uml2.diagram.statemachine/src/org/eclipse/uml2/diagram/statemachine/edit/policies/PackageCanonicalEditPolicy.java b/plugins/org.eclipse.uml2.diagram.statemachine/src/org/eclipse/uml2/diagram/statemachine/edit/policies/PackageCanonicalEditPolicy.java
index e285459..5d13079 100644
--- a/plugins/org.eclipse.uml2.diagram.statemachine/src/org/eclipse/uml2/diagram/statemachine/edit/policies/PackageCanonicalEditPolicy.java
+++ b/plugins/org.eclipse.uml2.diagram.statemachine/src/org/eclipse/uml2/diagram/statemachine/edit/policies/PackageCanonicalEditPolicy.java
@@ -561,6 +561,10 @@
 				IAdaptable viewAdapter = (IAdaptable) ccr.getNewObject();
 				if (viewAdapter != null) {
 					adapters.add(viewAdapter);
+					//add newly generated view to domain2notation map
+					EObject domainElement = (EObject) nextLinkDescriptor.getSemanticAdapter().getAdapter(EObject.class);
+					View viewElement = (View) viewAdapter.getAdapter(EObject.class);
+					domain2NotationMap.put(domainElement, viewElement);
 				}
 			}
 		}
diff --git a/plugins/org.eclipse.uml2.diagram.usecase/plugin.properties b/plugins/org.eclipse.uml2.diagram.usecase/plugin.properties
index f46d907..53d8a66 100644
--- a/plugins/org.eclipse.uml2.diagram.usecase/plugin.properties
+++ b/plugins/org.eclipse.uml2.diagram.usecase/plugin.properties
Binary files differ
diff --git a/plugins/org.eclipse.uml2.diagram.usecase/src/org/eclipse/uml2/diagram/usecase/edit/policies/PackageCanonicalEditPolicy.java b/plugins/org.eclipse.uml2.diagram.usecase/src/org/eclipse/uml2/diagram/usecase/edit/policies/PackageCanonicalEditPolicy.java
index 860b62e..bdb0303 100644
--- a/plugins/org.eclipse.uml2.diagram.usecase/src/org/eclipse/uml2/diagram/usecase/edit/policies/PackageCanonicalEditPolicy.java
+++ b/plugins/org.eclipse.uml2.diagram.usecase/src/org/eclipse/uml2/diagram/usecase/edit/policies/PackageCanonicalEditPolicy.java
@@ -575,6 +575,10 @@
 				IAdaptable viewAdapter = (IAdaptable) ccr.getNewObject();
 				if (viewAdapter != null) {
 					adapters.add(viewAdapter);
+					//add newly generated view to domain2notation map
+					EObject domainElement = (EObject) nextLinkDescriptor.getSemanticAdapter().getAdapter(EObject.class);
+					View viewElement = (View) viewAdapter.getAdapter(EObject.class);
+					domain2NotationMap.put(domainElement, viewElement);
 				}
 			}
 		}