Skip to content

Commit

Permalink
Configuration option for CATALINA_BASE (#109)
Browse files Browse the repository at this point in the history
  • Loading branch information
meier123456 authored Aug 30, 2023
1 parent 0d1ee74 commit f047b8b
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,8 @@ public void setTomcatInfo(TomcatInfo tomcatInfo) {
tomcatOptions.setTomcatInfo(tomcatInfo);
}

public String getCatalinaBase() { return tomcatOptions.getCatalinaBase(); }
public void setCatalinaBase(String catalinaBase) { tomcatOptions.setCatalinaBase(catalinaBase); }
public String getDocBase() {
return tomcatOptions.getDocBase();
}
Expand Down Expand Up @@ -296,6 +298,7 @@ public RunConfiguration clone() {
private static class TomcatRunConfigurationOptions implements Serializable {
private TomcatInfo tomcatInfo;

private String catalinaBase;
private String docBase;
private String contextPath;
private Integer port = 8080;
Expand All @@ -314,6 +317,10 @@ public void setTomcatInfo(TomcatInfo tomcatInfo) {
this.tomcatInfo = tomcatInfo;
}

@Nullable
public String getCatalinaBase() { return this.catalinaBase; }
public void setCatalinaBase(String catalinaBase) { this.catalinaBase = catalinaBase; }

@Nullable
public String getDocBase() {
return docBase;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ public class TomcatRunnerSettingsForm implements Disposable {
private JPanel mainPanel;
private final JPanel tomcatField = new JPanel(new BorderLayout());
private final TomcatComboBox tomcatComboBox = new TomcatComboBox();
private final JTextField catalinaBaseField = new JTextField();
private final TextFieldWithBrowseButton docBaseField = new TextFieldWithBrowseButton();
private final JPanel modulesComboBoxPanel = new JPanel(new GridBagLayout());
private final ModulesComboBox modulesComboBox = new ModulesComboBox();
Expand Down Expand Up @@ -156,6 +157,7 @@ protected void textChanged(@NotNull DocumentEvent e) {
private void buildForm() {
FormBuilder builder = FormBuilder.createFormBuilder()
.addLabeledComponent("Tomcat server:", tomcatField)
.addLabeledComponent("CATALINA_BASE:", catalinaBaseField)
.addLabeledComponent("Deployment directory:", docBaseField)
.addLabeledComponent("Use classpath of module:", modulesComboBoxPanel)
.addLabeledComponent("Context path:", contextPathField)
Expand All @@ -175,6 +177,7 @@ public JPanel getMainPanel() {

public void resetFrom(TomcatRunConfiguration configuration) {
tomcatComboBox.setSelectedItem(configuration.getTomcatInfo());
catalinaBaseField.setText(configuration.getCatalinaBase());
docBaseField.setText(configuration.getDocBase());
modulesComboBox.setSelectedModule(configuration.getModule());
contextPathField.setText(configuration.getContextPath());
Expand All @@ -192,6 +195,7 @@ public void resetFrom(TomcatRunConfiguration configuration) {
public void applyTo(TomcatRunConfiguration configuration) throws ConfigurationException {
try {
configuration.setTomcatInfo((TomcatInfo) tomcatComboBox.getSelectedItem());
configuration.setCatalinaBase(catalinaBaseField.getText());
configuration.setDocBase(docBaseField.getText());
configuration.setModule(modulesComboBox.getSelectedModule());
configuration.setContextPath(contextPathField.getText());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import com.poratu.idea.plugins.tomcat.setting.TomcatInfo;
import com.poratu.idea.plugins.tomcat.setting.TomcatServerManagerState;
import com.poratu.idea.plugins.tomcat.setting.TomcatServersConfigurable;
import org.apache.commons.lang.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

Expand Down Expand Up @@ -99,7 +100,10 @@ public static void chooseTomcat(UnaryOperator<String> nameGenerator, Consumer<To
}

public static Path getWorkingPath(TomcatRunConfiguration configuration) {

if(!StringUtils.isBlank(configuration.getCatalinaBase())) {
/* CATALINA_BASE override from intellij run configuration */
return Paths.get(configuration.getCatalinaBase());
}
String userHome = System.getProperty("user.home");
Project project = configuration.getProject();
Module module = configuration.getModule();
Expand Down

0 comments on commit f047b8b

Please sign in to comment.