Ignore:
Timestamp:
2009-03-18T19:03:27+13:00 (15 years ago)
Author:
ak19
Message:

Moved some things from BaseServerSettings to the specific subclasses as appropriate, and added definitions for overloadable methods.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • greenstone3/trunk/src/java/org/greenstone/server/BaseServerSettings.java

    r18696 r18710  
    1313
    1414public abstract class BaseServerSettings extends JDialog
    15 
    1615{
    17 
    1816    static Logger logger = Logger.getLogger(BaseServerSettings.class.getName());
    1917    static final int DEFPORT = 8080;
    2018
    2119    JCheckBox autoEnter;
    22     JComboBox servlet_combobox;
    2320
    2421    protected JSpinner portNumber_spinner = null;
     
    3431    protected int portNum = DEFPORT;
    3532    protected boolean autoStart = false;
    36     protected String servletDefault = null;
    3733    protected String browserPath = "";
    3834    protected boolean useDefaultBrowser = true;
    3935
    40     protected HashMap url_mappings = null;
    4136    protected JDialog self;
    4237    protected BaseServer server;
     
    4439    public BaseServerSettings(BaseServer server)
    4540    {
    46     super((Frame)null, "", true);
     41    super(server.getServerControl(), "", true);
    4742    this.self = this;
    4843        this.server = server;
     
    8277
    8378    portNumber_spinner = new JSpinner(new SpinnerNumberModel(portNum,1,65535,1));
    84     portNumber_spinner.setEditor(new JSpinner.NumberEditor(portNumber_spinner, "#####")); 
     79    portNumber_spinner.setEditor(new JSpinner.NumberEditor(portNumber_spinner, "#####"));
    8580
    8681    autoEnter = new JCheckBox(server.dictionary.get("ServerSettings.Auto_Start"));
     
    186181
    187182
     183    protected String onSave() { return ""; }
     184    protected void save(ScriptReadWrite scriptReadWrite, ArrayList newFileLines) {}
    188185    protected abstract JPanel createServletPanel();
    189186
     
    238235                has_changed = true;
    239236        }
    240         if(servletDefault != null && servlet_combobox != null) {
    241         if (!servletDefault.equals(servlet_combobox.getSelectedItem())) {
    242             has_changed = true;
    243             require_restart = true;
    244         }
    245         }
     237
     238        // call subclass' onSave method
     239        String result = onSave();
     240        if(result.indexOf("changed") != -1) {
     241        has_changed = true;
     242        }
     243        if(result.indexOf("restart") != -1) {
     244        require_restart = true;
     245        }
     246
    246247            //changed to use other browser
    247248            if (useDefaultBrowser && other_browser_button.isSelected()){
     
    274275        newFileLines = scriptReadWrite.queryReplace(newFileLines, BaseServer.Property.AUTOSTART, newAutoEnter);
    275276       
    276         String newServletDef = (String) servlet_combobox.getSelectedItem();
    277         newFileLines = scriptReadWrite.queryReplace(newFileLines,BaseServer.Property.DEFAULT_SERVLET, (String) url_mappings.get(newServletDef));
    278 
     277        // call the subclass' save() method to save custom elements
     278        save(scriptReadWrite, newFileLines);
     279       
    279280        String osName = System.getProperty("os.name");
    280281                if (osName.startsWith("Windows")){
Note: See TracChangeset for help on using the changeset viewer.