Bug 466337 - Boundary Events are not positioned correctly when importing
BPMN files without BPMNDI
diff --git a/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/utils/BoundaryEventPositionHelper.java b/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/utils/BoundaryEventPositionHelper.java
index 9020844..6823811 100644
--- a/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/utils/BoundaryEventPositionHelper.java
+++ b/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/utils/BoundaryEventPositionHelper.java
@@ -170,8 +170,8 @@
 	}
 
 	public static boolean canMoveTo(IMoveShapeContext context, Diagram diagram) {
-		int x = context.getX();
-		int y = context.getY();
+		int x = context.getX() + context.getDeltaX();
+		int y = context.getY() + context.getDeltaY();
 
 		if (!(context.getTargetContainer() instanceof Diagram)) {
 			ILocation loc = peService.getLocationRelativeToDiagram(context.getTargetContainer());
@@ -186,9 +186,9 @@
 		GraphicsAlgorithm activityGa = activityContainer.getGraphicsAlgorithm();
 		ILocation activityLoc = peService.getLocationRelativeToDiagram(activityContainer);
 
-		if (!activityContainer.equals(context.getTargetContainer())) {
-			return false;
-		}
+//		if (!activityContainer.equals(context.getTargetContainer())) {
+//			return false;
+//		}
 
 		PositionOnLine pos = getPositionOnLine(x, y, eventGa.getWidth(), eventGa.getHeight(), activityLoc.getX(),
 		        activityLoc.getY(), activityGa.getWidth(), activityGa.getHeight());
diff --git a/plugins/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/features/event/MoveBoundaryEventFeature.java b/plugins/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/features/event/MoveBoundaryEventFeature.java
index 890aef5..ac9f93f 100644
--- a/plugins/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/features/event/MoveBoundaryEventFeature.java
+++ b/plugins/org.eclipse.bpmn2.modeler.ui/src/org/eclipse/bpmn2/modeler/ui/features/event/MoveBoundaryEventFeature.java
@@ -21,6 +21,7 @@
 import org.eclipse.bpmn2.modeler.core.utils.BoundaryEventPositionHelper;
 import org.eclipse.bpmn2.modeler.core.utils.BoundaryEventPositionHelper.PositionOnLine;
 import org.eclipse.bpmn2.modeler.core.utils.BusinessObjectUtil;
+import org.eclipse.bpmn2.modeler.core.utils.FeatureSupport;
 import org.eclipse.bpmn2.modeler.core.utils.GraphicsUtil;
 import org.eclipse.bpmn2.modeler.core.utils.ModelUtil;
 import org.eclipse.graphiti.datatypes.ILocation;
@@ -143,6 +144,7 @@
 			
 			GraphicsUtil.sendToFront(context.getShape());
 			super.postMoveShape(context);
+			FeatureSupport.updateConnections(getFeatureProvider(), eventContainer);
 		}		
 	}
 }
\ No newline at end of file