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/PasteAction.java
System.out.println( "Paste action >> Paste " + getClipBoardContents( ) ); 
		}
		DNDUtil.copyHandles( getClipBoardContents( ), getSelection( ) );
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.jface.action.Action#isEnabled()
	 */
	public boolean isEnabled( )
	{
		return DNDUtil.handleValidateTargetCanContain( getSelection( ),
				getClipBoardContents( ) )
				&& DNDUtil.handleValidateTargetCanContainMore( getSelection( ),
						DNDUtil.getObjectLength( getClipBoardContents( ) ) );
	}
	protected Object getClipBoardContents( )
	{
		return Clipboard.getDefault( ).getContents( );
	}
	public Object getSelection( )
	{
		Object selection = super.getSelection( );
		if ( selection instanceof StructuredSelection )
		{
			selection = ( (StructuredSelection) selection ).getFirstElement( );
		}
		return selection;
	}
}