From f95c324832ba5c1cce05c9493b8da31fa89acedf Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Sun, 9 Nov 2008 15:59:35 +0000 Subject: [PATCH] * configtunnels.jsp: - Code cleanup - Add 4-hop option - Remove +/- 0-2 option --- .../i2p/router/web/ConfigTunnelsHelper.java | 174 ++++++------------ 1 file changed, 57 insertions(+), 117 deletions(-) diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHelper.java index 8c5474d622..6e9c4691b9 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHelper.java @@ -62,7 +62,11 @@ public class ConfigTunnelsHelper { return buf.toString(); } - static final int WARN_LENGTH = 4; + private static final int WARN_LENGTH = 4; + private static final int MAX_LENGTH = 4; + private static final int MAX_QUANTITY = 3; + private static final int MAX_VARIANCE = 2; + private static final int MIN_NEG_VARIANCE = -1; private void renderForm(StringBuffer buf, int index, String prefix, String name, TunnelPoolSettings in, TunnelPoolSettings out) { buf.append("<tr><td colspan=\"3\"><b><a name=\"").append(prefix).append("\">"); @@ -82,151 +86,75 @@ public class ConfigTunnelsHelper { // tunnel depth buf.append("<tr><td>Depth</td>\n"); buf.append("<td><select name=\"").append(index).append(".depthInbound\">\n"); - buf.append("<option value=\"0\" "); - if (in.getLength() <= 0) buf.append(" selected=\"true\" "); - buf.append(">0 hops</option>\n"); - buf.append("<option value=\"1\" "); - if (in.getLength() == 1) buf.append(" selected=\"true\" "); - buf.append(">1 hop</option>\n"); - buf.append("<option value=\"2\" "); - if (in.getLength() == 2) buf.append(" selected=\"true\" "); - buf.append(">2 hops</option>\n"); - buf.append("<option value=\"3\" "); - if (in.getLength() == 3) buf.append(" selected=\"true\" "); - buf.append(">3 hops</option>\n"); - if (in.getLength() > 3) - buf.append("<option value=\"").append(in.getLength()).append("\">").append(in.getLength()).append(" hops</option>\n"); + int now = in.getLength(); + renderOptions(buf, 0, MAX_LENGTH, now, "", "hop"); + if (now > MAX_LENGTH) + renderOptions(buf, now, now, now, "", "hop"); buf.append("</td>\n"); buf.append("<td><select name=\"").append(index).append(".depthOutbound\">\n"); - buf.append("<option value=\"0\" "); - if (out.getLength() <= 0) buf.append(" selected=\"true\" "); - buf.append(">0 hops</option>\n"); - buf.append("<option value=\"1\" "); - if (out.getLength() == 1) buf.append(" selected=\"true\" "); - buf.append(">1 hop</option>\n"); - buf.append("<option value=\"2\" "); - if (out.getLength() == 2) buf.append(" selected=\"true\" "); - buf.append(">2 hops</option>\n"); - buf.append("<option value=\"3\" "); - if (out.getLength() == 3) buf.append(" selected=\"true\" "); - buf.append(">3 hops</option>\n"); - if (out.getLength() > 3) - buf.append("<option value=\"").append(out.getLength()).append("\">").append(out.getLength()).append(" hops</option>\n"); + now = out.getLength(); + renderOptions(buf, 0, MAX_LENGTH, now, "", "hop"); + if (now > MAX_LENGTH) + renderOptions(buf, now, now, now, "", "hop"); buf.append("</td>\n"); buf.append("</tr>\n"); // tunnel depth variance buf.append("<tr><td>Randomization</td>\n"); buf.append("<td><select name=\"").append(index).append(".varianceInbound\">\n"); - buf.append("<option value=\"0\" "); - if (in.getLengthVariance() == 0) buf.append(" selected=\"true\" "); - buf.append(">0 hops</option>\n"); - buf.append("<option value=\"-1\" "); - if (in.getLengthVariance() == -1) buf.append(" selected=\"true\" "); - buf.append(">+/- 0-1 hops</option>\n"); - buf.append("<option value=\"-2\" "); - if (in.getLengthVariance() == -2) buf.append(" selected=\"true\" "); - buf.append(">+/- 0-2 hops</option>\n"); - buf.append("<option value=\"1\" "); - if (in.getLengthVariance() == 1) buf.append(" selected=\"true\" "); - buf.append(">+ 0-1 hops</option>\n"); - buf.append("<option value=\"2\" "); - if (in.getLengthVariance() == 2) buf.append(" selected=\"true\" "); - buf.append(">+ 0-2 hops</option>\n"); - if (in.getLengthVariance() < -2) - buf.append("<option value=\"").append(in.getLengthVariance()).append("\">+/- 0-").append(in.getLengthVariance()).append(" hops</option>\n"); - if (in.getLengthVariance() > 2) - buf.append("<option value=\"").append(in.getLengthVariance()).append("\">+ 0-").append(in.getLengthVariance()).append(" hops</option>\n"); + now = in.getLengthVariance(); + renderOptions(buf, 0, 0, now, "", "hop"); + renderOptions(buf, 1, MAX_VARIANCE, now, "+ 0-", "hop"); + renderOptions(buf, MIN_NEG_VARIANCE, -1, now, "+/- 0", "hop"); + if (now > MAX_VARIANCE) + renderOptions(buf, now, now, now, "+ 0-", "hop"); + else if (now < MIN_NEG_VARIANCE) + renderOptions(buf, now, now, now, "+/- 0", "hop"); buf.append("</td>\n"); buf.append("<td><select name=\"").append(index).append(".varianceOutbound\">\n"); - buf.append("<option value=\"0\" "); - if (out.getLengthVariance() == 0) buf.append(" selected=\"true\" "); - buf.append(">0 hops</option>\n"); - buf.append("<option value=\"-1\" "); - if (out.getLengthVariance() == -1) buf.append(" selected=\"true\" "); - buf.append(">+/- 0-1 hops</option>\n"); - buf.append("<option value=\"-2\" "); - if (out.getLengthVariance() == -2) buf.append(" selected=\"true\" "); - buf.append(">+/- 0-2 hops</option>\n"); - buf.append("<option value=\"1\" "); - if (out.getLengthVariance() == 1) buf.append(" selected=\"true\" "); - buf.append(">+ 0-1 hops</option>\n"); - buf.append("<option value=\"2\" "); - if (out.getLengthVariance() == 2) buf.append(" selected=\"true\" "); - buf.append(">+ 0-2 hops</option>\n"); - if (out.getLengthVariance() < -2) - buf.append("<option value=\"").append(out.getLengthVariance()).append("\">+/- 0-").append(out.getLengthVariance()).append(" hops</option>\n"); - if (out.getLengthVariance() > 2) - buf.append("<option value=\"").append(out.getLengthVariance()).append("\">+ 0-").append(out.getLengthVariance()).append(" hops</option>\n"); + now = out.getLengthVariance(); + renderOptions(buf, 0, 0, now, "", "hop"); + renderOptions(buf, 1, MAX_VARIANCE, now, "+ 0-", "hop"); + renderOptions(buf, MIN_NEG_VARIANCE, -1, now, "+/- 0", "hop"); + if (now > MAX_VARIANCE) + renderOptions(buf, now, now, now, "+ 0-", "hop"); + else if (now < MIN_NEG_VARIANCE) + renderOptions(buf, now, now, now, "+/- 0", "hop"); buf.append("</td>\n"); // tunnel quantity buf.append("<tr><td>Quantity</td>\n"); buf.append("<td><select name=\"").append(index).append(".quantityInbound\">\n"); - buf.append("<option value=\"1\" "); - if (in.getQuantity() <= 1) buf.append(" selected=\"true\" "); - buf.append(">1 tunnel</option>\n"); - buf.append("<option value=\"2\" "); - if (in.getQuantity() == 2) buf.append(" selected=\"true\" "); - buf.append(">2 tunnels</option>\n"); - buf.append("<option value=\"3\" "); - if (in.getQuantity() == 3) buf.append(" selected=\"true\" "); - buf.append(">3 tunnels</option>\n"); - if (in.getQuantity() > 3) - buf.append("<option value=\"").append(in.getQuantity()).append("\">").append(in.getQuantity()).append(" tunnels</option>\n"); + now = in.getQuantity(); + renderOptions(buf, 1, MAX_QUANTITY, now, "", "tunnel"); + if (now > MAX_QUANTITY) + renderOptions(buf, now, now, now, "", "tunnel"); buf.append("</td>\n"); buf.append("<td><select name=\"").append(index).append(".quantityOutbound\">\n"); - buf.append("<option value=\"1\" "); - if (out.getQuantity() <= 1) buf.append(" selected=\"true\" "); - buf.append(">1 tunnel</option>\n"); - buf.append("<option value=\"2\" "); - if (out.getQuantity() == 2) buf.append(" selected=\"true\" "); - buf.append(">2 tunnels</option>\n"); - buf.append("<option value=\"3\" "); - if (out.getQuantity() == 3) buf.append(" selected=\"true\" "); - buf.append(">3 tunnels</option>\n"); - if (out.getQuantity() > 3) - buf.append("<option value=\"").append(out.getQuantity()).append("\">").append(out.getQuantity()).append(" tunnels</option>\n"); + now = out.getQuantity(); + renderOptions(buf, 1, MAX_QUANTITY, now, "", "tunnel"); + if (now > MAX_QUANTITY) + renderOptions(buf, now, now, now, "", "tunnel"); buf.append("</td>\n"); buf.append("</tr>\n"); // tunnel backup quantity buf.append("<tr><td>Backup quantity</td>\n"); buf.append("<td><select name=\"").append(index).append(".backupInbound\">\n"); - buf.append("<option value=\"0\" "); - if (in.getBackupQuantity() <= 0) buf.append(" selected=\"true\" "); - buf.append(">0 tunnels</option>\n"); - buf.append("<option value=\"1\" "); - if (in.getBackupQuantity() == 1) buf.append(" selected=\"true\" "); - buf.append(">1 tunnel</option>\n"); - buf.append("<option value=\"2\" "); - if (in.getBackupQuantity() == 2) buf.append(" selected=\"true\" "); - buf.append(">2 tunnels</option>\n"); - buf.append("<option value=\"3\" "); - if (in.getBackupQuantity() == 3) buf.append(" selected=\"true\" "); - buf.append(">3 tunnels</option>\n"); - if (in.getBackupQuantity() > 3) - buf.append("<option value=\"").append(in.getBackupQuantity()).append("\">").append(in.getBackupQuantity()).append(" tunnels</option>\n"); + now = in.getBackupQuantity(); + renderOptions(buf, 0, MAX_QUANTITY, now, "", "tunnel"); + if (now > MAX_QUANTITY) + renderOptions(buf, now, now, now, "", "tunnel"); buf.append("</td>\n"); buf.append("<td><select name=\"").append(index).append(".backupOutbound\">\n"); - buf.append("<option value=\"0\" "); - if (out.getBackupQuantity() <= 0) buf.append(" selected=\"true\" "); - buf.append(">0 tunnel</option>\n"); - buf.append("<option value=\"1\" "); - if (out.getBackupQuantity() == 1) buf.append(" selected=\"true\" "); - buf.append(">1 tunnel</option>\n"); - buf.append("<option value=\"2\" "); - if (out.getBackupQuantity() == 2) buf.append(" selected=\"true\" "); - buf.append(">2 tunnels</option>\n"); - buf.append("<option value=\"3\" "); - if (out.getBackupQuantity() == 3) buf.append(" selected=\"true\" "); - buf.append(">3 tunnels</option>\n"); - if (out.getBackupQuantity() > 3) - buf.append("<option value=\"").append(out.getBackupQuantity()).append("\">").append(out.getBackupQuantity()).append(" tunnels</option>\n"); + now = in.getBackupQuantity(); + renderOptions(buf, 0, MAX_QUANTITY, now, "", "tunnel"); + if (now > MAX_QUANTITY) + renderOptions(buf, now, now, now, "", "tunnel"); buf.append("</td>\n"); buf.append("</tr>\n"); @@ -255,4 +183,16 @@ public class ConfigTunnelsHelper { buf.append("\"/></td></tr>\n"); buf.append("<tr><td colspan=\"3\"><hr /></td></tr>\n"); } + + private void renderOptions(StringBuffer buf, int min, int max, int now, String prefix, String name) { + for (int i = min; i <= max; i++) { + buf.append("<option value=\"").append(i).append("\" "); + if (i == now) + buf.append("selected=\"true\" "); + buf.append(">").append(prefix).append(i).append(' ').append(name); + if (i != 1 && i != -1) + buf.append('s'); + buf.append("</option>\n"); + } + } } -- GitLab