From c7c27ed7baabaf72dbdcb3eafa280366a950f69c Mon Sep 17 00:00:00 2001 From: "Vassiliy.Kudryashov" Date: Wed, 26 Aug 2015 18:17:27 +0300 Subject: [PATCH] IDEA-116272 Allow to change debug ports for local app-servers --- ...icDebuggerParametersRunnerConfigurable.java | 18 ++++++++++++------ ...cDebuggerParametersPatcherConfigurable.form | 6 ++++-- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerParametersRunnerConfigurable.java b/java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerParametersRunnerConfigurable.java index 59073f3cd373..baf7072785b9 100644 --- a/java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerParametersRunnerConfigurable.java +++ b/java/debugger/impl/src/com/intellij/debugger/impl/GenericDebuggerParametersRunnerConfigurable.java @@ -26,7 +26,6 @@ import com.intellij.openapi.options.ShowSettingsUtil; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.util.text.StringUtilRt; -import com.intellij.ui.PortField; import com.intellij.xdebugger.impl.settings.DebuggerConfigurable; import org.jetbrains.annotations.NotNull; @@ -40,7 +39,7 @@ public class GenericDebuggerParametersRunnerConfigurable extends SettingsEditor< private JTextField myAddressField; private JPanel myShMemPanel; private JPanel myPortPanel; - private PortField myPortField; + private JTextField myPortField; private boolean myIsLocal = false; private JButton myDebuggerSettings; private JRadioButton mySocketTransport; @@ -94,7 +93,6 @@ public class GenericDebuggerParametersRunnerConfigurable extends SettingsEditor< myPortPanel.setVisible(isSocket()); myShMemPanel.setVisible(!isSocket()); myAddressField.setEditable(!myIsLocal); - myPortField.setEditable(!myIsLocal); mySocketTransport.setEnabled(!myIsLocal); myShmemTransport.setEnabled(!myIsLocal); } @@ -142,7 +140,7 @@ public class GenericDebuggerParametersRunnerConfigurable extends SettingsEditor< private String getPort() { if (isSocket()) { - return String.valueOf(myPortField.getNumber()); + return String.valueOf(myPortField.getText()); } else { return myAddressField.getText(); @@ -150,10 +148,18 @@ public class GenericDebuggerParametersRunnerConfigurable extends SettingsEditor< } private void checkPort() throws ConfigurationException { - if (isSocket() && !myPortField.isSpecified()) { + if (isSocket() && parsePort() == 0) { throw new ConfigurationException(DebuggerBundle.message("error.text.invalid.port")); } } + private int parsePort() { + try { + return Math.max(0, Integer.parseInt(myPortField.getText())); + } + catch (NumberFormatException e) { + return 0; + } + } private void setTransport(int transport) { mySocketTransport.setSelected(transport == DebuggerSettings.SOCKET_TRANSPORT); @@ -168,7 +174,7 @@ public class GenericDebuggerParametersRunnerConfigurable extends SettingsEditor< private void setPort(String port) { if (isSocket()) { - myPortField.setNumber(StringUtilRt.parseInt(port, 0)); + myPortField.setText(String.valueOf(StringUtilRt.parseInt(port, 0))); } else { myAddressField.setText(port); diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/GenericDebuggerParametersPatcherConfigurable.form b/java/debugger/impl/src/com/intellij/debugger/ui/GenericDebuggerParametersPatcherConfigurable.form index 3cb1ef9bf190..d4c5f184e324 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/GenericDebuggerParametersPatcherConfigurable.form +++ b/java/debugger/impl/src/com/intellij/debugger/ui/GenericDebuggerParametersPatcherConfigurable.form @@ -52,11 +52,13 @@ - + - + + +