Bug 166015 Refactor designer actions to eclipse command framework
Eclipse command framework provide a more explicit way to manage UI actions contributions, we can take it's advantage to make our actions code more clean and maintainable.
UI/org.eclipse.birt.report.designer.ui/src/org/eclipse/birt/report/designer/internal/ui/views/actions/InsertAction.java
* @see org.eclipse.birt.report.designer.internal.ui.views.actions.AbstractElementAction#doAction()
	 */
	protected boolean doAction( ) throws Exception
	{
		Request request = new Request( IRequestConstants.REQUEST_TYPE_INSERT );
		Map extendsData = new HashMap( );
		extendsData.put( IRequestConstants.REQUEST_KEY_INSERT_SLOT, slotHandle );
		if ( type != null )
		{
			extendsData.put( IRequestConstants.REQUEST_KEY_INSERT_TYPE, type );
		}
		extendsData.put( IRequestConstants.REQUEST_KEY_INSERT_POSITION,
				position );
		request.setExtendedData( extendsData );
		boolean bool =  ProviderFactory.createProvider( getSelection( ) )
				.performRequest( getSelection( ), request );
		if (bool)
		{	
			List list = new ArrayList();
			list.add(request.getExtendedData( ).get( IRequestConstants.REQUEST_KEY_RESULT ));
			ReportRequest r = new ReportRequest();
			r.setType(ReportRequest.CREATE_ELEMENT);
			
			r.setSelectionObject(list);
			SessionHandleAdapter.getInstance().getMediator().notifyRequest(r);
			
		}
		return bool;
	}
}