source: greenstone3/trunk/src/java/org/greenstone/server/Server2Settings.java@ 18710

Last change on this file since 18710 was 18710, checked in by ak19, 15 years ago

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

File size: 2.5 KB
Line 
1package org.greenstone.server;
2
3import java.awt.BorderLayout;
4import java.awt.event.*;
5import javax.swing.*;
6import javax.swing.event.*;
7
8import org.greenstone.server.BaseServerSettings;
9
10public class Server2Settings extends BaseServerSettings implements ChangeListener, ActionListener
11{
12 protected JComboBox prefix_combobox;
13
14 public Server2Settings(BaseServer server)
15 {
16 super(server);
17 }
18
19 protected JPanel createServletPanel()
20 {
21 portNumber_spinner.addChangeListener(this);
22
23 JLabel prefix_label = new JLabel(server.dictionary.get(BaseServer.Property.SERVER_SETTINGS+".URL"));
24
25 prefix_combobox = new JComboBox();
26 prefix_combobox.setEditable(true);
27 prefix_combobox.addItem(server.getBrowserURL());
28 prefix_combobox.addActionListener(this);
29
30 JPanel comb_panel = new JPanel();
31 comb_panel.setLayout(new BorderLayout());
32 comb_panel.add(prefix_label, BorderLayout.NORTH);
33 comb_panel.add(prefix_combobox, BorderLayout.CENTER);
34 return comb_panel;
35 }
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
98}
Note: See TracBrowser for help on using the repository browser.