Changeset 18710
- Timestamp:
- 2009-03-18T19:03:27+13:00 (15 years ago)
- Location:
- greenstone3/trunk/src/java/org/greenstone/server
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
greenstone3/trunk/src/java/org/greenstone/server/BaseServerSettings.java
r18696 r18710 13 13 14 14 public abstract class BaseServerSettings extends JDialog 15 16 15 { 17 18 16 static Logger logger = Logger.getLogger(BaseServerSettings.class.getName()); 19 17 static final int DEFPORT = 8080; 20 18 21 19 JCheckBox autoEnter; 22 JComboBox servlet_combobox;23 20 24 21 protected JSpinner portNumber_spinner = null; … … 34 31 protected int portNum = DEFPORT; 35 32 protected boolean autoStart = false; 36 protected String servletDefault = null;37 33 protected String browserPath = ""; 38 34 protected boolean useDefaultBrowser = true; 39 35 40 protected HashMap url_mappings = null;41 36 protected JDialog self; 42 37 protected BaseServer server; … … 44 39 public BaseServerSettings(BaseServer server) 45 40 { 46 super( (Frame)null, "", true);41 super(server.getServerControl(), "", true); 47 42 this.self = this; 48 43 this.server = server; … … 82 77 83 78 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, "#####")); 85 80 86 81 autoEnter = new JCheckBox(server.dictionary.get("ServerSettings.Auto_Start")); … … 186 181 187 182 183 protected String onSave() { return ""; } 184 protected void save(ScriptReadWrite scriptReadWrite, ArrayList newFileLines) {} 188 185 protected abstract JPanel createServletPanel(); 189 186 … … 238 235 has_changed = true; 239 236 } 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 246 247 //changed to use other browser 247 248 if (useDefaultBrowser && other_browser_button.isSelected()){ … … 274 275 newFileLines = scriptReadWrite.queryReplace(newFileLines, BaseServer.Property.AUTOSTART, newAutoEnter); 275 276 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 279 280 String osName = System.getProperty("os.name"); 280 281 if (osName.startsWith("Windows")){ -
greenstone3/trunk/src/java/org/greenstone/server/Server2Settings.java
r18693 r18710 1 1 package org.greenstone.server; 2 2 3 import java.awt.BorderLayout; 4 import java.awt.event.*; 3 5 import javax.swing.*; 4 import java .awt.BorderLayout;6 import javax.swing.event.*; 5 7 6 8 import org.greenstone.server.BaseServerSettings; 7 9 8 public class Server2Settings extends BaseServerSettings 10 public class Server2Settings extends BaseServerSettings implements ChangeListener, ActionListener 9 11 { 12 protected JComboBox prefix_combobox; 13 10 14 public Server2Settings(BaseServer server) 11 15 { … … 15 19 protected JPanel createServletPanel() 16 20 { 21 portNumber_spinner.addChangeListener(this); 22 17 23 JLabel prefix_label = new JLabel(server.dictionary.get(BaseServer.Property.SERVER_SETTINGS+".URL")); 18 24 19 JComboBoxprefix_combobox = new JComboBox();25 prefix_combobox = new JComboBox(); 20 26 prefix_combobox.setEditable(true); 21 27 prefix_combobox.addItem(server.getBrowserURL()); 28 prefix_combobox.addActionListener(this); 22 29 23 30 JPanel comb_panel = new JPanel(); … … 27 34 return comb_panel; 28 35 } 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 30 98 }
Note:
See TracChangeset
for help on using the changeset viewer.