enhance result objects deletion message
authorBruno Sinou <bsinou@argeo.org>
Wed, 7 Nov 2012 08:20:48 +0000 (08:20 +0000)
committerBruno Sinou <bsinou@argeo.org>
Wed, 7 Nov 2012 08:20:48 +0000 (08:20 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@5716 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/commands/DeleteResult.java

index b6ab1ea1d3357a05088db9a4d64a4dc97462e00f..012985c3afed763ed6eff9c1b3390c4175f99eb6 100644 (file)
@@ -26,6 +26,7 @@ import javax.jcr.Session;
 \r
 import org.argeo.eclipse.ui.ErrorFeedback;\r
 import org.argeo.slc.client.ui.model.ResultFolder;\r
+import org.argeo.slc.client.ui.model.ResultParent;\r
 import org.argeo.slc.client.ui.model.ResultParentUtils;\r
 import org.argeo.slc.client.ui.model.SingleResultNode;\r
 import org.eclipse.core.commands.AbstractHandler;\r
@@ -49,9 +50,29 @@ public class DeleteResult extends AbstractHandler {
                final ISelection selection = HandlerUtil\r
                                .getActiveWorkbenchWindow(event).getActivePage().getSelection();\r
 \r
-               if (!MessageDialog.openConfirm(HandlerUtil.getActiveShell(event),\r
-                               "Confirm",\r
-                               "Are you sure that you want to delete these results?"))\r
+               // confirmation\r
+               StringBuffer buf = new StringBuffer("");\r
+               Iterator<?> lst = ((IStructuredSelection) selection).iterator();\r
+               while (lst.hasNext()) {\r
+                       Object obj = lst.next();\r
+\r
+                       if (obj instanceof ResultParent) {\r
+                               ResultParent rp = ((ResultParent) obj);\r
+                               buf.append(rp.getName()).append(", ");\r
+                       }\r
+\r
+               }\r
+\r
+               String msg = "Nothing to delete";\r
+               // remove last separator\r
+               if (buf.lastIndexOf(", ") > -1) {\r
+                       msg = "Do you want to delete following objects: "\r
+                                       + buf.substring(0, buf.lastIndexOf(", ")) + "?";\r
+               }\r
+               Boolean ok = MessageDialog.openConfirm(\r
+                               HandlerUtil.getActiveShell(event), "Confirm deletion", msg);\r
+\r
+               if (!ok)\r
                        return null;\r
 \r
                Job job = new Job("Delete results") {\r