protected void moveClassShape( IFeatureProvider fp, Diagram diagram, int x, int y, String className) { Shape shape = findShapeForEClass(diagram, className); MoveShapeContext moveShapeContext = new MoveShapeContext(shape); moveShapeContext.setSourceContainer(shape.getContainer()); moveShapeContext.setTargetContainer(shape.getContainer()); moveShapeContext.setLocation(x, y); moveShapeContext.setDeltaX(x - shape.getGraphicsAlgorithm().getX()); moveShapeContext.setDeltaY(y - shape.getGraphicsAlgorithm().getY()); IMoveShapeFeature moveShapeFeature = fp.getMoveShapeFeature(moveShapeContext); assertNotNull("move shape feature not available", moveShapeFeature); if (moveShapeFeature.canMoveShape(moveShapeContext)) { moveShapeFeature.execute(moveShapeContext); } }