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/Server2Settings.java

    r18693 r18710  
    11package org.greenstone.server;
    22
     3import java.awt.BorderLayout;
     4import java.awt.event.*;
    35import javax.swing.*;
    4 import java.awt.BorderLayout;
     6import javax.swing.event.*;
    57
    68import org.greenstone.server.BaseServerSettings;
    79
    8 public class Server2Settings extends BaseServerSettings
     10public class Server2Settings extends BaseServerSettings implements ChangeListener, ActionListener
    911{
     12    protected JComboBox prefix_combobox;
     13
    1014    public Server2Settings(BaseServer server)
    1115    {
     
    1519    protected JPanel createServletPanel()
    1620    {
     21    portNumber_spinner.addChangeListener(this);
     22
    1723    JLabel prefix_label = new JLabel(server.dictionary.get(BaseServer.Property.SERVER_SETTINGS+".URL"));
    1824
    19     JComboBox prefix_combobox = new JComboBox();
     25    prefix_combobox = new JComboBox();
    2026    prefix_combobox.setEditable(true);
    2127    prefix_combobox.addItem(server.getBrowserURL());
     28    prefix_combobox.addActionListener(this);
    2229
    2330    JPanel comb_panel = new JPanel();
     
    2734    return comb_panel;
    2835    }
    29    
     36
     37    public String onSave()
     38    {
     39    return "";
     40    }
     41
     42    public void stateChanged(ChangeEvent e) {
     43    int portNumber = ((Integer)portNumber_spinner.getValue()).intValue();
     44    String url = (String)prefix_combobox.getSelectedItem();
     45
     46    String pre = "";
     47    if(url.indexOf("http://") != -1) {
     48        pre = "http://";
     49        url = url.substring(7);
     50    }
     51
     52    String[] parts = url.split("/");
     53    String prefix = parts[0];
     54
     55    int colon = prefix.indexOf(':');
     56    if(colon != -1) {
     57        prefix = prefix.substring(0, colon);
     58    }
     59   
     60    url = pre + prefix + ":" + portNumber;
     61    for(int i = 1; i < parts.length; i++) {
     62        url = url + "/" + parts[i];
     63    }
     64
     65    prefix_combobox.setSelectedItem(url);   
     66    }
     67
     68    public void actionPerformed(ActionEvent e) {
     69        System.err.println("*** Port number changed in url box!");
     70    String url = (String)prefix_combobox.getSelectedItem();
     71    int portNumber = 80;
     72
     73    String oldUrl = url;
     74    if(url.indexOf("http://") != -1) {
     75        url = url.substring(7);
     76    }
     77    int colon = url.indexOf(':');
     78    int slash = url.indexOf('/');
     79    if(slash == -1) {
     80        slash = url.length();
     81    }
     82    if(colon != -1) {
     83        url = url.substring(colon+1, slash);
     84        try {
     85        portNumber_spinner.setValue(Integer.decode(url));
     86        } catch(NumberFormatException nfe) { // couldn't parse port number
     87        // not an integer, leave portnumber at 80
     88        String oldNum = Integer.toString((Integer)portNumber_spinner.getValue());
     89        oldUrl = oldUrl.replace(oldNum, "80");
     90        portNumber_spinner.setValue(80);
     91        }
     92    } else { // no port number
     93        oldUrl = oldUrl.replace(url, url+":80");
     94        portNumber_spinner.setValue(80);
     95    }
     96    }
     97
    3098}
Note: See TracChangeset for help on using the changeset viewer.