* Reseeder: Get rid of static instance, root in netDB,

don't use system properties for status
This commit is contained in:
zzz
2012-03-22 19:47:44 +00:00
parent ca57b71266
commit adcd1e8d9a
8 changed files with 182 additions and 63 deletions

View File

@ -20,13 +20,11 @@ public class ConfigReseedHandler extends FormHandler {
if (_action.equals(_("Save changes and reseed now"))) {
saveChanges();
boolean reseedInProgress = Boolean.valueOf(System.getProperty("net.i2p.router.web.ReseedHandler.reseedInProgress")).booleanValue();
if (reseedInProgress) {
if (!_context.netDb().reseedChecker().requestReseed()) {
addFormError(_("Reseeding is already in progress"));
} else {
// skip the nonce checking in ReseedHandler
addFormNotice(_("Starting reseed process"));
(new ReseedHandler(_context)).requestReseed();
}
return;
}
@ -74,8 +72,15 @@ public class ConfigReseedHandler extends FormHandler {
saveString(Reseeder.PROP_SPROXY_PASSWORD, "spassword");
saveBoolean(Reseeder.PROP_SPROXY_AUTH_ENABLE, "sauth");
String url = getJettyString("reseedURL");
if (url != null)
changes.put(Reseeder.PROP_RESEED_URL, url.trim().replace("\r\n", ",").replace("\n", ","));
if (url != null) {
url = url.trim().replace("\r\n", ",").replace("\n", ",");
if (url.length() <= 0) {
addFormNotice("Restoring default URLs");
removes.add(Reseeder.PROP_RESEED_URL);
} else {
changes.put(Reseeder.PROP_RESEED_URL, url);
}
}
String mode = getJettyString("mode");
boolean req = "1".equals(mode);
boolean disabled = "2".equals(mode);

View File

@ -24,11 +24,7 @@ public class ReseedHandler extends HelperBase {
}
}
public void requestReseed() {
synchronized (ReseedHandler.class) {
if (_reseedRunner == null)
_reseedRunner = new Reseeder(_context);
_reseedRunner.requestReseed();
}
private void requestReseed() {
_context.netDb().reseedChecker().requestReseed();
}
}

View File

@ -676,12 +676,12 @@ public class SummaryHelper extends HelperBase {
.append("</a></h4>");
}
boolean reseedInProgress = Boolean.valueOf(System.getProperty("net.i2p.router.web.ReseedHandler.reseedInProgress")).booleanValue();
boolean reseedInProgress = _context.netDb().reseedChecker().inProgress();
// If showing the reseed link is allowed
if (allowReseed()) {
if (reseedInProgress) {
// While reseed occurring, show status message instead
buf.append("<i>").append(System.getProperty("net.i2p.router.web.ReseedHandler.statusMessage","")).append("</i><br>");
buf.append("<i>").append(_context.netDb().reseedChecker().getStatus()).append("</i><br>");
} else {
// While no reseed occurring, show reseed link
long nonce = _context.random().nextLong();
@ -696,7 +696,7 @@ public class SummaryHelper extends HelperBase {
}
// If a new reseed ain't running, and the last reseed had errors, show error message
if (!reseedInProgress) {
String reseedErrorMessage = System.getProperty("net.i2p.router.web.ReseedHandler.errorMessage","");
String reseedErrorMessage = _context.netDb().reseedChecker().getError();
if (reseedErrorMessage.length() > 0) {
buf.append("<i>").append(reseedErrorMessage).append("</i><br>");
}