Bug 44986 - Support for Breakpoint groups
diff --git a/org.eclipse.debug.ui/plugin.xml b/org.eclipse.debug.ui/plugin.xml
index 4019403..a83f64c 100644
--- a/org.eclipse.debug.ui/plugin.xml
+++ b/org.eclipse.debug.ui/plugin.xml
@@ -667,7 +667,7 @@
          <action
                id="org.eclipse.debug.ui.breakpointsView.toolbar.setDefaultBreakpointGroup"
                menubarPath="defaultBreakpointGroup"
-               class="org.eclipse.debug.internal.ui.actions.SetDefaultBreakpointGroupAction"
+               class="org.eclipse.debug.internal.ui.actions.breakpointGroups.SetDefaultBreakpointGroupAction"
                icon="icons/full/obj16/breakpoint_group.gif"
                helpContextId="set_default_breakpoint_group_action_context"
                label="Set Default Group..."
@@ -676,7 +676,7 @@
          <action
                id="org.eclipse.debug.ui.breakpointsView.toolbar.clearDefaultBreakpointGroup"
                menubarPath="defaultBreakpointGroup"
-               class="org.eclipse.debug.internal.ui.actions.ClearDefaultBreakpointGroupAction"
+               class="org.eclipse.debug.internal.ui.actions.breakpointGroups.ClearDefaultBreakpointGroupAction"
                helpContextId="clear_default_breakpoint_group_action_context"
                label="Clear Default Group"
                tooltip="Clear Default Breakpoint Group">
@@ -1015,7 +1015,7 @@
                label="%SelectAll.label"
                helpContextId="select_all_breakpoints_action_context"
                class="org.eclipse.debug.internal.ui.actions.SelectAllBreakpointsAction"
-               menubarPath="breakpointNoSelectionGroup"
+               menubarPath="breakpointSelectGroup"
                id="org.eclipse.debug.ui.actions.SelectAllBreakpointsAction">
          </action>
          <action
@@ -1023,7 +1023,7 @@
                icon="icons/full/elcl16/rem_all_co.gif"
                helpContextId="remove_all_breakpoints_action_context"
                class="org.eclipse.debug.internal.ui.actions.RemoveAllBreakpointsAction"
-               menubarPath="breakpointNoSelectionGroup"
+               menubarPath="breakpointRemoveGroup"
                id="org.eclipse.debug.ui.actions.RemoveAllBreakpoints">
          </action>
       </viewerContribution>
@@ -1037,11 +1037,25 @@
             </objectClass>
          </visibility>
          <action
+               label="Select By Type"
+               helpContextId="select_breakpoints_by_type_action_context"
+               class="org.eclipse.debug.internal.ui.actions.breakpointGroups.SelectBreakpointsByTypeAction"
+               menubarPath="breakpointSelectGroup"
+               id="org.eclipse.debug.ui.actions.SelectBreakpointsByType">
+         </action>
+         <action
+               label="Select By File"
+               helpContextId="select_breakpoints_by_file_action_context"
+               class="org.eclipse.debug.internal.ui.actions.breakpointGroups.SelectBreakpointsByResourceAction"
+               menubarPath="breakpointSelectGroup"
+               id="org.eclipse.debug.ui.actions.SelectBreakpointsByFile">
+         </action>
+         <action
                label="%RemoveAction.label"
                icon="icons/full/elcl16/rem_co.gif"
                helpContextId="remove_breakpoint_action_context"
                class="org.eclipse.debug.internal.ui.actions.RemoveBreakpointAction"
-               menubarPath="breakpointNoSelectionGroup"
+               menubarPath="breakpointRemoveGroup"
                id="org.eclipse.debug.ui.actions.RemoveBreakpoint">
          </action>
          <action
@@ -1066,11 +1080,20 @@
                label="Add To Group"
                icon="icons/full/obj16/breakpoint_group.gif"
                helpContextId="add_breakpoint_to_group_action_context"
-               class="org.eclipse.debug.internal.ui.actions.AddBreakpointToGroupAction"
+               class="org.eclipse.debug.internal.ui.actions.breakpointGroups.AddBreakpointToGroupAction"
                menubarPath="breakpointGroup"
                enablesFor="1+"
                id="org.eclipse.debug.ui.actions.AddBreakpointToGroup">
          </action>
+         <action
+               label="Remove From Group"
+               icon="icons/full/elcl16/dissolve_group.gif"
+               helpContextId="remove_breakpoint_from_group_action_context"
+               class="org.eclipse.debug.internal.ui.actions.breakpointGroups.RemoveBreakpointFromGroupAction"
+               menubarPath="breakpointGroup"
+               enablesFor="1+"
+               id="org.eclipse.debug.ui.actions.RemoveBreakpointFromGroup">
+         </action>
       </viewerContribution>
       <!-- Breakpoint group actions -->
       <viewerContribution
@@ -1084,7 +1107,7 @@
          <action
                label="Rename Group"
                helpContextId="rename_breakpoint_group_action_context"
-               class="org.eclipse.debug.internal.ui.actions.RenameBreakpointGroupAction"
+               class="org.eclipse.debug.internal.ui.actions.breakpointGroups.RenameBreakpointGroupAction"
                menubarPath="breakpointGroupGroup"
                enablesFor="1+"
                id="org.eclipse.debug.ui.actions.RenameBreakpointGroup">
@@ -1093,7 +1116,7 @@
                label="Dissolve Group"
                icon="icons/full/elcl16/dissolve_group.gif"
                helpContextId="dissolve_breakpoint_group_action_context"
-               class="org.eclipse.debug.internal.ui.actions.DissolveBreakpointGroupAction"
+               class="org.eclipse.debug.internal.ui.actions.breakpointGroups.DissolveBreakpointGroupAction"
                menubarPath="breakpointGroupGroup"
                enablesFor="1+"
                id="org.eclipse.debug.ui.actions.DissolveBreakpointGroup">
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractBreakpointGroupAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AbstractBreakpointGroupAction.java
similarity index 96%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractBreakpointGroupAction.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AbstractBreakpointGroupAction.java
index 50c2bd0..b19b4b5 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractBreakpointGroupAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AbstractBreakpointGroupAction.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial implementation
  *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
+package org.eclipse.debug.internal.ui.actions.breakpointGroups;
 
 import java.util.Iterator;
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractBreakpointsViewAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AbstractBreakpointsViewAction.java
similarity index 72%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractBreakpointsViewAction.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AbstractBreakpointsViewAction.java
index 2dc18e4..00e908f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AbstractBreakpointsViewAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AbstractBreakpointsViewAction.java
@@ -8,9 +8,11 @@
  * Contributors:
  *     IBM Corporation - initial implementation
  *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
+package org.eclipse.debug.internal.ui.actions.breakpointGroups;
 
 import org.eclipse.debug.internal.ui.views.breakpoints.BreakpointsView;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.ui.IViewActionDelegate;
 import org.eclipse.ui.IViewPart;
 
@@ -27,5 +29,11 @@
     public void init(IViewPart view) {
         fView= (BreakpointsView) view;
     }
+    
+    /* (non-Javadoc)
+	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
+	 */
+	public void selectionChanged(IAction action, ISelection selection) {
+	}
 
 }
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AbstractSelectBreakpointsAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AbstractSelectBreakpointsAction.java
new file mode 100644
index 0000000..e96bab6
--- /dev/null
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AbstractSelectBreakpointsAction.java
@@ -0,0 +1,83 @@
+/*******************************************************************************
+ * Copyright (c) 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials 
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial implementation
+ *******************************************************************************/
+package org.eclipse.debug.internal.ui.actions.breakpointGroups;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.debug.core.DebugPlugin;
+import org.eclipse.debug.core.model.IBreakpoint;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+
+/**
+ * 
+ */
+public abstract class AbstractSelectBreakpointsAction extends AbstractBreakpointsViewAction {
+
+    private IBreakpoint[] fBreakpoints= new IBreakpoint[0];
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
+	 */
+	public void run(IAction action) {
+	    if (fBreakpoints.length < 1) {
+	        return;
+	    }
+	    List elementsToSelect= chooseSimilarBreakpoints();
+	    if (elementsToSelect.size() > 0) {
+	        IStructuredSelection selection= new StructuredSelection(elementsToSelect);
+	        fView.getViewer().setSelection(selection, true);
+	    }
+	}
+	
+	public abstract boolean breakpointsMatch(IBreakpoint breakpointOne, IBreakpoint breakpointTwo);
+
+    /* (non-Javadoc)
+     * @see org.eclipse.debug.internal.ui.actions.breakpointGroups.AbstractSelectBreakpointsAction#getElementsToSelect(java.lang.Object[])
+     */
+    public List chooseSimilarBreakpoints() {
+        Set breakpointsToSelect= new HashSet();
+        IBreakpoint[] breakpoints = DebugPlugin.getDefault().getBreakpointManager().getBreakpoints();
+        for (int i = 0; i < fBreakpoints.length; i++) {
+            IBreakpoint selected = fBreakpoints[i];
+            for (int j = 0; j < breakpoints.length; j++) {
+                IBreakpoint breakpoint = breakpoints[j];
+                if (breakpointsMatch(selected, breakpoint)) {
+                    breakpointsToSelect.add(breakpoint);
+                }
+            }
+        }
+        return new ArrayList(breakpointsToSelect);
+    }
+    
+    public void selectionChanged(IAction action, ISelection selection) {
+        List selectedBreakpoints= new ArrayList();
+        Iterator iter = ((IStructuredSelection) selection).iterator();
+        while (iter.hasNext()) {
+            Object element = iter.next();
+            if (element instanceof IBreakpoint) {
+                selectedBreakpoints.add(element);
+            } else {
+                selectedBreakpoints.clear();
+                break;
+            }
+        }
+        fBreakpoints= (IBreakpoint[]) selectedBreakpoints.toArray(new IBreakpoint[0]);
+        action.setEnabled(fBreakpoints.length > 0);
+    }
+
+}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AddBreakpointToGroupAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AddBreakpointToGroupAction.java
similarity index 98%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AddBreakpointToGroupAction.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AddBreakpointToGroupAction.java
index 158b622..c4d5a42 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/AddBreakpointToGroupAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/AddBreakpointToGroupAction.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial implementation
  *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
+package org.eclipse.debug.internal.ui.actions.breakpointGroups;
 
 import java.util.Iterator;
 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ClearDefaultBreakpointGroupAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/ClearDefaultBreakpointGroupAction.java
similarity index 94%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ClearDefaultBreakpointGroupAction.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/ClearDefaultBreakpointGroupAction.java
index 047e92c..bfad32a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/ClearDefaultBreakpointGroupAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/ClearDefaultBreakpointGroupAction.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial implementation
  *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
+package org.eclipse.debug.internal.ui.actions.breakpointGroups;
 
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.viewers.ISelection;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DissolveBreakpointGroupAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/DissolveBreakpointGroupAction.java
similarity index 95%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DissolveBreakpointGroupAction.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/DissolveBreakpointGroupAction.java
index 6e0fd37..1ebc9fa 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/DissolveBreakpointGroupAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/DissolveBreakpointGroupAction.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial implementation
  *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
+package org.eclipse.debug.internal.ui.actions.breakpointGroups;
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.debug.core.model.IBreakpoint;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/RemoveBreakpointFromGroupAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/RemoveBreakpointFromGroupAction.java
new file mode 100644
index 0000000..5b97b16
--- /dev/null
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/RemoveBreakpointFromGroupAction.java
@@ -0,0 +1,57 @@
+/*******************************************************************************
+ * Copyright (c) 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials 
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial implementation
+ *******************************************************************************/
+package org.eclipse.debug.internal.ui.actions.breakpointGroups;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.model.IBreakpoint;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+
+/**
+ * 
+ */
+public class RemoveBreakpointFromGroupAction extends AbstractBreakpointsViewAction {
+    
+    private IBreakpoint[] fBreakpoints= new IBreakpoint[0];
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
+     */
+    public void run(IAction action) {
+        for (int i = 0; i < fBreakpoints.length; i++) {
+            try {
+                fBreakpoints[i].setGroup(null);
+            } catch (CoreException e) {
+            }
+        }
+    }
+
+    public void selectionChanged(IAction action, ISelection selection) {
+        List selectedBreakpoints= new ArrayList();
+        Iterator iter = ((IStructuredSelection) selection).iterator();
+        while (iter.hasNext()) {
+            Object element = iter.next();
+            if (element instanceof IBreakpoint) {
+                selectedBreakpoints.add(element);
+            } else {
+                selectedBreakpoints.clear();
+                break;
+            }
+        }
+        fBreakpoints= (IBreakpoint[]) selectedBreakpoints.toArray(new IBreakpoint[0]);
+        action.setEnabled(fBreakpoints.length > 0);
+    }
+}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RenameBreakpointGroupAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/RenameBreakpointGroupAction.java
similarity index 95%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RenameBreakpointGroupAction.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/RenameBreakpointGroupAction.java
index 581f8f0..e5e9a99 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/RenameBreakpointGroupAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/RenameBreakpointGroupAction.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial implementation
  *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
+package org.eclipse.debug.internal.ui.actions.breakpointGroups;
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.debug.core.model.IBreakpoint;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/SelectBreakpointsByResourceAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/SelectBreakpointsByResourceAction.java
new file mode 100644
index 0000000..32c3384
--- /dev/null
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/SelectBreakpointsByResourceAction.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials 
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial implementation
+ *******************************************************************************/
+package org.eclipse.debug.internal.ui.actions.breakpointGroups;
+
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.debug.core.model.IBreakpoint;
+
+/**
+ * 
+ */
+public class SelectBreakpointsByResourceAction extends AbstractSelectBreakpointsAction {
+
+    /* (non-Javadoc)
+     * @see org.eclipse.debug.internal.ui.actions.breakpointGroups.AbstractSelectBreakpointsAction#breakpointsMatch(org.eclipse.debug.core.model.IBreakpoint, org.eclipse.debug.core.model.IBreakpoint)
+     */
+    public boolean breakpointsMatch(IBreakpoint breakpointOne, IBreakpoint breakpointTwo) {
+        IMarker markerOne = breakpointOne.getMarker();
+        IMarker markerTwo = breakpointTwo.getMarker();
+        if (markerOne != null && markerTwo != null) {
+            return markerOne.getResource().equals(markerTwo.getResource()); 
+        }
+        return false;
+    }
+
+}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/SelectBreakpointsByTypeAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/SelectBreakpointsByTypeAction.java
new file mode 100644
index 0000000..d76c2da
--- /dev/null
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/SelectBreakpointsByTypeAction.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials 
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial implementation
+ *******************************************************************************/
+package org.eclipse.debug.internal.ui.actions.breakpointGroups;
+
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.model.IBreakpoint;
+
+/**
+ * 
+ */
+public class SelectBreakpointsByTypeAction extends AbstractSelectBreakpointsAction {
+
+    /* (non-Javadoc)
+     * @see org.eclipse.debug.internal.ui.actions.breakpointGroups.AbstractSelectBreakpointsAction#breakpointsMatch(org.eclipse.debug.core.model.IBreakpoint, org.eclipse.debug.core.model.IBreakpoint)
+     */
+    public boolean breakpointsMatch(IBreakpoint breakpointOne, IBreakpoint breakpointTwo) {
+        IMarker markerOne = breakpointOne.getMarker();
+        IMarker markerTwo = breakpointTwo.getMarker();
+        if (markerOne != null && markerTwo != null) {
+            try {
+                return markerOne.getType().equals(markerTwo.getType()); 
+            } catch (CoreException e1) {
+            }
+        }
+        return false;
+    }
+
+
+
+}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SetDefaultBreakpointGroupAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/SetDefaultBreakpointGroupAction.java
similarity index 98%
rename from org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SetDefaultBreakpointGroupAction.java
rename to org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/SetDefaultBreakpointGroupAction.java
index 9797f6a..ebf6fde 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/SetDefaultBreakpointGroupAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/actions/breakpointGroups/SetDefaultBreakpointGroupAction.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial implementation
  *******************************************************************************/
-package org.eclipse.debug.internal.ui.actions;
+package org.eclipse.debug.internal.ui.actions.breakpointGroups;
 
 import java.util.ArrayList;
 import java.util.List;