IDEA-116272 Allow to change debug ports for local app-servers

This commit is contained in:
Vassiliy.Kudryashov
2015-08-26 18:18:49 +03:00
parent 08c9a0b0cf
commit c7c27ed7ba
2 changed files with 16 additions and 8 deletions
@@ -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);
@@ -52,11 +52,13 @@
<text resource-bundle="messages/DebuggerBundle" key="label.generic.debugger.parameters.patcher.configurable.port"/>
</properties>
</component>
<component id="5ffe7" class="com.intellij.ui.PortField" binding="myPortField">
<component id="3f860" class="javax.swing.JTextField" binding="myPortField">
<constraints>
<grid row="0" column="1" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
</constraints>
<properties/>
<properties>
<columns value="5"/>
</properties>
</component>
</children>
</grid>