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 Lalevée <nicolas.lale...@hibnet.org>
Authored: Mon Jul 16 11:16:22 2018 +0200
Committer: Nicolas Lalevé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;
     }
 }

Reply via email to