private IStatus performFileDrop ( CommonDropAdapter anAdapter , Object data ) { MultiStatus problems = new MultiStatus ( PlatformUI . PLUGIN_ID , 0 , WorkbenchNavigatorMessages . DropAdapter_problemImporting , null ) ; mergeStatus ( problems , validateTarget ( anAdapter . getCurrentTarget ( ) , anAdapter . getCurrentTransfer ( ) , anAdapter . getCurrentOperation ( ) ) ) ; IContainer target = null ; if ( anAdapter . getCurrentTarget ( ) instanceof IVdmContainer ) { target = ( ( IVdmContainer ) anAdapter . getCurrentTarget ( ) ) . getContainer ( ) ; } else { target = getActualTarget ( ( IResource ) anAdapter . getCurrentTarget ( ) ) ; } final IContainer ftarget = target ; final String [ ] names = ( String [ ] ) data ; // Run the import operation asynchronously. // Otherwise the drag source (e.g., Windows Explorer) will be blocked // while the operation executes. Fixes bug 16478. Display . getCurrent ( ) . asyncExec ( new Runnable ( ) { public void run ( ) { getShell ( ) . forceActive ( ) ; CopyFilesAndFoldersOperation operation = new CopyFilesAndFoldersOperation ( getShell ( ) ) ; operation . copyFiles ( names , ftarget ) ; } } ) ; return problems ; }
Performs a drop using the FileTransfer transfer type .