merge of '522de7791fdad000d42bb5a01f139d913e74d7ef'

and 'ef33b50138594ef55a1dbcd6c77a3d3afeb22ff6'
This commit is contained in:
sponge
2009-08-15 16:22:38 +00:00
67 changed files with 409 additions and 657 deletions

View File

@ -17,6 +17,7 @@ public class ConfigAdvancedHandler extends FormHandler {
private boolean _shouldSave;
private String _config;
@Override
protected void processForm() {
if (_shouldSave) {
saveChanges();

View File

@ -4,7 +4,6 @@ import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
import net.i2p.router.RouterContext;
public class ConfigAdvancedHelper extends HelperBase {
public ConfigAdvancedHelper() {}

View File

@ -20,13 +20,14 @@ import org.mortbay.jetty.Server;
* Saves changes to clients.config or webapps.config
*/
public class ConfigClientsHandler extends FormHandler {
private Log _log;
private Log configClient_log;
private Map _settings;
public ConfigClientsHandler() {
_log = ContextHelper.getContext(null).logManager().getLog(ConfigClientsHandler.class);
configClient_log = ContextHelper.getContext(null).logManager().getLog(ConfigClientsHandler.class);
}
@Override
protected void processForm() {
if (_action.startsWith("Save Client")) {
saveClientChanges();
@ -80,7 +81,7 @@ public class ConfigClientsHandler extends FormHandler {
return;
}
ClientAppConfig ca = (ClientAppConfig) clients.get(i);
LoadClientAppsJob.runClient(ca.className, ca.clientName, LoadClientAppsJob.parseArgs(ca.args), _log);
LoadClientAppsJob.runClient(ca.className, ca.clientName, LoadClientAppsJob.parseArgs(ca.args), configClient_log);
addFormNotice("Client " + ca.clientName + " started.");
}

View File

@ -6,7 +6,6 @@ import java.util.Properties;
import java.util.Set;
import java.util.TreeSet;
import net.i2p.router.RouterContext;
import net.i2p.router.startup.ClientAppConfig;
public class ConfigClientsHelper extends HelperBase {

View File

@ -1,6 +1,5 @@
package net.i2p.router.web;
import net.i2p.I2PAppContext;
import net.i2p.data.DataFormatException;
import net.i2p.data.Hash;
import net.i2p.data.SessionKey;
@ -13,6 +12,7 @@ public class ConfigKeyringHandler extends FormHandler {
private String _peer;
private String _key;
@Override
protected void processForm() {
if ("Add key".equals(_action)) {
if (_peer == null || _key == null) {

View File

@ -4,7 +4,6 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import net.i2p.router.RouterContext;
public class ConfigKeyringHelper extends HelperBase {
public ConfigKeyringHelper() {}

View File

@ -18,6 +18,7 @@ public class ConfigLoggingHandler extends FormHandler {
private String _dateFormat;
private String _fileSize;
@Override
protected void processForm() {
if (_shouldSave) {
saveChanges();

View File

@ -4,7 +4,6 @@ import java.util.Iterator;
import java.util.Properties;
import java.util.TreeSet;
import net.i2p.router.RouterContext;
public class ConfigLoggingHelper extends HelperBase {
public ConfigLoggingHelper() {}
@ -43,7 +42,7 @@ public class ConfigLoggingHelper extends HelperBase {
String level = limits.getProperty(prefix);
buf.append(prefix).append('=').append(level).append('\n');
}
buf.append("</textarea><br />\n");
buf.append("</textarea><br>\n");
buf.append("<i>Add additional logging statements above. Example: net.i2p.router.tunnel=WARN</i><br>");
buf.append("<i>Or put entries in the logger.config file. Example: logger.record.net.i2p.router.tunnel=WARN</i><br>");
buf.append("<i>Valid levels are DEBUG, INFO, WARN, ERROR, CRIT</i>\n");

View File

@ -1,12 +1,10 @@
package net.i2p.router.web;
import net.i2p.data.RouterInfo;
import net.i2p.router.Router;
import net.i2p.router.transport.FIFOBandwidthRefiller;
import net.i2p.router.transport.TransportManager;
import net.i2p.router.transport.udp.UDPTransport;
import net.i2p.router.web.ConfigServiceHandler.UpdateWrapperManagerAndRekeyTask;
import net.i2p.time.Timestamper;
/**
* Handler to deal with form submissions from the main config form and act
@ -44,6 +42,7 @@ public class ConfigNetHandler extends FormHandler {
private static final boolean _ratesOnly = false; // always false - delete me
private static final String PROP_HIDDEN = Router.PROP_HIDDEN_HIDDEN; // see Router for other choice
@Override
protected void processForm() {
if (_saveRequested || ( (_action != null) && ("Save changes".equals(_action)) )) {
saveChanges();

View File

@ -4,7 +4,6 @@ import net.i2p.data.DataHelper;
import net.i2p.data.RouterAddress;
import net.i2p.router.CommSystemFacade;
import net.i2p.router.Router;
import net.i2p.router.RouterContext;
import net.i2p.router.transport.Addresses;
import net.i2p.router.transport.TransportManager;
import net.i2p.router.transport.udp.UDPAddress;

View File

@ -1,12 +1,8 @@
package net.i2p.router.web;
import net.i2p.I2PAppContext;
import net.i2p.data.DataHelper;
import net.i2p.data.Hash;
import net.i2p.data.Base64;
import net.i2p.router.Router;
import net.i2p.router.peermanager.PeerProfile;
import net.i2p.util.Log;
/**
*
@ -16,6 +12,7 @@ public class ConfigPeerHandler extends FormHandler {
private String _speed;
private String _capacity;
@Override
protected void processForm() {
if ("Save Configuration".equals(_action)) {
_context.router().saveConfig();

View File

@ -4,7 +4,6 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import net.i2p.router.RouterContext;
public class ConfigPeerHelper extends HelperBase {
public ConfigPeerHelper() {}

View File

@ -51,14 +51,14 @@ public class ConfigRestartBean {
if (timeRemaining <= 0) {
return "<center><b>Shutdown imminent</b></center>";
} else {
return "<center><b>Shutdown in " + DataHelper.formatDuration(timeRemaining) + "</b></center><br />"
return "<center><b>Shutdown in " + DataHelper.formatDuration(timeRemaining) + "</b></center><br>"
+ buttons(urlBase, systemNonce, "shutdownImmediate,Shutdown immediately,cancelShutdown,Cancel shutdown");
}
} else if (restarting) {
if (timeRemaining <= 0) {
return "<center><b>Restart imminent</b></center>";
} else {
return "<center><b>Restart in " + DataHelper.formatDuration(timeRemaining) + "</b></center><br />"
return "<center><b>Restart in " + DataHelper.formatDuration(timeRemaining) + "</b></center><br>"
+ buttons(urlBase, systemNonce, "restartImmediate,Restart immediately,cancelShutdown,Cancel restart");
}
} else {

View File

@ -1,13 +1,10 @@
package net.i2p.router.web;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.List;
import net.i2p.apps.systray.SysTray;
import net.i2p.apps.systray.UrlLauncher;
import net.i2p.data.DataHelper;
import net.i2p.router.Router;
import net.i2p.router.startup.ClientAppConfig;
@ -49,6 +46,7 @@ public class ConfigServiceHandler extends FormHandler {
}
}
@Override
protected void processForm() {
if (_action == null) return;

View File

@ -28,6 +28,7 @@ public class ConfigStatsHandler extends FormHandler {
_isFull = false;
}
@Override
protected void processForm() {
saveChanges();
}

View File

@ -8,7 +8,6 @@ import java.util.Map;
import java.util.Set;
import java.util.StringTokenizer;
import net.i2p.router.RouterContext;
import net.i2p.stat.FrequencyStat;
import net.i2p.stat.Rate;
import net.i2p.stat.RateStat;
@ -38,6 +37,7 @@ public class ConfigStatsHelper extends HelperBase {
* @param contextId begging few characters of the routerHash, or null to pick
* the first one we come across.
*/
@Override
public void setContextId(String contextId) {
try {
_context = ContextHelper.getContext(contextId);

View File

@ -14,7 +14,7 @@ import net.i2p.util.Log;
*
*/
public class ConfigTunnelsHandler extends FormHandler {
private Log _log;
private Log configTunnel_log;
private Map _settings;
private boolean _shouldSave;
@ -22,6 +22,7 @@ public class ConfigTunnelsHandler extends FormHandler {
_shouldSave = false;
}
@Override
protected void processForm() {
if (_shouldSave) {
saveChanges();
@ -43,11 +44,11 @@ public class ConfigTunnelsHandler extends FormHandler {
*
*/
private void saveChanges() {
_log = _context.logManager().getLog(ConfigTunnelsHandler.class);
configTunnel_log = _context.logManager().getLog(ConfigTunnelsHandler.class);
boolean saveRequired = false;
if (_log.shouldLog(Log.DEBUG))
_log.debug("Saving changes, with props = " + _settings + ".");
if (configTunnel_log.shouldLog(Log.DEBUG))
configTunnel_log.debug("Saving changes, with props = " + _settings + ".");
int updated = 0;
int index = 0;
@ -110,16 +111,16 @@ public class ConfigTunnelsHandler extends FormHandler {
}
if ("exploratory".equals(poolName)) {
if (_log.shouldLog(Log.DEBUG)) {
_log.debug("Inbound exploratory settings: " + in);
_log.debug("Outbound exploratory settings: " + out);
if (configTunnel_log.shouldLog(Log.DEBUG)) {
configTunnel_log.debug("Inbound exploratory settings: " + in);
configTunnel_log.debug("Outbound exploratory settings: " + out);
}
_context.tunnelManager().setInboundSettings(in);
_context.tunnelManager().setOutboundSettings(out);
} else {
if (_log.shouldLog(Log.DEBUG)) {
_log.debug("Inbound settings for " + client.toBase64() + ": " + in);
_log.debug("Outbound settings for " + client.toBase64() + ": " + out);
if (configTunnel_log.shouldLog(Log.DEBUG)) {
configTunnel_log.debug("Inbound settings for " + client.toBase64() + ": " + in);
configTunnel_log.debug("Outbound settings for " + client.toBase64() + ": " + out);
}
_context.tunnelManager().setInboundSettings(client, in);
_context.tunnelManager().setOutboundSettings(client, out);

View File

@ -5,7 +5,6 @@ import java.util.Properties;
import java.util.Set;
import net.i2p.data.Destination;
import net.i2p.router.RouterContext;
import net.i2p.router.TunnelPoolSettings;
public class ConfigTunnelsHelper extends HelperBase {
@ -177,7 +176,7 @@ buf.append("<tr><th></th><th><img src=\"/themes/console/images/inbound.png\" alt
buf.append(prop).append("=").append(val).append(" ");
}
buf.append("\"/></td></tr>\n");
// buf.append("<tr><td colspan=\"3\"><hr /></td></tr>\n");
// buf.append("<tr><td colspan=\"3\"><br></td></tr>\n");
}
private void renderOptions(StringBuilder buf, int min, int max, int now, String prefix, String name) {

View File

@ -5,6 +5,7 @@ public class ConfigUIHandler extends FormHandler {
private boolean _shouldSave;
private String _config;
@Override
protected void processForm() {
if (_shouldSave)
saveChanges();

View File

@ -12,7 +12,7 @@ public class ConfigUIHelper extends HelperBase {
buf.append("<input type=\"radio\" class=\"optbox\" name=\"theme\" ");
if (theme.equals(current))
buf.append("checked=\"true\" ");
buf.append("value=\"").append(theme).append("\"/>").append(theme).append("<br />\n");
buf.append("value=\"").append(theme).append("\"/>").append(theme).append("<br>\n");
}
return buf.toString();
}

View File

@ -49,6 +49,7 @@ public class ConfigUpdateHandler extends FormHandler {
public static final String PROP_TRUSTED_KEYS = "router.trustedUpdateKeys";
@Override
protected void processForm() {
if ("Check for update now".equals(_action)) {
NewsFetcher fetcher = NewsFetcher.getInstance(I2PAppContext.getGlobalContext());

View File

@ -3,7 +3,6 @@ package net.i2p.router.web;
import net.i2p.I2PAppContext;
import net.i2p.crypto.TrustedUpdate;
import net.i2p.data.DataHelper;
import net.i2p.router.RouterContext;
public class ConfigUpdateHelper extends HelperBase {
public ConfigUpdateHelper() {}

View File

@ -1,14 +1,12 @@
package net.i2p.router.web;
import java.io.IOException;
import java.io.Writer;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.TreeSet;
import net.i2p.data.DataHelper;
import net.i2p.router.RouterContext;
import net.i2p.stat.Rate;
public class GraphHelper extends HelperBase {
@ -105,17 +103,17 @@ public class GraphHelper extends HelperBase {
}
public String getForm() {
try {
_out.write("<hr /><h3>Configure Graph Display</h3>");
_out.write("<br><h3>Configure Graph Display</h3>");
_out.write("<p />[<a href=\"configstats.jsp\">Select Stats to Graph</a>]<p />");
_out.write("<form action=\"graphs.jsp\" method=\"GET\">");
_out.write("Periods: <input size=\"3\" type=\"text\" name=\"periodCount\" value=\"" + _periodCount + "\" /><br />\n");
_out.write("Periods: <input size=\"3\" type=\"text\" name=\"periodCount\" value=\"" + _periodCount + "\" /><br>\n");
_out.write("Plot averages: <input type=\"radio\" class=\"optbox\" name=\"showEvents\" value=\"false\" " + (_showEvents ? "" : "checked=\"true\" ") + " /> ");
_out.write("or plot events: <input type=\"radio\" class=\"optbox\" name=\"showEvents\" value=\"true\" "+ (_showEvents ? "checked=\"true\" " : "") + " /><br />\n");
_out.write("or plot events: <input type=\"radio\" class=\"optbox\" name=\"showEvents\" value=\"true\" "+ (_showEvents ? "checked=\"true\" " : "") + " /><br>\n");
_out.write("Image sizes: width: <input size=\"4\" type=\"text\" name=\"width\" value=\"" + _width
+ "\" /> pixels, height: <input size=\"4\" type=\"text\" name=\"height\" value=\"" + _height
+ "\" /><br />\n");
_out.write("Refresh delay: <select name=\"refreshDelay\"><option value=\"60\">1 minute</option><option value=\"120\">2 minutes</option><option value=\"300\">5 minutes</option><option value=\"600\">10 minutes</option><option value=\"1800\">30 minutes</option><option value=\"3600\">1 hour</option><option value=\"-1\">Never</option></select><br />\n");
_out.write("<hr /><div class=\"formaction\"><input type=\"submit\" value=\"Redraw\" /></div></div>");
+ "\" /><br>\n");
_out.write("Refresh delay: <select name=\"refreshDelay\"><option value=\"60\">1 minute</option><option value=\"120\">2 minutes</option><option value=\"300\">5 minutes</option><option value=\"600\">10 minutes</option><option value=\"1800\">30 minutes</option><option value=\"3600\">1 hour</option><option value=\"-1\">Never</option></select><br>\n");
_out.write("<br><div class=\"formaction\"><input type=\"submit\" value=\"Redraw\" /></div></div>");
} catch (IOException ioe) {
ioe.printStackTrace();
}

View File

@ -3,9 +3,7 @@ package net.i2p.router.web;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import net.i2p.router.RouterContext;
public class JobQueueHelper extends HelperBase {
public JobQueueHelper() {}

View File

@ -10,7 +10,7 @@ public class LogsHelper extends HelperBase {
public String getLogs() {
String str = formatMessages(_context.logManager().getBuffer().getMostRecentMessages());
return "Location: <code>" + _context.logManager().currentFile() + "</code><br /><br />" + str;
return "Location: <code>" + _context.logManager().currentFile() + "</code><br><br>" + str;
}
public String getCriticalLogs() {

View File

@ -4,7 +4,6 @@ import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import net.i2p.router.RouterContext;
public class NavHelper extends HelperBase {
private static Map _apps = new HashMap();

View File

@ -3,9 +3,7 @@ package net.i2p.router.web;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import net.i2p.router.RouterContext;
public class NetDbHelper extends HelperBase {
private String _routerPrefix;

View File

@ -3,9 +3,7 @@ package net.i2p.router.web;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import net.i2p.router.RouterContext;
public class OldConsoleHelper extends HelperBase {
public OldConsoleHelper() {}

View File

@ -1,9 +1,7 @@
package net.i2p.router.web;
import java.io.IOException;
import java.io.Writer;
import net.i2p.router.RouterContext;
public class PeerHelper extends HelperBase {
private int _sortFlags;

View File

@ -4,7 +4,6 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import net.i2p.router.RouterContext;
public class ProfilesHelper extends HelperBase {
public ProfilesHelper() {}

View File

@ -1,6 +1,5 @@
package net.i2p.router.web;
import java.io.Writer;
import java.util.Iterator;
import java.util.Set;

View File

@ -80,7 +80,7 @@ public class StatsGenerator {
buf.append(stat);
buf.append("\">");
buf.append(stat);
buf.append("</a></b><br />");
buf.append("</a></b><br>");
if (_context.statManager().isFrequency(stat))
renderFrequency(stat, buf);
else
@ -88,7 +88,7 @@ public class StatsGenerator {
out.write(buf.toString());
buf.setLength(0);
}
out.write("</ul><hr />");
out.write("</ul><br>");
}
out.flush();
}
@ -97,7 +97,7 @@ public class StatsGenerator {
FrequencyStat freq = _context.statManager().getFrequency(name);
buf.append("<i>");
buf.append(freq.getDescription());
buf.append("</i><br />");
buf.append("</i><br>");
long uptime = _context.router().getUptime();
long periods[] = freq.getPeriods();
Arrays.sort(periods);
@ -124,9 +124,9 @@ public class StatsGenerator {
buf.append(" using the lifetime of ");
buf.append(curFreq.getEventCount());
buf.append(" events)");
buf.append("<br />");
buf.append("<br>");
}
buf.append("<br />");
buf.append("<br>");
}
private void renderRate(String name, StringBuilder buf) {
@ -135,10 +135,10 @@ public class StatsGenerator {
if (! "".equals(d)) {
buf.append("<i>");
buf.append(d);
buf.append("</i><br />");
buf.append("</i><br>");
}
if (rate.getLifetimeEventCount() <= 0) {
buf.append("No lifetime events<br />&nbsp;<br />");
buf.append("No lifetime events<br>&nbsp;<br>");
return;
}
long now = _context.clock().now();
@ -217,9 +217,9 @@ public class StatsGenerator {
buf.append(num(rate.getLifetimeAverageValue()));
buf.append(" over ");
buf.append(rate.getLifetimeEventCount());
buf.append(" events<br /></li>");
buf.append(" events<br></li>");
buf.append("</ul>");
buf.append("<br />");
buf.append("<br>");
}
private static void renderPeriod(StringBuilder buf, long period, String name) {

View File

@ -1,15 +1,12 @@
package net.i2p.router.web;
import java.text.Collator;
import java.text.DateFormat;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import net.i2p.data.DataHelper;
import net.i2p.data.Destination;
@ -18,7 +15,6 @@ import net.i2p.data.LeaseSet;
import net.i2p.data.RouterAddress;
import net.i2p.router.CommSystemFacade;
import net.i2p.router.Router;
import net.i2p.router.RouterContext;
import net.i2p.router.RouterVersion;
import net.i2p.router.TunnelPoolSettings;
import net.i2p.router.networkdb.kademlia.FloodfillNetworkDatabaseFacade;
@ -349,18 +345,18 @@ public class SummaryHelper extends HelperBase {
String name = getName(client);
Hash h = client.calculateHash();
buf.append("<tr><td align=\"right\"><b><img src=\"/themes/console/images/");
buf.append("<tr><td align=\"right\"><img src=\"/themes/console/images/");
if (_context.clientManager().shouldPublishLeaseSet(h))
buf.append("server.png\" alt=\"Server\" title=\"Server\" />");
else
buf.append("client.png\" alt=\"Client\" title=\"Client\" />");
buf.append("</td><td align=\"left\"><a href=\"tunnels.jsp#").append(h.toBase64().substring(0,4));
buf.append("</td><td align=\"left\"><b><a href=\"tunnels.jsp#").append(h.toBase64().substring(0,4));
buf.append("\" target=\"_top\" title=\"Show tunnels\">");
if (name.length() < 16)
buf.append(name);
else
buf.append(name.substring(0,15)).append("&hellip;");
buf.append("</a></td>\n");
buf.append("</a></b></td>\n");
LeaseSet ls = _context.netDb().lookupLeaseSetLocally(h);
if (ls != null) {
long timeToExpire = ls.getEarliestLeaseDate() - _context.clock().now();

View File

@ -132,9 +132,11 @@ class SummaryListener implements RateSummaryListener {
RrdDb getData() { return _db; }
long now() { return _context.clock().now(); }
@Override
public boolean equals(Object obj) {
return ((obj instanceof SummaryListener) && ((SummaryListener)obj)._rate.equals(_rate));
}
@Override
public int hashCode() { return _rate.hashCode(); }
}

View File

@ -3,9 +3,7 @@ package net.i2p.router.web;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import net.i2p.router.RouterContext;
public class TunnelHelper extends HelperBase {
public TunnelHelper() {}

View File

@ -2,7 +2,6 @@ package net.i2p.router.web;
import java.io.File;
import net.i2p.I2PAppContext;
import net.i2p.router.Router;
import net.i2p.router.RouterContext;
import net.i2p.util.EepGet;
@ -99,11 +98,11 @@ public class UnsignedUpdateHandler extends UpdateHandler {
_context.router().saveConfig();
if ("install".equals(policy)) {
_log.log(Log.CRIT, "Update was downloaded, restarting to install it");
_status = "<b>Update downloaded</b><br />Restarting";
_status = "<b>Update downloaded</b><br>Restarting";
restart();
} else {
_log.log(Log.CRIT, "Update was downloaded, will be installed at next restart");
_status = "<b>Update downloaded</b><br />";
_status = "<b>Update downloaded</b><br>";
if (System.getProperty("wrapper.version") != null)
_status += "Click Restart to install";
else

View File

@ -167,7 +167,7 @@ public class UpdateHandler {
synchronized (_pct) {
buf.append(_pct.format(pct));
}
buf.append(":<br />\n" + (currentWrite + alreadyTransferred));
buf.append(":<br>\n" + (currentWrite + alreadyTransferred));
buf.append(" transferred");
_status = buf.toString();
}
@ -192,11 +192,11 @@ public class UpdateHandler {
_context.router().saveConfig();
if ("install".equals(policy)) {
_log.log(Log.CRIT, "Update was VERIFIED, restarting to install it");
_status = "<b>Update verified</b><br />Restarting";
_status = "<b>Update verified</b><br>Restarting";
restart();
} else {
_log.log(Log.CRIT, "Update was VERIFIED, will be installed at next restart");
_status = "<b>Update downloaded</b><br />";
_status = "<b>Update downloaded</b><br>";
if (System.getProperty("wrapper.version") != null)
_status += "Click Restart to install";
else