forked from I2P_Developers/i2p.i2p
69 lines
2.5 KiB
Java
69 lines
2.5 KiB
Java
|
package net.i2p.router.web;
|
||
|
|
||
|
import java.util.HashMap;
|
||
|
import java.util.Map;
|
||
|
|
||
|
import net.i2p.router.networkdb.reseed.Reseeder;
|
||
|
|
||
|
/**
|
||
|
* @since 0.8.3
|
||
|
*/
|
||
|
public class ConfigReseedHandler extends FormHandler {
|
||
|
private Map _settings;
|
||
|
|
||
|
@Override
|
||
|
protected void processForm() {
|
||
|
|
||
|
if (_action.equals(_("Save Configuration and Reseed Now"))) {
|
||
|
saveChanges();
|
||
|
boolean reseedInProgress = Boolean.valueOf(System.getProperty("net.i2p.router.web.ReseedHandler.reseedInProgress")).booleanValue();
|
||
|
if (reseedInProgress) {
|
||
|
addFormError(_("Reseeding is already in progress"));
|
||
|
} else {
|
||
|
// skip the nonce checking in ReseedHandler
|
||
|
addFormNotice(_("Starting reseed process"));
|
||
|
(new ReseedHandler(_context)).requestReseed();
|
||
|
}
|
||
|
return;
|
||
|
}
|
||
|
if (_action.equals(_("Save Configuration"))) {
|
||
|
saveChanges();
|
||
|
return;
|
||
|
}
|
||
|
addFormError(_("Unsupported") + ' ' + _action + '.');
|
||
|
}
|
||
|
|
||
|
public void setSettings(Map settings) { _settings = new HashMap(settings); }
|
||
|
|
||
|
/** curses Jetty for returning arrays */
|
||
|
private String getJettyString(String key) {
|
||
|
String[] arr = (String[]) _settings.get(key);
|
||
|
if (arr == null)
|
||
|
return null;
|
||
|
return arr[0].trim();
|
||
|
}
|
||
|
|
||
|
private void saveChanges() {
|
||
|
String port = getJettyString("port");
|
||
|
if (port != null)
|
||
|
_context.router().setConfigSetting(Reseeder.PROP_PROXY_PORT, port);
|
||
|
String host = getJettyString("host");
|
||
|
if (host != null)
|
||
|
_context.router().setConfigSetting(Reseeder.PROP_PROXY_HOST, host);
|
||
|
String url = getJettyString("reseedURL");
|
||
|
if (url != null)
|
||
|
_context.router().setConfigSetting(Reseeder.PROP_RESEED_URL, url.trim().replace("\r\n", ",").replace("\n", ","));
|
||
|
String mode = getJettyString("mode");
|
||
|
boolean req = "1".equals(mode);
|
||
|
boolean disabled = "2".equals(mode);
|
||
|
_context.router().setConfigSetting(Reseeder.PROP_SSL_REQUIRED,
|
||
|
Boolean.toString(req));
|
||
|
_context.router().setConfigSetting(Reseeder.PROP_SSL_DISABLE,
|
||
|
Boolean.toString(disabled));
|
||
|
boolean proxy = getJettyString("enable") != null;
|
||
|
_context.router().setConfigSetting(Reseeder.PROP_PROXY_ENABLE, Boolean.toString(proxy));
|
||
|
_context.router().saveConfig();
|
||
|
addFormNotice(_("Configuration saved successfully."));
|
||
|
}
|
||
|
}
|