Skip to content

Commit 92cc3dc

Browse files
committed
Code cleanup after review
See #660
1 parent f1ee05e commit 92cc3dc

File tree

7 files changed

+81
-294
lines changed

7 files changed

+81
-294
lines changed

org.eclipse.jdt.debug.ui/plugin.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -349,5 +349,5 @@ CompareObjects.tooltip=Compare selected objects
349349

350350
ToggleTriggerpointAction.label=Toggle Triggerpoint
351351
ToggleTriggerpointCommand.description=Creates or removes a triggerpoint
352-
ToggleHitpointAction.label=Toggle Hit Breakpoint
353-
ToggleHitpointCommand.description=Creates or removes a hitcount
352+
ToggleHitpointAction.label=Toggle Breakpoint with Hit Count
353+
ToggleHitpointCommand.description=Creates or removes a breakpoint with hit count

org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/BreakpointToggleUtils.java

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -24,30 +24,26 @@
2424
*/
2525
public class BreakpointToggleUtils {
2626

27-
private static boolean isTracepoint = false;
28-
private static boolean isLambdaEntryBreakpoint = false;
29-
private static boolean isTriggerpoint = false;
30-
private static boolean isHitPoint = false;
27+
private static boolean isTracepoint;
28+
private static boolean isLambdaEntryBreakpoint;
29+
private static boolean isTriggerpoint;
30+
private static boolean isHitPoint;
31+
private static int hitCount;
3132

32-
private static int hitCount = 0;
33-
34-
35-
public static void setUnsetTracepoints(boolean tracePoint) {
33+
public static void setUnsetTracepoint(boolean tracePoint) {
3634
isTracepoint = tracePoint;
3735
}
3836

39-
public static boolean isToggleTracepoints() {
37+
public static boolean isToggleTracepoint() {
4038
return isTracepoint;
4139
}
4240

43-
public static void setTriggerpoints(boolean triggerPoint) {
41+
public static void setTriggerpoint(boolean triggerPoint) {
4442
isTriggerpoint = triggerPoint;
45-
4643
}
4744

48-
public static boolean isTriggerpoints() {
45+
public static boolean isTriggerpoint() {
4946
return isTriggerpoint;
50-
5147
}
5248

5349
public static void setUnsetLambdaEntryBreakpoint(boolean lambdaEntryBreakpoint) {
@@ -58,30 +54,23 @@ public static boolean isToggleLambdaEntryBreakpoint() {
5854
return isLambdaEntryBreakpoint;
5955
}
6056

61-
public static void setHitpoints(boolean hitcount) {
57+
public static void setHitpoint(boolean hitcount) {
6258
isHitPoint = hitcount;
63-
6459
if (!hitcount) {
65-
6660
setHitCount(0);
67-
6861
}
69-
7062
}
7163

7264
public static boolean isHitpoint() {
7365
return isHitPoint;
74-
7566
}
7667

7768
public static void setHitCount(int hit) {
7869
hitCount = hit;
79-
8070
}
8171

8272
public static int getHitCount() {
8373
return hitCount;
84-
8574
}
8675

8776
/**
@@ -109,4 +98,3 @@ public void run() {
10998
}
11099

111100
}
112-

org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/RetargetToggleTracepointAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public class RetargetToggleTracepointAction extends RetargetToggleBreakpointActi
3333
*/
3434
@Override
3535
protected void performAction(Object target, ISelection selection, IWorkbenchPart part) throws CoreException {
36-
BreakpointToggleUtils.setUnsetTracepoints(true);
36+
BreakpointToggleUtils.setUnsetTracepoint(true);
3737
super.performAction(target, selection, part);
3838
}
3939

org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/RulerToggleHitBreakpointActionDelegate.java

Lines changed: 9 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -13,122 +13,28 @@
1313
*******************************************************************************/
1414
package org.eclipse.jdt.internal.debug.ui.actions;
1515

16-
import org.eclipse.core.runtime.CoreException;
17-
import org.eclipse.debug.internal.ui.DebugUIPlugin;
1816
import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;
1917
import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
20-
import org.eclipse.jface.action.Action;
21-
import org.eclipse.jface.action.IAction;
2218
import org.eclipse.jface.dialogs.IInputValidator;
2319
import org.eclipse.jface.dialogs.InputDialog;
24-
import org.eclipse.jface.text.BadLocationException;
25-
import org.eclipse.jface.text.IDocument;
26-
import org.eclipse.jface.text.IRegion;
2720
import org.eclipse.jface.text.ITextSelection;
28-
import org.eclipse.jface.text.TextSelection;
29-
import org.eclipse.jface.text.source.IVerticalRulerInfo;
30-
import org.eclipse.jface.viewers.ISelection;
31-
import org.eclipse.jface.viewers.ISelectionProvider;
3221
import org.eclipse.jface.window.Window;
33-
import org.eclipse.swt.widgets.Event;
3422
import org.eclipse.swt.widgets.Shell;
35-
import org.eclipse.ui.IActionDelegate2;
36-
import org.eclipse.ui.IEditorPart;
37-
import org.eclipse.ui.texteditor.AbstractRulerActionDelegate;
38-
import org.eclipse.ui.texteditor.IDocumentProvider;
3923
import org.eclipse.ui.texteditor.ITextEditor;
4024

41-
public class RulerToggleHitBreakpointActionDelegate extends AbstractRulerActionDelegate implements IActionDelegate2 {
42-
43-
private IEditorPart currentEditor;
44-
private IAction dummyAction;
45-
46-
@Override
47-
protected IAction createAction(ITextEditor editor, IVerticalRulerInfo rulerInfo) {
48-
dummyAction = new Action() {
49-
};
50-
return dummyAction;
51-
}
25+
public class RulerToggleHitBreakpointActionDelegate extends AbstractRulerToggleBreakpointActionDelegate {
5226

5327
@Override
54-
public void setActiveEditor(IAction callerAction, IEditorPart targetEditor) {
55-
currentEditor = targetEditor;
56-
}
57-
58-
@Override
59-
public void init(IAction action) {
60-
}
61-
62-
@Override
63-
public void dispose() {
64-
currentEditor = null;
65-
dummyAction = null;
66-
super.dispose();
67-
}
68-
69-
@Override
70-
public void runWithEvent(IAction action, Event event) {
71-
if (!(currentEditor instanceof ITextEditor)) {
72-
return;
73-
}
74-
IVerticalRulerInfo rulerInfo = currentEditor.getAdapter(IVerticalRulerInfo.class);
75-
if (rulerInfo == null) {
76-
return;
77-
}
78-
int lineOfLastMouseButtonActivity = rulerInfo.getLineOfLastMouseButtonActivity();
79-
if (lineOfLastMouseButtonActivity < 0) {
80-
return;
81-
}
82-
IDocument document = getDocument((ITextEditor) currentEditor);
83-
if (document == null) {
84-
return;
85-
}
86-
ToggleBreakpointAdapter toggle = new ToggleBreakpointAdapter();
87-
try {
88-
ITextSelection selection = getTextSelection(currentEditor, document, lineOfLastMouseButtonActivity);
89-
if (toggle.canToggleLineBreakpoints(currentEditor, selection)) {
90-
IJavaLineBreakpoint jlp = ToggleBreakpointAdapter.findExistingBreakpoint((ITextEditor) currentEditor, selection);
91-
if (jlp == null) {
92-
hitCountDialog();
93-
94-
if (BreakpointToggleUtils.getHitCount() < 2) {
95-
96-
return;
97-
98-
}
99-
}
100-
BreakpointToggleUtils.setHitpoints(true);
101-
toggle.toggleBreakpoints(currentEditor, selection);
102-
}
103-
} catch (BadLocationException | CoreException e) {
104-
DebugUIPlugin.log(e);
105-
}
106-
}
107-
108-
private static IDocument getDocument(ITextEditor editor) {
109-
IDocumentProvider provider = editor.getDocumentProvider();
110-
if (provider != null) {
111-
return provider.getDocument(editor.getEditorInput());
112-
}
113-
IDocument doc = editor.getAdapter(IDocument.class);
114-
if (doc != null) {
115-
return doc;
116-
}
117-
return null;
118-
}
119-
120-
private static ITextSelection getTextSelection(IEditorPart editor, IDocument document, int line) throws BadLocationException {
121-
IRegion region = document.getLineInformation(line);
122-
ITextSelection textSelection = new TextSelection(document, region.getOffset(), 0);
123-
ISelectionProvider provider = editor.getSite().getSelectionProvider();
124-
if (provider != null) {
125-
ISelection selection = provider.getSelection();
126-
if (selection instanceof ITextSelection && ((ITextSelection) selection).getStartLine() <= line
127-
&& ((ITextSelection) selection).getEndLine() >= line) {
128-
textSelection = (ITextSelection) selection;
28+
protected boolean doWork(ITextEditor editor, ITextSelection selection) {
29+
IJavaLineBreakpoint jlp = ToggleBreakpointAdapter.findExistingBreakpoint(currentEditor, selection);
30+
if (jlp == null) {
31+
hitCountDialog();
32+
if (BreakpointToggleUtils.getHitCount() < 1) {
33+
return false;
12934
}
13035
}
131-
return textSelection;
36+
BreakpointToggleUtils.setHitpoint(true);
37+
return true;
13238
}
13339

13440
private void hitCountDialog() {

org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/RulerToggleTracepointActionDelegate.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public class RulerToggleTracepointActionDelegate extends AbstractRulerToggleBrea
2020

2121
@Override
2222
protected boolean doWork(ITextEditor editor, ITextSelection selection) {
23-
BreakpointToggleUtils.setUnsetTracepoints(true);
23+
BreakpointToggleUtils.setUnsetTracepoint(true);
2424
return true;
2525
}
2626
}

org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/RulerToggleTriggerBreakpointActionDelegate.java

Lines changed: 4 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -13,105 +13,14 @@
1313
*******************************************************************************/
1414
package org.eclipse.jdt.internal.debug.ui.actions;
1515

16-
import org.eclipse.core.runtime.CoreException;
17-
import org.eclipse.debug.internal.ui.DebugUIPlugin;
18-
import org.eclipse.jface.action.Action;
19-
import org.eclipse.jface.action.IAction;
20-
import org.eclipse.jface.text.BadLocationException;
21-
import org.eclipse.jface.text.IDocument;
22-
import org.eclipse.jface.text.IRegion;
2316
import org.eclipse.jface.text.ITextSelection;
24-
import org.eclipse.jface.text.TextSelection;
25-
import org.eclipse.jface.text.source.IVerticalRulerInfo;
26-
import org.eclipse.jface.viewers.ISelection;
27-
import org.eclipse.jface.viewers.ISelectionProvider;
28-
import org.eclipse.swt.widgets.Event;
29-
import org.eclipse.ui.IActionDelegate2;
30-
import org.eclipse.ui.IEditorPart;
31-
import org.eclipse.ui.texteditor.AbstractRulerActionDelegate;
32-
import org.eclipse.ui.texteditor.IDocumentProvider;
3317
import org.eclipse.ui.texteditor.ITextEditor;
3418

35-
public class RulerToggleTriggerBreakpointActionDelegate extends AbstractRulerActionDelegate implements IActionDelegate2 {
36-
37-
private IEditorPart currentEditor;
38-
private IAction dummyAction;
19+
public class RulerToggleTriggerBreakpointActionDelegate extends AbstractRulerToggleBreakpointActionDelegate {
3920

4021
@Override
41-
protected IAction createAction(ITextEditor editor, IVerticalRulerInfo rulerInfo) {
42-
dummyAction = new Action() {
43-
};
44-
return dummyAction;
45-
}
46-
47-
@Override
48-
public void setActiveEditor(IAction callerAction, IEditorPart targetEditor) {
49-
currentEditor = targetEditor;
50-
}
51-
52-
@Override
53-
public void init(IAction action) {
54-
}
55-
56-
@Override
57-
public void dispose() {
58-
currentEditor = null;
59-
dummyAction = null;
60-
super.dispose();
61-
}
62-
63-
@Override
64-
public void runWithEvent(IAction action, Event event) {
65-
if (!(currentEditor instanceof ITextEditor)) {
66-
return;
67-
}
68-
IVerticalRulerInfo rulerInfo = currentEditor.getAdapter(IVerticalRulerInfo.class);
69-
if (rulerInfo == null) {
70-
return;
71-
}
72-
int lineOfLastMouseButtonActivity = rulerInfo.getLineOfLastMouseButtonActivity();
73-
if (lineOfLastMouseButtonActivity < 0) {
74-
return;
75-
}
76-
IDocument document = getDocument((ITextEditor) currentEditor);
77-
if (document == null) {
78-
return;
79-
}
80-
ToggleBreakpointAdapter toggle = new ToggleBreakpointAdapter();
81-
try {
82-
ITextSelection selection = getTextSelection(currentEditor, document, lineOfLastMouseButtonActivity);
83-
if (toggle.canToggleLineBreakpoints(currentEditor, selection)) {
84-
BreakpointToggleUtils.setTriggerpoints(true);
85-
toggle.toggleBreakpoints(currentEditor, selection);
86-
}
87-
} catch (BadLocationException | CoreException e) {
88-
DebugUIPlugin.log(e);
89-
}
90-
}
91-
92-
private static IDocument getDocument(ITextEditor editor) {
93-
IDocumentProvider provider = editor.getDocumentProvider();
94-
if (provider != null) {
95-
return provider.getDocument(editor.getEditorInput());
96-
}
97-
IDocument doc = editor.getAdapter(IDocument.class);
98-
if (doc != null) {
99-
return doc;
100-
}
101-
return null;
102-
}
103-
104-
private static ITextSelection getTextSelection(IEditorPart editor, IDocument document, int line) throws BadLocationException {
105-
IRegion region = document.getLineInformation(line);
106-
ITextSelection textSelection = new TextSelection(document, region.getOffset(), 0);
107-
ISelectionProvider provider = editor.getSite().getSelectionProvider();
108-
if (provider != null) {
109-
ISelection selection = provider.getSelection();
110-
if (selection instanceof ITextSelection && ((ITextSelection) selection).getStartLine() <= line
111-
&& ((ITextSelection) selection).getEndLine() >= line) {
112-
textSelection = (ITextSelection) selection;
113-
}
114-
}
115-
return textSelection;
22+
protected boolean doWork(ITextEditor editor, ITextSelection selection) {
23+
BreakpointToggleUtils.setTriggerpoint(true);
24+
return true;
11625
}
11726
}

0 commit comments

Comments
 (0)