Bug 501333 - Trigger Points -- remove "Active Trigger" state
Change-Id: I533652d802fac7de2db1ea8a98893cc02fbeca4e
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java
index e232732..d4ea086 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java
@@ -334,11 +334,12 @@
/**
* Revisit all the trigger points to activate/deactivate trigger points.
*
- * @param triggerointList list of trigger points to be deactivated or
+ * @param triggerpoints list of trigger points to be deactivated or
* <code>null<code> to deactivate all trigger points
+ * @param enable enable if <code>true</code> or disable if <code>false</code>
* @since 3.11
*/
- public default void deActivateTriggerpoints(IBreakpoint[] triggerointList) {
+ public default void enableTriggerpoints(IBreakpoint[] triggerpoints, boolean enable) {
}
/**
@@ -347,7 +348,6 @@
* @since 3.11
*/
public default void refreshTriggerpointDisplay() {
-
}
}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java
index aee0df9..0d23220 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java
@@ -55,17 +55,6 @@
private static final String TRIGGEREPOINT = "org.eclipse.debug.core.triggerpoint"; //$NON-NLS-1$
/**
- * Persisted breakpoint marker attribute (value
- * <code>"org.eclipse.debug.core.triggerpointactive"</code>). The attribute
- * is a <code>boolean</code> corresponding to whether the trigger breakpoint
- * is active or not.
- *
- * @see org.eclipse.core.resources.IMarker#getAttribute(String, boolean)
- * @since 3.11
- */
- private static final String TRIGGEREPOINTACTIVE = "org.eclipse.debug.core.triggerpointactive"; //$NON-NLS-1$
-
- /**
* Creates a breakpoint.
*
* @since 3.8
@@ -115,6 +104,9 @@
public void setEnabled(boolean enabled) throws CoreException {
if (enabled != isEnabled()) {
setAttribute(ENABLED, enabled);
+ if (isTriggerPoint()) {
+ DebugPlugin.getDefault().getBreakpointManager().refreshTriggerpointDisplay();
+ }
}
}
@@ -214,26 +206,6 @@
}
/**
- * @see IBreakpoint#isTriggerPointActive()
- * @since 3.11
- */
- @Override
- public boolean isTriggerPointActive() throws CoreException {
- return getMarker().getAttribute(TRIGGEREPOINTACTIVE, false);
- }
-
- /**
- * @see IBreakpoint#setTriggerPointActive(boolean)
- * @since 3.11
- */
- @Override
- public void setTriggerPointActive(boolean triggerPointActive) throws CoreException {
- if (isTriggerPointActive() != triggerPointActive) {
- setAttribute(TRIGGEREPOINTACTIVE, triggerPointActive);
- }
- }
-
- /**
* Convenience method to set the given boolean attribute of this
* breakpoint's underlying marker in a workspace runnable. Setting marker
* attributes in a workspace runnable prevents deadlock.
@@ -429,11 +401,4 @@
}
}
- /**
- * @since 3.11
- */
- protected static String getTriggerActivePropertyString() {
- return TRIGGEREPOINTACTIVE;
- }
-
}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java
index c59601c..cb3523e 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java
@@ -244,33 +244,6 @@
public default void setTriggerPoint(boolean trigger) throws CoreException {
}
- /**
- * Sets if the breakpoint is a trigger point and is active. If trigger point
- * is active <code>TRIGGERPOINTACTIVE</code> attribute on this breakpoint's
- * marker is set to <code>true</code>.
- *
- * @param active whether this breakpoint is to be treated as trigger point
- * for the workspace
- * @exception CoreException if unable to set the associated attribute on
- * this breakpoint's underlying marker.
- * @since 3.11
- */
- public default void setTriggerPointActive(boolean active) throws CoreException {
- }
-
- /**
- * Returns whether this breakpoint is a trigger point and is active.
- *
- * @return whether this breakpoint is a trigger point and it is active
- * @exception CoreException if unable to access the associated attribute on
- * this breakpoint's underlying marker
- * @since 3.11
- */
- public default boolean isTriggerPointActive() throws CoreException {
- return false;
- }
-
-
}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java
index e073dfc..94c8fd6 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java
@@ -1403,7 +1403,6 @@
IBreakpoint[] triggerPointBreakpointList = fTriggerPointBreakpointList.toArray(new IBreakpoint[0]);
for (IBreakpoint iBreakpoint : triggerPointBreakpointList) {
iBreakpoint.setTriggerPoint(false);
- iBreakpoint.setTriggerPointActive(false);
}
refreshTriggerpointDisplay();
}
@@ -1415,7 +1414,7 @@
}
for (IBreakpoint iBreakpoint : fTriggerPointBreakpointList) {
try {
- if (iBreakpoint.isTriggerPointActive()) {
+ if (iBreakpoint.isEnabled()) {
return false;
}
} catch (CoreException e) {
@@ -1425,27 +1424,22 @@
return true;
}
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.IBreakpointManager#revisitTriggerpoints()
- * This version of implementation deactivate all the active trigger points
- */
@Override
- public void deActivateTriggerpoints(IBreakpoint[] triggerointList) {
- if (triggerointList == null) {
- triggerointList = fTriggerPointBreakpointList.toArray(new IBreakpoint[0]);
+ public void enableTriggerpoints(IBreakpoint[] triggerpoints, boolean enable) {
+ IBreakpoint[] triggerpointList = triggerpoints;
+ if (triggerpoints == null) {
+ triggerpointList = fTriggerPointBreakpointList.toArray(new IBreakpoint[0]);
}
- for (IBreakpoint iBreakpoint : triggerointList) {
+ for (IBreakpoint iBreakpoint : triggerpointList) {
try {
- if (iBreakpoint.isTriggerPointActive()) {
- iBreakpoint.setTriggerPointActive(false);
+ IMarker m = iBreakpoint.getMarker();
+ if (m != null && m.exists()) {
+ iBreakpoint.setEnabled(enable);
}
} catch (CoreException e) {
e.printStackTrace();
}
}
- refreshTriggerpointDisplay();
}
@Override