diff --git a/java/debugger/impl/src/com/intellij/debugger/engine/DebugProcessImpl.java b/java/debugger/impl/src/com/intellij/debugger/engine/DebugProcessImpl.java
index 56e8cd383ee6..da86bac6e6a2 100644
--- a/java/debugger/impl/src/com/intellij/debugger/engine/DebugProcessImpl.java
+++ b/java/debugger/impl/src/com/intellij/debugger/engine/DebugProcessImpl.java
@@ -1477,7 +1477,6 @@ public abstract class DebugProcessImpl implements DebugProcess {
applyThreadFilter(getContextThread());
final SuspendContextImpl context = getSuspendContext();
myRunToCursorBreakpoint.setSuspendPolicy(context.getSuspendPolicy() == EventRequest.SUSPEND_EVENT_THREAD? DebuggerSettings.SUSPEND_THREAD : DebuggerSettings.SUSPEND_ALL);
- myRunToCursorBreakpoint.setLogEnabled(false);
myRunToCursorBreakpoint.createRequest(context.getDebugProcess());
DebugProcessImpl.this.myRunToCursorBreakpoint = myRunToCursorBreakpoint;
super.contextAction();
diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/Breakpoint.java b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/Breakpoint.java
index 8ea3fea6923d..8692fdcbfe5b 100644
--- a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/Breakpoint.java
+++ b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/Breakpoint.java
@@ -233,7 +233,7 @@ public abstract class Breakpoint
implements
private void runAction(final EvaluationContextImpl context, LocatableEvent event) {
final DebugProcessImpl debugProcess = context.getDebugProcess();
- if (myXBreakpoint.isLogMessage() || myXBreakpoint.getLogExpression() != null) {
+ if (isLogEnabled() || isLogExpressionEnabled()) {
final StringBuilder buf = StringBuilderSpinAllocator.alloc();
try {
if (myXBreakpoint.isLogMessage()) {
@@ -449,7 +449,7 @@ public abstract class Breakpoint
implements
myXBreakpoint.setEnabled(enabled);
}
- public boolean isLogEnabled() {
+ protected boolean isLogEnabled() {
return myXBreakpoint.isLogMessage();
}
@@ -457,11 +457,11 @@ public abstract class Breakpoint
implements
myXBreakpoint.setLogMessage(logEnabled);
}
- public boolean isLogExpressionEnabled() {
+ protected boolean isLogExpressionEnabled() {
return myXBreakpoint.getLogExpression() != null;
}
- public void setLogExpressionEnabled(boolean LOG_EXPRESSION_ENABLED) {
+ protected void setLogExpressionEnabled(boolean LOG_EXPRESSION_ENABLED) {
}
@Override
@@ -504,7 +504,7 @@ public abstract class Breakpoint
implements
return myXBreakpoint.getProperties().getClassExclusionFilters();
}
- public void setClassExclusionFilters(ClassFilter[] filters) {
+ protected void setClassExclusionFilters(ClassFilter[] filters) {
myXBreakpoint.getProperties().setClassExclusionFilters(filters);
}
@@ -526,7 +526,7 @@ public abstract class Breakpoint
implements
myXBreakpoint.getProperties().setInstanceFilters(filters);
}
- public static String getSuspendPolicy(XBreakpoint breakpoint) {
+ private static String getSuspendPolicy(XBreakpoint breakpoint) {
switch (breakpoint.getSuspendPolicy()) {
case ALL:
return DebuggerSettings.SUSPEND_ALL;
@@ -540,7 +540,7 @@ public abstract class Breakpoint
implements
}
}
- public static SuspendPolicy transformSuspendPolicy(String policy) {
+ private static SuspendPolicy transformSuspendPolicy(String policy) {
if (DebuggerSettings.SUSPEND_ALL.equals(policy)) {
return SuspendPolicy.ALL;
} else if (DebuggerSettings.SUSPEND_THREAD.equals(policy)) {
@@ -552,7 +552,7 @@ public abstract class Breakpoint
implements
}
}
- public boolean isSuspend() {
+ protected boolean isSuspend() {
return myXBreakpoint.getSuspendPolicy() != SuspendPolicy.NONE;
}
@@ -565,11 +565,11 @@ public abstract class Breakpoint
implements
myXBreakpoint.setSuspendPolicy(transformSuspendPolicy(policy));
}
- public void setLogMessage(TextWithImports logMessage) {
+ protected void setLogMessage(TextWithImports logMessage) {
myXBreakpoint.setLogExpression(logMessage.getText());
}
- public boolean isConditionEnabled() {
+ protected boolean isConditionEnabled() {
return myXBreakpoint.getCondition() != null && !myXBreakpoint.getCondition().isEmpty();
}
@@ -577,7 +577,7 @@ public abstract class Breakpoint
implements
myXBreakpoint.setCondition(condition);
}
- public void addInstanceFilter(long l) {
+ protected void addInstanceFilter(long l) {
myXBreakpoint.getProperties().addInstanceFilter(l);
}
}
diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/BreakpointManager.java b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/BreakpointManager.java
index 8e9282747729..929c3133afde 100644
--- a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/BreakpointManager.java
+++ b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/BreakpointManager.java
@@ -30,7 +30,9 @@ import com.intellij.debugger.impl.DebuggerContextListener;
import com.intellij.debugger.impl.DebuggerManagerImpl;
import com.intellij.debugger.impl.DebuggerSession;
import com.intellij.debugger.ui.JavaDebuggerSupport;
+import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.Editor;
@@ -43,22 +45,20 @@ import com.intellij.openapi.ui.MessageType;
import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.util.Key;
import com.intellij.openapi.util.TextRange;
+import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiDocumentManager;
import com.intellij.psi.PsiField;
import com.intellij.psi.PsiFile;
import com.intellij.util.Alarm;
import com.intellij.util.EventDispatcher;
import com.intellij.xdebugger.XDebuggerManager;
-import com.intellij.xdebugger.breakpoints.XBreakpoint;
-import com.intellij.xdebugger.breakpoints.XBreakpointListener;
-import com.intellij.xdebugger.breakpoints.XBreakpointManager;
+import com.intellij.xdebugger.XDebuggerUtil;
+import com.intellij.xdebugger.breakpoints.*;
import com.intellij.xdebugger.impl.DebuggerSupport;
import com.intellij.xdebugger.impl.XDebugSessionImpl;
import com.intellij.xdebugger.impl.breakpoints.XBreakpointManagerImpl;
import com.intellij.xdebugger.impl.breakpoints.XDependentBreakpointManager;
-import com.sun.jdi.Field;
import com.sun.jdi.InternalException;
-import com.sun.jdi.ObjectReference;
import com.sun.jdi.ThreadReference;
import com.sun.jdi.request.*;
import gnu.trove.TIntHashSet;
@@ -66,6 +66,7 @@ import org.jdom.Element;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+import org.jetbrains.java.debugger.breakpoints.properties.JavaExceptionBreakpointProperties;
import javax.swing.*;
import java.util.*;
@@ -81,7 +82,6 @@ public class BreakpointManager {
@NonNls private static final String RULES_GROUP_NAME = "breakpoint_rules";
private final Project myProject;
- private XBreakpointManager myXBreakpointManager;
private final Map myBreakpoints = new HashMap(); // breakpoints storage, access should be synchronized
@Nullable private List myBreakpointsListForIteration = null; // another list for breakpoints iteration, unsynchronized access ok
private final Map myUIProperties = new LinkedHashMap();
@@ -141,8 +141,8 @@ public class BreakpointManager {
}
public void init() {
- myXBreakpointManager = XDebuggerManager.getInstance(myProject).getBreakpointManager();
- myXBreakpointManager.addBreakpointListener(new XBreakpointListener() {
+ XBreakpointManager manager = XDebuggerManager.getInstance(myProject).getBreakpointManager();
+ manager.addBreakpointListener(new XBreakpointListener() {
@Override
public void breakpointAdded(@NotNull XBreakpoint xBreakpoint) {
if (isJavaType(xBreakpoint)) {
@@ -169,6 +169,10 @@ public class BreakpointManager {
});
}
+ private XBreakpointManager getXBreakpointManager() {
+ return XDebuggerManager.getInstance(myProject).getBreakpointManager();
+ }
+
public void editBreakpoint(final Breakpoint breakpoint, final Editor editor) {
DebuggerInvocationUtil.swingInvokeLater(myProject, new Runnable() {
@Override
@@ -202,7 +206,7 @@ public class BreakpointManager {
@Nullable
public RunToCursorBreakpoint addRunToCursorBreakpoint(Document document, int lineIndex, final boolean ignoreBreakpoints) {
- return RunToCursorBreakpoint.create(myProject, document, lineIndex, ignoreBreakpoints, null);
+ return RunToCursorBreakpoint.create(myProject, document, lineIndex, ignoreBreakpoints);
}
@Nullable
@@ -216,8 +220,8 @@ public class BreakpointManager {
if (!LineBreakpoint.canAddLineBreakpoint(myProject, document, lineIndex)) {
return null;
}
-
- LineBreakpoint breakpoint = LineBreakpoint.create(myProject, document, lineIndex, null);
+ XLineBreakpoint xLineBreakpoint = addXLineBreakpoint(JavaLineBreakpointType.class, document, lineIndex);
+ LineBreakpoint breakpoint = LineBreakpoint.create(myProject, xLineBreakpoint);
if (breakpoint == null) {
return null;
}
@@ -226,15 +230,15 @@ public class BreakpointManager {
return breakpoint;
}
- @Nullable
- public FieldBreakpoint addFieldBreakpoint(Field field, ObjectReference object) {
- ApplicationManager.getApplication().assertIsDispatchThread();
- final FieldBreakpoint fieldBreakpoint = FieldBreakpoint.create(myProject, field, object, null);
- if (fieldBreakpoint != null) {
- addBreakpoint(fieldBreakpoint);
- }
- return fieldBreakpoint;
- }
+ //@Nullable
+ //public FieldBreakpoint addFieldBreakpoint(Field field, ObjectReference object) {
+ // ApplicationManager.getApplication().assertIsDispatchThread();
+ // final FieldBreakpoint fieldBreakpoint = FieldBreakpoint.create(myProject, field, object, null);
+ // if (fieldBreakpoint != null) {
+ // addBreakpoint(fieldBreakpoint);
+ // }
+ // return fieldBreakpoint;
+ //}
@Nullable
public FieldBreakpoint addFieldBreakpoint(@NotNull Document document, int offset) {
@@ -255,7 +259,8 @@ public class BreakpointManager {
@Nullable
public FieldBreakpoint addFieldBreakpoint(Document document, int lineIndex, String fieldName) {
ApplicationManager.getApplication().assertIsDispatchThread();
- FieldBreakpoint fieldBreakpoint = FieldBreakpoint.create(myProject, document, lineIndex, fieldName, null);
+ XLineBreakpoint xBreakpoint = addXLineBreakpoint(JavaFieldBreakpointType.class, document, lineIndex);
+ FieldBreakpoint fieldBreakpoint = FieldBreakpoint.create(myProject, fieldName, xBreakpoint);
if (fieldBreakpoint != null) {
addBreakpoint(fieldBreakpoint);
}
@@ -265,19 +270,28 @@ public class BreakpointManager {
@NotNull
public ExceptionBreakpoint addExceptionBreakpoint(@NotNull String exceptionClassName, String packageName) {
ApplicationManager.getApplication().assertIsDispatchThread();
- ExceptionBreakpoint breakpoint = new ExceptionBreakpoint(myProject, exceptionClassName, packageName, null);
- addBreakpoint(breakpoint);
- if (LOG.isDebugEnabled()) {
- LOG.debug("ExceptionBreakpoint Added");
+ JavaExceptionBreakpointType type = (JavaExceptionBreakpointType)XDebuggerUtil.getInstance().findBreakpointType(JavaExceptionBreakpointType.class);
+ AccessToken token = WriteAction.start();
+ try {
+ XBreakpoint xBreakpoint = XDebuggerManager.getInstance(myProject).getBreakpointManager()
+ .addBreakpoint(type, new JavaExceptionBreakpointProperties(exceptionClassName, packageName));
+ ExceptionBreakpoint breakpoint = new ExceptionBreakpoint(myProject, exceptionClassName, packageName, xBreakpoint);
+ addBreakpoint(breakpoint);
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("ExceptionBreakpoint Added");
+ }
+ return breakpoint;
+ } finally {
+ token.finish();
}
- return breakpoint;
}
@Nullable
public MethodBreakpoint addMethodBreakpoint(Document document, int lineIndex) {
ApplicationManager.getApplication().assertIsDispatchThread();
- MethodBreakpoint breakpoint = MethodBreakpoint.create(myProject, document, lineIndex, null);
+ XLineBreakpoint xBreakpoint = addXLineBreakpoint(JavaMethodBreakpointType.class, document, lineIndex);
+ MethodBreakpoint breakpoint = MethodBreakpoint.create(myProject, xBreakpoint);
if (breakpoint == null) {
return null;
}
@@ -288,6 +302,19 @@ public class BreakpointManager {
return breakpoint;
}
+ private > XLineBreakpoint addXLineBreakpoint(Class extends XBreakpointType> typeCls, Document document, int lineIndex) {
+ XBreakpointType type = XDebuggerUtil.getInstance().findBreakpointType(typeCls);
+ VirtualFile file = FileDocumentManager.getInstance().getFile(document);
+ AccessToken token = WriteAction.start();
+ try {
+ return XDebuggerManager.getInstance(myProject).getBreakpointManager()
+ .addLineBreakpoint((XLineBreakpointType)type, file.getUrl(), lineIndex,
+ ((XLineBreakpointType)type).createBreakpointProperties(file, lineIndex));
+ } finally {
+ token.finish();
+ }
+ }
+
@Nullable
public WildcardMethodBreakpoint addMethodBreakpoint(String classPattern, String methodName) {
ApplicationManager.getApplication().assertIsDispatchThread();
@@ -489,8 +516,12 @@ public class BreakpointManager {
if (breakpoint == null) {
return;
}
-
- myXBreakpointManager.removeBreakpoint(breakpoint.myXBreakpoint);
+ AccessToken token = WriteAction.start();
+ try {
+ getXBreakpointManager().removeBreakpoint(breakpoint.myXBreakpoint);
+ } finally {
+ token.finish();
+ }
}
private synchronized void onBreakpointRemoved(@Nullable final XBreakpoint xBreakpoint) {
@@ -629,7 +660,7 @@ public class BreakpointManager {
if (myBreakpointsListForIteration == null) {
myBreakpointsListForIteration = new ArrayList(myBreakpoints.size());
- for (XBreakpoint> xBreakpoint : myXBreakpointManager.getAllBreakpoints()) {
+ for (XBreakpoint> xBreakpoint : getXBreakpointManager().getAllBreakpoints()) {
if (isJavaType(xBreakpoint)) {
Breakpoint breakpoint = myBreakpoints.get(xBreakpoint);
if (breakpoint == null) {
@@ -857,7 +888,7 @@ public class BreakpointManager {
// copied from XDebugSessionImpl processDependencies
public void processBreakpointHit(@NotNull final Breakpoint breakpoint) {
- XDependentBreakpointManager dependentBreakpointManager = ((XBreakpointManagerImpl)myXBreakpointManager).getDependentBreakpointManager();
+ XDependentBreakpointManager dependentBreakpointManager = ((XBreakpointManagerImpl)getXBreakpointManager()).getDependentBreakpointManager();
XBreakpoint xBreakpoint = findXBreakpoint(breakpoint);
if (!dependentBreakpointManager.isMasterOrSlave(xBreakpoint)) {
return;
@@ -901,7 +932,7 @@ public class BreakpointManager {
@Nullable
public Breakpoint findMasterBreakpoint(@NotNull Breakpoint dependentBreakpoint) {
- XDependentBreakpointManager dependentBreakpointManager = ((XBreakpointManagerImpl)myXBreakpointManager).getDependentBreakpointManager();
+ XDependentBreakpointManager dependentBreakpointManager = ((XBreakpointManagerImpl)getXBreakpointManager()).getDependentBreakpointManager();
XBreakpoint xBreakpoint = findXBreakpoint(dependentBreakpoint);
return myBreakpoints.get(dependentBreakpointManager.getMasterBreakpoint(xBreakpoint));
}
diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/BreakpointPropertiesPanel.java b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/BreakpointPropertiesPanel.java
index 38031d4735a6..ad9d5c93a47a 100644
--- a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/BreakpointPropertiesPanel.java
+++ b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/BreakpointPropertiesPanel.java
@@ -462,126 +462,126 @@ public abstract class BreakpointPropertiesPanel {
* Init UI components with the values from Breakpoint
*/
public void initFrom(Breakpoint breakpoint, boolean moreOptionsVisible1) {
- myBreakpoint = breakpoint;
- boolean moreOptionsVisible = moreOptionsVisible1;
- boolean actionsPanelVisible = moreOptionsVisible1;
-
- initMasterBreakpointPanel();
-
- if (breakpoint.getCountFilter() > 0) {
- myPassCountField.setText(Integer.toString(breakpoint.getCountFilter()));
- moreOptionsVisible = true;
- }
- else {
- myPassCountField.setText("");
- }
-
- PsiElement context = breakpoint.getEvaluationElement();
- myPassCountCheckbox.setSelected(breakpoint.isCountFilterEnabled());
-
- myConditionCheckbox.setSelected(breakpoint.isConditionEnabled());
-
- myConditionCombo.setEnabled(breakpoint.isConditionEnabled());
-
- myConditionCombo.setContext(context);
- myConditionCombo.setText(breakpoint.getCondition() != null ? breakpoint.getCondition() : emptyText());
-
- myCbSuspend.setSelected(breakpoint.isSuspend());
- myRbSuspendThread.setEnabled(myCbSuspend.isSelected());
- myRbSuspendAll.setEnabled(myCbSuspend.isSelected());
-
- if(!breakpoint.isSuspend()) {
- actionsPanelVisible = true;
- }
- if(DebuggerSettings.SUSPEND_THREAD.equals(breakpoint.getSuspendPolicy())){
- myRbSuspendThread.setSelected(true);
- }
- else {
- myRbSuspendAll.setSelected(true);
- }
-
- myCbSuspend.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent event) {
- if (!myActionsPanel.isVisible()) {
- if (!myCbSuspend.isSelected()) {
- if (myDelegate != null) {
- myDelegate.showActionsPanel();
- }
- }
- }
- myRbSuspendThread.setEnabled(myCbSuspend.isSelected());
- myRbSuspendAll.setEnabled(myCbSuspend.isSelected());
- }
- });
- myLogMessageCheckBox.setSelected(breakpoint.isLogEnabled());
- myTemporaryCheckBox.setSelected(breakpoint.isRemoveAfterHit());
- myEnabledCheckbox.setSelected(breakpoint.isEnabled());
- myEnabledCheckbox.setText(breakpoint.getShortName() + " enabled");
-
- DebuggerManagerEx.getInstanceEx(myProject).getBreakpointManager().addBreakpointManagerListener(new BreakpointManagerListener() {
- @Override
- public void breakpointsChanged() {
- myEnabledCheckbox.setSelected(myBreakpoint.isEnabled());
- }
- });
-
- myEnabledCheckbox.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent event) {
- if (myBreakpoint.isEnabled() != myEnabledCheckbox.isSelected()) {
- myBreakpoint.setEnabled(myEnabledCheckbox.isSelected());
- getBreakpointManager(myProject).fireBreakpointChanged(myBreakpoint);
- myBreakpoint.updateUI();
- }
- }
- });
- myTemporaryCheckBox.setVisible(breakpoint instanceof LineBreakpoint);
- myLogExpressionCheckBox.setSelected(breakpoint.isLogExpressionEnabled());
- if (breakpoint.isLogEnabled() ||
- breakpoint.isLogExpressionEnabled() || (breakpoint instanceof LineBreakpoint && breakpoint.isRemoveAfterHit())) {
- actionsPanelVisible = true;
- }
-
- myLogExpressionCombo.setContext(context);
-
- if (breakpoint.getLogMessage() != null) {
- myLogExpressionCombo.setText(breakpoint.getLogMessage());
- }
- else {
- myLogExpressionCombo.setText(emptyText());
- }
-
- myLogExpressionCombo.setEnabled(breakpoint.isLogExpressionEnabled());
- if (breakpoint.isLogExpressionEnabled()) {
- actionsPanelVisible = true;
- }
-
- myInstanceFiltersCheckBox.setSelected(breakpoint.isInstanceFiltersEnabled());
- myInstanceFiltersField.setEnabled(breakpoint.isInstanceFiltersEnabled());
- myInstanceFiltersField.getTextField().setEditable(breakpoint.isInstanceFiltersEnabled());
- myInstanceFilters = breakpoint.getInstanceFilters();
- updateInstanceFilterEditor(true);
- if (breakpoint.isInstanceFiltersEnabled()) {
- moreOptionsVisible = true;
- }
-
- myClassFiltersCheckBox.setSelected(breakpoint.isClassFiltersEnabled());
- myClassFiltersField.setEnabled(breakpoint.isClassFiltersEnabled());
- myClassFiltersField.getTextField().setEditable(breakpoint.isClassFiltersEnabled());
- myClassFilters = breakpoint.getClassFilters();
- myClassExclusionFilters = breakpoint.getClassExclusionFilters();
- updateClassFilterEditor(true);
- if (breakpoint.isClassFiltersEnabled()) {
- moreOptionsVisible = true;
- }
-
- myBreakpointPsiClass = breakpoint.getPsiClass();
-
- updateCheckboxes();
-
- setActionsPanelVisible(actionsPanelVisible && !moreOptionsVisible1);
- setMoreOptionsVisible(moreOptionsVisible);
+ //myBreakpoint = breakpoint;
+ //boolean moreOptionsVisible = moreOptionsVisible1;
+ //boolean actionsPanelVisible = moreOptionsVisible1;
+ //
+ //initMasterBreakpointPanel();
+ //
+ //if (breakpoint.getCountFilter() > 0) {
+ // myPassCountField.setText(Integer.toString(breakpoint.getCountFilter()));
+ // moreOptionsVisible = true;
+ //}
+ //else {
+ // myPassCountField.setText("");
+ //}
+ //
+ //PsiElement context = breakpoint.getEvaluationElement();
+ //myPassCountCheckbox.setSelected(breakpoint.isCountFilterEnabled());
+ //
+ //myConditionCheckbox.setSelected(breakpoint.isConditionEnabled());
+ //
+ //myConditionCombo.setEnabled(breakpoint.isConditionEnabled());
+ //
+ //myConditionCombo.setContext(context);
+ //myConditionCombo.setText(breakpoint.getCondition() != null ? breakpoint.getCondition() : emptyText());
+ //
+ //myCbSuspend.setSelected(breakpoint.isSuspend());
+ //myRbSuspendThread.setEnabled(myCbSuspend.isSelected());
+ //myRbSuspendAll.setEnabled(myCbSuspend.isSelected());
+ //
+ //if(!breakpoint.isSuspend()) {
+ // actionsPanelVisible = true;
+ //}
+ //if(DebuggerSettings.SUSPEND_THREAD.equals(breakpoint.getSuspendPolicy())){
+ // myRbSuspendThread.setSelected(true);
+ //}
+ //else {
+ // myRbSuspendAll.setSelected(true);
+ //}
+ //
+ //myCbSuspend.addActionListener(new ActionListener() {
+ // @Override
+ // public void actionPerformed(ActionEvent event) {
+ // if (!myActionsPanel.isVisible()) {
+ // if (!myCbSuspend.isSelected()) {
+ // if (myDelegate != null) {
+ // myDelegate.showActionsPanel();
+ // }
+ // }
+ // }
+ // myRbSuspendThread.setEnabled(myCbSuspend.isSelected());
+ // myRbSuspendAll.setEnabled(myCbSuspend.isSelected());
+ // }
+ //});
+ //myLogMessageCheckBox.setSelected(breakpoint.isLogEnabled());
+ //myTemporaryCheckBox.setSelected(breakpoint.isRemoveAfterHit());
+ //myEnabledCheckbox.setSelected(breakpoint.isEnabled());
+ //myEnabledCheckbox.setText(breakpoint.getShortName() + " enabled");
+ //
+ //DebuggerManagerEx.getInstanceEx(myProject).getBreakpointManager().addBreakpointManagerListener(new BreakpointManagerListener() {
+ // @Override
+ // public void breakpointsChanged() {
+ // myEnabledCheckbox.setSelected(myBreakpoint.isEnabled());
+ // }
+ //});
+ //
+ //myEnabledCheckbox.addActionListener(new ActionListener() {
+ // @Override
+ // public void actionPerformed(ActionEvent event) {
+ // if (myBreakpoint.isEnabled() != myEnabledCheckbox.isSelected()) {
+ // myBreakpoint.setEnabled(myEnabledCheckbox.isSelected());
+ // getBreakpointManager(myProject).fireBreakpointChanged(myBreakpoint);
+ // myBreakpoint.updateUI();
+ // }
+ // }
+ //});
+ //myTemporaryCheckBox.setVisible(breakpoint instanceof LineBreakpoint);
+ //myLogExpressionCheckBox.setSelected(breakpoint.isLogExpressionEnabled());
+ //if (breakpoint.isLogEnabled() ||
+ // breakpoint.isLogExpressionEnabled() || (breakpoint instanceof LineBreakpoint && breakpoint.isRemoveAfterHit())) {
+ // actionsPanelVisible = true;
+ //}
+ //
+ //myLogExpressionCombo.setContext(context);
+ //
+ //if (breakpoint.getLogMessage() != null) {
+ // myLogExpressionCombo.setText(breakpoint.getLogMessage());
+ //}
+ //else {
+ // myLogExpressionCombo.setText(emptyText());
+ //}
+ //
+ //myLogExpressionCombo.setEnabled(breakpoint.isLogExpressionEnabled());
+ //if (breakpoint.isLogExpressionEnabled()) {
+ // actionsPanelVisible = true;
+ //}
+ //
+ //myInstanceFiltersCheckBox.setSelected(breakpoint.isInstanceFiltersEnabled());
+ //myInstanceFiltersField.setEnabled(breakpoint.isInstanceFiltersEnabled());
+ //myInstanceFiltersField.getTextField().setEditable(breakpoint.isInstanceFiltersEnabled());
+ //myInstanceFilters = breakpoint.getInstanceFilters();
+ //updateInstanceFilterEditor(true);
+ //if (breakpoint.isInstanceFiltersEnabled()) {
+ // moreOptionsVisible = true;
+ //}
+ //
+ //myClassFiltersCheckBox.setSelected(breakpoint.isClassFiltersEnabled());
+ //myClassFiltersField.setEnabled(breakpoint.isClassFiltersEnabled());
+ //myClassFiltersField.getTextField().setEditable(breakpoint.isClassFiltersEnabled());
+ //myClassFilters = breakpoint.getClassFilters();
+ //myClassExclusionFilters = breakpoint.getClassExclusionFilters();
+ //updateClassFilterEditor(true);
+ //if (breakpoint.isClassFiltersEnabled()) {
+ // moreOptionsVisible = true;
+ //}
+ //
+ //myBreakpointPsiClass = breakpoint.getPsiClass();
+ //
+ //updateCheckboxes();
+ //
+ //setActionsPanelVisible(actionsPanelVisible && !moreOptionsVisible1);
+ //setMoreOptionsVisible(moreOptionsVisible);
}
private void initMasterBreakpointPanel() {
@@ -636,41 +636,41 @@ public abstract class BreakpointPropertiesPanel {
*/
public void saveTo(Breakpoint breakpoint) {
- saveMasterBreakpoint();
- try {
- String text = myPassCountField.getText().trim();
- breakpoint.setCountFilter(!text.isEmpty() ? Integer.parseInt(text) : 0);
- if (breakpoint.getCountFilter() < 0) {
- breakpoint.setCountFilter(0);
- }
- }
- catch (Exception ignored) {
- }
-
- breakpoint.setCountFilterEnabled(breakpoint.getCountFilter() > 0 && myPassCountCheckbox.isSelected());
- breakpoint.setCondition(myConditionCombo.getText().getText());
- //breakpoint.setConditionEnabled(myConditionCheckbox.isSelected());
- breakpoint.setLogMessage(myLogExpressionCombo.getText());
- breakpoint.setLogExpressionEnabled(!breakpoint.getLogMessage().isEmpty() && myLogExpressionCheckBox.isSelected());
- breakpoint.setLogEnabled(myLogMessageCheckBox.isSelected());
- breakpoint.setEnabled(myEnabledCheckbox.isSelected());
- breakpoint.setRemoveAfterHit(myTemporaryCheckBox.isSelected());
- //breakpoint.setSuspend(myCbSuspend.isSelected());
- breakpoint.setSuspendPolicy(getSelectedSuspendPolicy());
- reloadInstanceFilters();
- reloadClassFilters();
- updateInstanceFilterEditor(true);
- updateClassFilterEditor(true);
-
- breakpoint.setInstanceFiltersEnabled(myInstanceFiltersField.getText().length() > 0 && myInstanceFiltersCheckBox.isSelected());
- breakpoint.setClassFiltersEnabled(myClassFiltersField.getText().length() > 0 && myClassFiltersCheckBox.isSelected());
- breakpoint.setClassFilters(myClassFilters);
- breakpoint.setClassExclusionFilters(myClassExclusionFilters);
- breakpoint.setInstanceFilters(myInstanceFilters);
-
- myConditionCombo.addRecent(myConditionCombo.getText());
- myLogExpressionCombo.addRecent(myLogExpressionCombo.getText());
- breakpoint.updateUI();
+ //saveMasterBreakpoint();
+ //try {
+ // String text = myPassCountField.getText().trim();
+ // breakpoint.setCountFilter(!text.isEmpty() ? Integer.parseInt(text) : 0);
+ // if (breakpoint.getCountFilter() < 0) {
+ // breakpoint.setCountFilter(0);
+ // }
+ //}
+ //catch (Exception ignored) {
+ //}
+ //
+ //breakpoint.setCountFilterEnabled(breakpoint.getCountFilter() > 0 && myPassCountCheckbox.isSelected());
+ //breakpoint.setCondition(myConditionCombo.getText().getText());
+ ////breakpoint.setConditionEnabled(myConditionCheckbox.isSelected());
+ //breakpoint.setLogMessage(myLogExpressionCombo.getText());
+ //breakpoint.setLogExpressionEnabled(!breakpoint.getLogMessage().isEmpty() && myLogExpressionCheckBox.isSelected());
+ //breakpoint.setLogEnabled(myLogMessageCheckBox.isSelected());
+ //breakpoint.setEnabled(myEnabledCheckbox.isSelected());
+ //breakpoint.setRemoveAfterHit(myTemporaryCheckBox.isSelected());
+ ////breakpoint.setSuspend(myCbSuspend.isSelected());
+ //breakpoint.setSuspendPolicy(getSelectedSuspendPolicy());
+ //reloadInstanceFilters();
+ //reloadClassFilters();
+ //updateInstanceFilterEditor(true);
+ //updateClassFilterEditor(true);
+ //
+ //breakpoint.setInstanceFiltersEnabled(myInstanceFiltersField.getText().length() > 0 && myInstanceFiltersCheckBox.isSelected());
+ //breakpoint.setClassFiltersEnabled(myClassFiltersField.getText().length() > 0 && myClassFiltersCheckBox.isSelected());
+ //breakpoint.setClassFilters(myClassFilters);
+ //breakpoint.setClassExclusionFilters(myClassExclusionFilters);
+ //breakpoint.setInstanceFilters(myInstanceFilters);
+ //
+ //myConditionCombo.addRecent(myConditionCombo.getText());
+ //myLogExpressionCombo.addRecent(myLogExpressionCombo.getText());
+ //breakpoint.updateUI();
}
private static String concatWithEx(List s, String concator, int N, String NthConcator) {
diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/BreakpointWithHighlighter.java b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/BreakpointWithHighlighter.java
index 200e377b87f8..0c3178742a58 100644
--- a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/BreakpointWithHighlighter.java
+++ b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/BreakpointWithHighlighter.java
@@ -34,14 +34,9 @@ import com.intellij.openapi.editor.impl.DocumentMarkupModel;
import com.intellij.openapi.editor.markup.MarkupEditorFilterFactory;
import com.intellij.openapi.editor.markup.RangeHighlighter;
import com.intellij.openapi.editor.markup.TextAttributes;
-import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Computable;
-import com.intellij.openapi.util.InvalidDataException;
import com.intellij.openapi.util.Key;
-import com.intellij.openapi.util.WriteExternalException;
-import com.intellij.openapi.vfs.VirtualFile;
-import com.intellij.openapi.vfs.VirtualFileManager;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiDocumentManager;
import com.intellij.psi.PsiElement;
@@ -58,7 +53,6 @@ import com.intellij.xdebugger.breakpoints.XLineBreakpoint;
import com.intellij.xdebugger.ui.DebuggerColors;
import com.intellij.xml.util.XmlStringUtil;
import com.sun.jdi.ReferenceType;
-import org.jdom.Element;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.java.debugger.breakpoints.properties.JavaBreakpointProperties;
@@ -215,7 +209,7 @@ public abstract class BreakpointWithHighlighter() {
@Override
public Boolean compute() {
@@ -294,7 +288,7 @@ public abstract class BreakpointWithHighlighter
{
private static final Logger LOG = Logger.getInstance("#com.intellij.debugger.ui.breakpoints.FieldBreakpoint");
@@ -68,8 +64,8 @@ public class FieldBreakpoint extends BreakpointWithHighlighter xBreakpoint) {
- return LineBreakpoint.create(project, document, xBreakpoint.getLine(), xBreakpoint);
+ return LineBreakpoint.create(project, xBreakpoint);
}
}
diff --git a/java/debugger/impl/src/org/jetbrains/java/debugger/breakpoints/properties/JavaLineBreakpointProperties.java b/java/debugger/impl/src/org/jetbrains/java/debugger/breakpoints/properties/JavaLineBreakpointProperties.java
new file mode 100644
index 000000000000..9a892346ac04
--- /dev/null
+++ b/java/debugger/impl/src/org/jetbrains/java/debugger/breakpoints/properties/JavaLineBreakpointProperties.java
@@ -0,0 +1,22 @@
+/*
+ * Copyright 2000-2014 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jetbrains.java.debugger.breakpoints.properties;
+
+/**
+ * @author egor
+ */
+public class JavaLineBreakpointProperties extends JavaBreakpointProperties {
+}