Bug 123496 [IDE] Use operation validation API for IDE actions
We should use the Resources/Core operation validation API in the IDE actions for manipulating resources.
bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/actions/DeleteResourceAction.java
* Returns the resources to delete based on the selection and their read-only status.
     * 
     * @param resources the selected resources
     * @return the resources to delete
     */
    private IResource[] getResourcesToDelete(IResource[] resources) {
        if (containsOnlyProjects(resources) && !deleteContent) {
            
            return resources;
        }
        ReadOnlyStateChecker checker = new ReadOnlyStateChecker(this.shell,
                IDEWorkbenchMessages.DeleteResourceAction_title1,
                IDEWorkbenchMessages.DeleteResourceAction_readOnlyQuestion);
        checker.setIgnoreLinkedResources(true);
        return checker.checkReadOnlyResources(resources);
    }
    /**
     * The <code>DeleteResourceAction</code> implementation of this
     * <code>SelectionListenerAction</code> method disables the action
     * if the selection contains phantom resources or non-resources
     */
    protected boolean updateSelection(IStructuredSelection selection) {
        return super.updateSelection(selection)
                && canDelete(getSelectedResourcesArray());
    }
    /**
     * Ask the user whether the given resource should be deleted
     * despite being out of sync with the file system.
     * @param resource the out of sync resource
     * @return One of the IDialogConstants constants indicating which