Repository: ant-ivyde Updated Branches: refs/heads/master 0e984f6a3 -> 122b5a2f7
Make the action 'Remove Ivy dependency management' work on a container too Project: http://git-wip-us.apache.org/repos/asf/ant-ivyde/repo Commit: http://git-wip-us.apache.org/repos/asf/ant-ivyde/commit/f726a979 Tree: http://git-wip-us.apache.org/repos/asf/ant-ivyde/tree/f726a979 Diff: http://git-wip-us.apache.org/repos/asf/ant-ivyde/diff/f726a979 Branch: refs/heads/master Commit: f726a9797756e627d9c228253ff1565c4881f0d1 Parents: 0e984f6 Author: Nicolas LaleveÌe <nicolas.lale...@hibnet.org> Authored: Mon Jul 16 11:16:22 2018 +0200 Committer: Nicolas LaleveÌe <nicolas.lale...@hibnet.org> Committed: Mon Jul 16 11:16:22 2018 +0200 ---------------------------------------------------------------------- .../handlers/RemoveIvyNatureHandler.java | 57 +++++--------------- 1 file changed, 14 insertions(+), 43 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ant-ivyde/blob/f726a979/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/handlers/RemoveIvyNatureHandler.java ---------------------------------------------------------------------- diff --git a/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/handlers/RemoveIvyNatureHandler.java b/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/handlers/RemoveIvyNatureHandler.java index 9906ef9..d485c26 100644 --- a/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/handlers/RemoveIvyNatureHandler.java +++ b/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/handlers/RemoveIvyNatureHandler.java @@ -17,60 +17,31 @@ */ package org.apache.ivyde.internal.eclipse.handlers; -import java.util.LinkedList; -import java.util.List; +import java.util.Map; +import java.util.Set; import org.apache.ivyde.eclipse.IvyNatureHelper; +import org.apache.ivyde.eclipse.cp.IvyClasspathContainer; import org.apache.ivyde.internal.eclipse.IvyPlugin; -import org.eclipse.core.commands.AbstractHandler; -import org.eclipse.core.commands.ExecutionEvent; -import org.eclipse.core.commands.ExecutionException; import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.IAdaptable; import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.handlers.HandlerUtil; -public class RemoveIvyNatureHandler extends AbstractHandler { +public class RemoveIvyNatureHandler extends AbstractIvyDEHandler { public static final String COMMAND_ID = "org.apache.ivyde.commands.removeivynature"; - public Object execute(ExecutionEvent event) throws ExecutionException { - ISelection selection = HandlerUtil.getCurrentSelection(event); - if (!(selection instanceof IStructuredSelection)) { - return null; - } - - List<IProject> projects = new LinkedList<>(); - for (Object object : ((IStructuredSelection) selection).toList()) { - if (!(object instanceof IAdaptable)) { - return null; - } - IProject project = (IProject) ((IAdaptable) object).getAdapter(IProject.class); - if (project == null) { - return null; - } - if (IvyNatureHelper.hasNature(project)) { - projects.add(project); + @Override + protected void handleProjects(Map<IProject, Set<IvyClasspathContainer>> projects) { + Shell shell = IvyPlugin.getActiveWorkbenchShell(); + boolean doRemove = MessageDialog.openQuestion(shell, "Remove Ivy dependency management", + "Do you want to remove the Ivy dependency management ?\n\n" + + "The configuration of the classpath containers will be lost.\n" + + "This operation cannot be undone."); + if (doRemove) { + for (IProject project : projects.keySet()) { + IvyNatureHelper.removeNature(project); } } - - if (projects.size() > 0) { - Shell shell = IvyPlugin.getActiveWorkbenchShell(); - boolean doRemove = MessageDialog.openQuestion(shell, - "Remove Ivy dependency management", - "Do you want to remove the Ivy dependency management ?\n\n" - + "The configuration of the classpath containers will be lost.\n" - + "This operation cannot be undone."); - if (doRemove) { - for (IProject project : projects) { - IvyNatureHelper.removeNature(project); - } - } - } - - return null; } }