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 8c5474d62..6e9c4691b 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(""); @@ -82,151 +86,75 @@ public class ConfigTunnelsHelper { // tunnel depth buf.append("Depth\n"); buf.append("\n"); - buf.append("\n"); - buf.append("\n"); - buf.append("\n"); - buf.append("\n"); - if (out.getLength() > 3) - buf.append("\n"); + now = out.getLength(); + renderOptions(buf, 0, MAX_LENGTH, now, "", "hop"); + if (now > MAX_LENGTH) + renderOptions(buf, now, now, now, "", "hop"); buf.append("\n"); buf.append("\n"); // tunnel depth variance buf.append("Randomization\n"); buf.append("\n"); - buf.append("\n"); - buf.append("\n"); - buf.append("\n"); - buf.append("\n"); - buf.append("\n"); - if (out.getLengthVariance() < -2) - buf.append("\n"); - if (out.getLengthVariance() > 2) - buf.append("\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("\n"); // tunnel quantity buf.append("Quantity\n"); buf.append("\n"); - buf.append("\n"); - buf.append("\n"); - buf.append("\n"); - if (out.getQuantity() > 3) - buf.append("\n"); + now = out.getQuantity(); + renderOptions(buf, 1, MAX_QUANTITY, now, "", "tunnel"); + if (now > MAX_QUANTITY) + renderOptions(buf, now, now, now, "", "tunnel"); buf.append("\n"); buf.append("\n"); // tunnel backup quantity buf.append("Backup quantity\n"); buf.append("\n"); - buf.append("\n"); - buf.append("\n"); - buf.append("\n"); - buf.append("\n"); - if (out.getBackupQuantity() > 3) - buf.append("\n"); + now = in.getBackupQuantity(); + renderOptions(buf, 0, MAX_QUANTITY, now, "", "tunnel"); + if (now > MAX_QUANTITY) + renderOptions(buf, now, now, now, "", "tunnel"); buf.append("\n"); buf.append("\n"); @@ -255,4 +183,16 @@ public class ConfigTunnelsHelper { buf.append("\"/>\n"); buf.append("
\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("\n"); + } + } }