[#1472] Add a Settings.executeDebugging property, and move
server-side Console logic to core - Removed Debugger.modifyBreakpoint(). It does the same as Debugger.addBreakpoint()
This commit is contained in:
parent
a31e00dad1
commit
09f49a08c2
@ -374,22 +374,22 @@ public class DebuggerPane extends JPanel {
|
||||
Breakpoint breakpoint = new Breakpoint(nextID++, null, null, true, null, null, null);
|
||||
CheckBoxNode breakpointNode = new CheckBoxNode(breakpoint, name, true);
|
||||
rootNode.add(breakpointNode);
|
||||
breakpointTreeModel.nodesWereInserted(rootNode, new int[] {rootNode.getIndex(breakpointNode)});
|
||||
breakpointTreeModel.nodesWereInserted(rootNode, new int[] { rootNode.getIndex(breakpointNode) });
|
||||
breakpointTree.expandPath(new TreePath(rootNode));
|
||||
debugger.addBreakpoint(breakpoint);
|
||||
DebuggerPane.this.debugger.setBreakpointHitHandler(breakpointHitHandler);
|
||||
breakpointTree.setSelectionPath(new TreePath(new Object[] {rootNode, breakpointNode}));
|
||||
breakpointTree.setSelectionPath(new TreePath(new Object[] { rootNode, breakpointNode }));
|
||||
}
|
||||
|
||||
void modifyBreakpoint(Breakpoint breakpoint) {
|
||||
int childCount = rootNode.getChildCount();
|
||||
for(int i=0; i<childCount; i++) {
|
||||
CheckBoxNode checkBoxNode = (CheckBoxNode)rootNode.getChildAt(i);
|
||||
Breakpoint breakpoint_ = (Breakpoint)checkBoxNode.getUserObject();
|
||||
if(breakpoint_.getID() == breakpoint.getID()) {
|
||||
for (int i = 0; i < childCount; i++) {
|
||||
CheckBoxNode checkBoxNode = (CheckBoxNode) rootNode.getChildAt(i);
|
||||
Breakpoint b = (Breakpoint) checkBoxNode.getUserObject();
|
||||
if (b.getID() == breakpoint.getID()) {
|
||||
checkBoxNode.setUserObject(breakpoint);
|
||||
if(checkBoxNode.isSelected()) {
|
||||
debugger.modifyBreakpoint(breakpoint);
|
||||
if (checkBoxNode.isSelected()) {
|
||||
debugger.addBreakpoint(breakpoint);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@ -68,10 +68,14 @@ public interface Debugger extends QueryExecutorCreator {
|
||||
*/
|
||||
LoggingListener getLoggingListener();
|
||||
|
||||
/**
|
||||
* Add (or modify) a breakpoint to the debugger
|
||||
* <p>
|
||||
* This method adds a breakpoint to the debugger, or modifies the breakpoint
|
||||
* if it already exists.
|
||||
*/
|
||||
void addBreakpoint(Breakpoint breakpoint);
|
||||
|
||||
void modifyBreakpoint(Breakpoint breakpoint);
|
||||
|
||||
void removeBreakpoint(Breakpoint breakpoint);
|
||||
|
||||
Breakpoint[] getBreakpoints();
|
||||
|
||||
@ -53,7 +53,6 @@ import org.jooq.tools.debug.ResultLog;
|
||||
import org.jooq.tools.debug.impl.Message.NoResult;
|
||||
import org.jooq.tools.debug.impl.ServerDebugger.CMS_addBreakpoint;
|
||||
import org.jooq.tools.debug.impl.ServerDebugger.CMS_isExecutionSupported;
|
||||
import org.jooq.tools.debug.impl.ServerDebugger.CMS_modifyBreakpoint;
|
||||
import org.jooq.tools.debug.impl.ServerDebugger.CMS_removeBreakpoint;
|
||||
import org.jooq.tools.debug.impl.ServerDebugger.CMS_setBreakpointHitHandlerActive;
|
||||
import org.jooq.tools.debug.impl.ServerDebugger.CMS_setLoggingActive;
|
||||
@ -83,14 +82,13 @@ class ClientDebugger implements Debugger {
|
||||
@Override
|
||||
public void setLoggingListener(LoggingListener listener) {
|
||||
synchronized (LOGGING_LISTENER_LOCK) {
|
||||
if(this.loggingListener == listener) {
|
||||
if (this.loggingListener == listener) {
|
||||
return;
|
||||
}
|
||||
this.loggingListener = listener;
|
||||
}
|
||||
comm.asyncSend((CommandMessage<?>) new CMS_setLoggingActive(
|
||||
listener != null,
|
||||
listener != null ? listener.getMatchers() : null));
|
||||
|
||||
comm.asyncSend(new CMS_setLoggingActive(listener != null, listener != null ? listener.getMatchers() : null));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -106,42 +104,27 @@ class ClientDebugger implements Debugger {
|
||||
@Override
|
||||
public void addBreakpoint(Breakpoint breakpoint) {
|
||||
synchronized (BREAKPOINT_LOCK) {
|
||||
if(this.breakpoints == null) {
|
||||
this.breakpoints = new Breakpoint[] {breakpoint};
|
||||
comm.asyncSend((CommandMessage<?>) new CMS_addBreakpoint(breakpoint));
|
||||
if (this.breakpoints == null) {
|
||||
this.breakpoints = new Breakpoint[] { breakpoint };
|
||||
comm.asyncSend(new CMS_addBreakpoint(breakpoint));
|
||||
return;
|
||||
}
|
||||
for(int i=0; i<breakpoints.length; i++) {
|
||||
if(breakpoints[i].getID() == breakpoint.getID()) {
|
||||
|
||||
for (int i = 0; i < breakpoints.length; i++) {
|
||||
if (breakpoints[i].getID() == breakpoint.getID()) {
|
||||
breakpoints[i] = breakpoint;
|
||||
comm.asyncSend((CommandMessage<?>) new CMS_modifyBreakpoint(breakpoint));
|
||||
comm.asyncSend(new CMS_addBreakpoint(breakpoint));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Breakpoint[] newBreakpoints = new Breakpoint[breakpoints.length + 1];
|
||||
System.arraycopy(breakpoints, 0, newBreakpoints, 0, breakpoints.length);
|
||||
newBreakpoints[breakpoints.length] = breakpoint;
|
||||
breakpoints = newBreakpoints;
|
||||
}
|
||||
comm.asyncSend((CommandMessage<?>) new CMS_addBreakpoint(breakpoint));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void modifyBreakpoint(Breakpoint breakpoint) {
|
||||
synchronized (BREAKPOINT_LOCK) {
|
||||
if (this.breakpoints == null) {
|
||||
addBreakpoint(breakpoint);
|
||||
return;
|
||||
}
|
||||
for (int i = 0; i < breakpoints.length; i++) {
|
||||
if (breakpoints[i].getID() == breakpoint.getID()) {
|
||||
breakpoints[i] = breakpoint;
|
||||
comm.asyncSend((CommandMessage<?>) new CMS_modifyBreakpoint(breakpoint));
|
||||
return;
|
||||
}
|
||||
}
|
||||
addBreakpoint(breakpoint);
|
||||
}
|
||||
comm.asyncSend(new CMS_addBreakpoint(breakpoint));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -160,7 +143,7 @@ class ClientDebugger implements Debugger {
|
||||
System.arraycopy(breakpoints, i + 1, newBreakpoints, i, newBreakpoints.length - i);
|
||||
breakpoints = newBreakpoints;
|
||||
}
|
||||
comm.asyncSend((CommandMessage<?>) new CMS_removeBreakpoint(breakpoint));
|
||||
comm.asyncSend(new CMS_removeBreakpoint(breakpoint));
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -185,7 +168,7 @@ class ClientDebugger implements Debugger {
|
||||
}
|
||||
this.breakpointHitHandler = breakpointHitHandler;
|
||||
}
|
||||
comm.asyncSend((CommandMessage<?>) new CMS_setBreakpointHitHandlerActive(breakpointHitHandler != null));
|
||||
comm.asyncSend(new CMS_setBreakpointHitHandlerActive(breakpointHitHandler != null));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -100,16 +100,18 @@ class LocalDebugger implements Debugger {
|
||||
@Override
|
||||
public void addBreakpoint(Breakpoint breakpoint) {
|
||||
synchronized (BREAKPOINT_LOCK) {
|
||||
if(this.breakpoints == null) {
|
||||
this.breakpoints = new Breakpoint[] {breakpoint};
|
||||
if (this.breakpoints == null) {
|
||||
this.breakpoints = new Breakpoint[] { breakpoint };
|
||||
return;
|
||||
}
|
||||
for(int i=0; i<breakpoints.length; i++) {
|
||||
if(breakpoints[i].getID() == breakpoint.getID()) {
|
||||
|
||||
for (int i = 0; i < breakpoints.length; i++) {
|
||||
if (breakpoints[i].getID() == breakpoint.getID()) {
|
||||
breakpoints[i] = breakpoint;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Breakpoint[] newBreakpoints = new Breakpoint[breakpoints.length + 1];
|
||||
System.arraycopy(breakpoints, 0, newBreakpoints, 0, breakpoints.length);
|
||||
newBreakpoints[breakpoints.length] = breakpoint;
|
||||
@ -117,23 +119,6 @@ class LocalDebugger implements Debugger {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void modifyBreakpoint(Breakpoint breakpoint) {
|
||||
synchronized (BREAKPOINT_LOCK) {
|
||||
if(this.breakpoints == null) {
|
||||
addBreakpoint(breakpoint);
|
||||
return;
|
||||
}
|
||||
for(int i=0; i<breakpoints.length; i++) {
|
||||
if(breakpoints[i].getID() == breakpoint.getID()) {
|
||||
breakpoints[i] = breakpoint;
|
||||
return;
|
||||
}
|
||||
}
|
||||
addBreakpoint(breakpoint);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeBreakpoint(Breakpoint breakpoint) {
|
||||
synchronized (BREAKPOINT_LOCK) {
|
||||
|
||||
@ -151,23 +151,6 @@ class ServerDebugger extends LocalDebugger {
|
||||
}
|
||||
}
|
||||
|
||||
static class CMS_modifyBreakpoint extends CommandMessage<NoResult> {
|
||||
private final Breakpoint breakpoint;
|
||||
|
||||
CMS_modifyBreakpoint(Breakpoint breakpoint) {
|
||||
this.breakpoint = breakpoint;
|
||||
}
|
||||
|
||||
@Override
|
||||
public NoResult run(MessageContext context) {
|
||||
// Serialization has a cache, assuming objects are immutable. We
|
||||
// have to reset our internal states.
|
||||
breakpoint.reset();
|
||||
context.getDebugger().modifyBreakpoint(breakpoint);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
static class CMS_removeBreakpoint extends CommandMessage<NoResult> {
|
||||
private final Breakpoint breakpoint;
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user