private IContainer getActualTarget(Object dropTarget) throws JavaModelException { if (dropTarget instanceof IContainer) return (IContainer) dropTarget; else if (dropTarget instanceof IJavaElement) return getActualTarget(((IJavaElement) dropTarget).getCorrespondingResource()); return null; }
public IStatus validateDrop(Object target, int operation, TransferData transferType) { IStatus result = Status.OK_STATUS; if (LocalSelectionTransfer.getInstance().isSupportedType(transferType)) { initializeSelection(); try { switch (operation) { case DND.DROP_DEFAULT : if (handleValidateDefault(target) != DND.DROP_NONE) { result = Status.OK_STATUS; } else { if (handleValidateCopy(target) != DND.DROP_NONE) { result = Status.OK_STATUS; } else { if (handleValidateMove(target) != DND.DROP_NONE) { result = Status.OK_STATUS; } else {
IStatus result = Status.OK_STATUS; if (LocalSelectionTransfer.getInstance().isSupportedType(transferType)) { target= getActualTarget(target); initializeSelection(); try { switch (operation) { case DND.DROP_DEFAULT : if (handleValidateDefault(target) != DND.DROP_NONE) { result = Status.OK_STATUS; } else { if (handleValidateCopy(target) != DND.DROP_NONE) { result = Status.OK_STATUS; } else { if (handleValidateMove(target) != DND.DROP_NONE) { result = Status.OK_STATUS; } else { if (handleValidateCopy(target) != DND.DROP_NONE) { getCommonDropAdapter().overrideOperation(DND.DROP_COPY); result= Status.OK_STATUS; } else { final IContainer targetContainer= getTargetContainer(target); if (targetContainer == null || !targetContainer.isAccessible()) return Status.CANCEL_STATUS; String title= PackagesMessages.DropAdapter_errorTitle; String message= PackagesMessages.DropAdapter_errorMessage;
if (LocalSelectionTransfer.getInstance().isSupportedType(dropAdapter.getCurrentTransfer())) { try { target= getActualTarget(target); switch (currentOperation) { case DND.DROP_MOVE : handleDropMove(target); dropTargetEvent.detail= DND.DROP_NONE; break; case DND.DROP_COPY : handleDropCopy(target); break; clear(); return Status.OK_STATUS; } else if (FileTransfer.getInstance().isSupportedType(dropAdapter.getCurrentTransfer())) { try { final IContainer targetContainer= getTargetContainer(target); if (targetContainer == null) return Status.CANCEL_STATUS; getShell().forceActive(); final Object data= FileTransfer.getInstance().nativeToJava(dropAdapter.getCurrentTransfer()); new CopyFilesAndFoldersOperation(getShell()).copyOrLinkFiles((String[])data, targetContainer, currentOperation); } catch (JavaModelException e) { String title = PackagesMessages.DropAdapter_errorTitle; String message = PackagesMessages.DropAdapter_errorMessage; ExceptionHandler.handle(e, getShell(), title, message);
private void handleDropMove(final Object target) throws JavaModelException, InvocationTargetException, InterruptedException { IJavaElement[] javaElements = ReorgUtils.getJavaElements(fElements); IResource[] resources = ReorgUtils.getResources(fElements); ReorgMoveStarter starter= ReorgMoveStarter.create(javaElements, resources, ReorgDestinationFactory.createDestination(target)); if (starter != null) starter.run(getShell()); }
private int handleValidateCopy(Object target) throws JavaModelException { final ICopyPolicy policy= ReorgPolicyFactory.createCopyPolicy(ReorgUtils.getResources(fElements), ReorgUtils.getJavaElements(fElements)); fCopyProcessor= policy.canEnable() ? new JavaCopyProcessor(policy) : null; if (!canCopyElements()) return DND.DROP_NONE; if (fCopyProcessor == null) return DND.DROP_NONE; if (!fCopyProcessor.setDestination(ReorgDestinationFactory.createDestination(target)).isOK()) return DND.DROP_NONE; return DND.DROP_COPY; }
private int handleValidateDefault(Object target) throws JavaModelException { if (target == null) return DND.DROP_NONE; return handleValidateMove(target); }
private int handleValidateMove(Object target) throws JavaModelException { if (target == null) return DND.DROP_NONE; IMovePolicy policy= ReorgPolicyFactory.createMovePolicy(ReorgUtils.getResources(fElements), ReorgUtils.getJavaElements(fElements)); fMoveProcessor= (policy.canEnable()) ? new JavaMoveProcessor(policy) : null; if (!canMoveElements()) return DND.DROP_NONE; if (fMoveProcessor == null) return DND.DROP_NONE; if (!fMoveProcessor.setDestination(ReorgDestinationFactory.createDestination(target)).isOK()) return DND.DROP_NONE; return DND.DROP_MOVE; }
IStatus result = Status.OK_STATUS; if (LocalSelectionTransfer.getInstance().isSupportedType(transferType)) { target= getActualTarget(target); initializeSelection(); try { switch (operation) { case DND.DROP_DEFAULT : if (handleValidateDefault(target) != DND.DROP_NONE) { result = Status.OK_STATUS; } else { if (handleValidateCopy(target) != DND.DROP_NONE) { result = Status.OK_STATUS; } else { if (handleValidateMove(target) != DND.DROP_NONE) { result = Status.OK_STATUS; } else { if (handleValidateCopy(target) != DND.DROP_NONE) { getCommonDropAdapter().overrideOperation(DND.DROP_COPY); result= Status.OK_STATUS; } else { final IContainer targetContainer= getTargetContainer(target); if (targetContainer == null || !targetContainer.isAccessible()) return Status.CANCEL_STATUS; String title= PackagesMessages.DropAdapter_errorTitle; String message= PackagesMessages.DropAdapter_errorMessage;
if (LocalSelectionTransfer.getInstance().isSupportedType(dropAdapter.getCurrentTransfer())) { try { target= getActualTarget(target); switch (currentOperation) { case DND.DROP_MOVE : handleDropMove(target); dropTargetEvent.detail= DND.DROP_NONE; break; case DND.DROP_COPY : handleDropCopy(target); break; clear(); return Status.OK_STATUS; } else if (FileTransfer.getInstance().isSupportedType(dropAdapter.getCurrentTransfer())) { try { final IContainer targetContainer= getTargetContainer(target); if (targetContainer == null) return Status.CANCEL_STATUS; getShell().forceActive(); final Object data= FileTransfer.getInstance().nativeToJava(dropAdapter.getCurrentTransfer()); new CopyFilesAndFoldersOperation(getShell()).copyOrLinkFiles((String[])data, targetContainer, currentOperation); } catch (JavaModelException e) { String title = PackagesMessages.DropAdapter_errorTitle; String message = PackagesMessages.DropAdapter_errorMessage; ExceptionHandler.handle(e, getShell(), title, message);
private void handleDropCopy(final Object target) throws JavaModelException, InvocationTargetException, InterruptedException { IJavaElement[] javaElements = ReorgUtils.getJavaElements(fElements); IResource[] resources = ReorgUtils.getResources(fElements); ReorgCopyStarter starter = null; if (target instanceof IResource) starter = ReorgCopyStarter.create(javaElements, resources, (IResource) target); else if (target instanceof IJavaElement) starter = ReorgCopyStarter.create(javaElements, resources, (IJavaElement) target); if (starter != null) starter.run(getShell()); }
private int handleValidateCopy(Object target) throws JavaModelException { final ICopyPolicy policy= ReorgPolicyFactory.createCopyPolicy(ReorgUtils.getResources(fElements), ReorgUtils.getJavaElements(fElements)); fCopyProcessor= policy.canEnable() ? new JavaCopyProcessor(policy) : null; if (!canCopyElements()) return DND.DROP_NONE; if (fCopyProcessor == null) return DND.DROP_NONE; if (!fCopyProcessor.setDestination(ReorgDestinationFactory.createDestination(target)).isOK()) return DND.DROP_NONE; return DND.DROP_COPY; }
private int handleValidateDefault(Object target) throws JavaModelException { if (target == null) return DND.DROP_NONE; return handleValidateMove(target); }
private int handleValidateMove(Object target) throws JavaModelException { if (target == null) return DND.DROP_NONE; IMovePolicy policy= ReorgPolicyFactory.createMovePolicy(ReorgUtils.getResources(fElements), ReorgUtils.getJavaElements(fElements)); fMoveProcessor= (policy.canEnable()) ? new JavaMoveProcessor(policy) : null; if (!canMoveElements()) return DND.DROP_NONE; if (fMoveProcessor == null) return DND.DROP_NONE; if (!fMoveProcessor.setDestination(ReorgDestinationFactory.createDestination(target)).isOK()) return DND.DROP_NONE; return DND.DROP_MOVE; }
handleDropMove(target); break; case DND.DROP_COPY : handleDropCopy(target); break; clear(); return Status.OK_STATUS; } else if (FileTransfer.getInstance().isSupportedType(dropAdapter.getCurrentTransfer())) { return Status.CANCEL_STATUS; final IContainer targetContainer = getActualTarget(target); if (targetContainer == null) return Status.CANCEL_STATUS; getShell().forceActive(); new CopyFilesAndFoldersOperation(getShell()).copyFiles((String[]) data, targetContainer); } catch (JavaModelException e) { String title = PackagesMessages.DropAdapter_errorTitle; String message = PackagesMessages.DropAdapter_errorMessage; ExceptionHandler.handle(e, getShell(), title, message);
private void handleDropMove(final Object target) throws JavaModelException, InvocationTargetException, InterruptedException { IJavaElement[] javaElements = ReorgUtils.getJavaElements(fElements); IResource[] resources = ReorgUtils.getResources(fElements); ReorgMoveStarter starter = null; if (target instanceof IResource) starter = ReorgMoveStarter.create(javaElements, resources, (IResource) target); else if (target instanceof IJavaElement) starter = ReorgMoveStarter.create(javaElements, resources, (IJavaElement) target); if (starter != null) starter.run(getShell()); }
private int handleValidateCopy(Object target) throws JavaModelException { final ICopyPolicy policy= ReorgPolicyFactory.createCopyPolicy(ReorgUtils.getResources(fElements), ReorgUtils.getJavaElements(fElements)); fCopyProcessor= policy.canEnable() ? new JavaCopyProcessor(policy) : null; if (!canCopyElements()) return DND.DROP_NONE; if (target instanceof IResource && fCopyProcessor != null && fCopyProcessor.setDestination((IResource)target).isOK()) return DND.DROP_COPY; else if (target instanceof IJavaElement && fCopyProcessor != null && fCopyProcessor.setDestination((IJavaElement)target).isOK()) return DND.DROP_COPY; else return DND.DROP_NONE; }
private int handleValidateDefault(Object target) throws JavaModelException { if (target == null) return DND.DROP_NONE; return handleValidateMove(target); }
private int handleValidateMove(Object target) throws JavaModelException { if (target == null) return DND.DROP_NONE; IMovePolicy policy= ReorgPolicyFactory.createMovePolicy(ReorgUtils.getResources(fElements), ReorgUtils.getJavaElements(fElements)); fMoveProcessor= (policy.canEnable()) ? new JavaMoveProcessor(policy) : null; if (!canMoveElements()) return DND.DROP_NONE; if (target instanceof IResource && fMoveProcessor != null && fMoveProcessor.setDestination((IResource)target).isOK()) return DND.DROP_MOVE; else if (target instanceof IJavaElement && fMoveProcessor != null && fMoveProcessor.setDestination((IJavaElement)target).isOK()) return DND.DROP_MOVE; else return DND.DROP_NONE; }
private void handleDropMove(final Object target) throws JavaModelException, InvocationTargetException, InterruptedException { IJavaElement[] javaElements = ReorgUtils.getJavaElements(fElements); IResource[] resources = ReorgUtils.getResources(fElements); ReorgMoveStarter starter= ReorgMoveStarter.create(javaElements, resources, ReorgDestinationFactory.createDestination(target)); if (starter != null) starter.run(getShell()); }