Make the action 'Remove Ivy dependency management' work on a container too
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;
}
}