Changeset af49a90 for apps


Ignore:
Timestamp:
Dec 23, 2018 1:21:27 PM (17 months ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
aad80eb
Parents:
fa6a4ca1
Message:

Sybil: Add background run form

Location:
apps/routerconsole/java/src/net/i2p/router
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • apps/routerconsole/java/src/net/i2p/router/sybil/Analysis.java

    rfa6a4ca1 raf49a90  
    193193            getTiming().setStartAfter(when);
    194194            _context.jobQueue().addJob(this);
     195        } else {
     196            _context.jobQueue().removeJob(this);
    195197        }
    196198    }
  • apps/routerconsole/java/src/net/i2p/router/web/helpers/NetDbHelper.java

    rfa6a4ca1 raf49a90  
    77import net.i2p.data.DataHelper;
    88import net.i2p.util.SystemVersion;
     9import net.i2p.router.sybil.Analysis;
    910import net.i2p.router.web.FormHandler;
    1011
     
    220221        _postOK = "Run new analysis".equals(_action) ||
    221222                  "Review analysis".equals(_action);
     223        if ("Save".equals(_action)) {
     224            String newTime = getJettyString("runFrequency");
     225            if (newTime != null) {
     226                try {
     227                    long ntime = Long.parseLong(newTime) * 60*60*1000;
     228                    if (_context.router().saveConfig(Analysis.PROP_FREQUENCY, Long.toString(ntime)))
     229                        addFormNotice(_t("Configuration saved successfully."));
     230                    else
     231                        addFormError("Error saving the configuration (applied but not saved) - please see the error logs");
     232                    Analysis.getInstance(_context).schedule();
     233                } catch (NumberFormatException nfe) {
     234                        addFormError("bad value");
     235                }
     236            }
     237        }
    222238    }
    223239
  • apps/routerconsole/java/src/net/i2p/router/web/helpers/SybilRenderer.java

    rfa6a4ca1 raf49a90  
    6868    private static final double MIN_CLOSE = Analysis.MIN_CLOSE;
    6969    private static final double MIN_DISPLAY_POINTS = 12.01;
     70    private static final int[] HOURS = { 1, 6, 24, 7*24, 30*24, 0 };
    7071
    7172    public SybilRenderer(RouterContext ctx) {
     
    144145                   "<div id=\"sybilnav\"><ul><li><a href=\"netdb?f=3\">Review stored analysis</a>" +
    145146                   "</li><li><a href=\"netdb?f=3&amp;m=14\">Run new analysis</a>" +
     147                   "</li><li><a href=\"netdb?f=3&amp;m=15\">Configure periodic analysis</a>" +
    146148                   "</li><li><a href=\"netdb?f=3&amp;m=1\">Floodfill Summary</a>" +
    147149                   "</li><li><a href=\"netdb?f=3&amp;m=2\">Same Family</a>" +
     
    216218            renderThreatsHTML(out, buf, now, points);
    217219        } else if (mode == 14) {
    218             // show form
     220            // show run form
    219221            renderRunForm(out, buf, nonce);
     222        } else if (mode == 15) {
     223            // show background form
     224            renderBackgroundForm(out, buf, nonce);
    220225        } else {
    221226            out.write("Unknown mode " + mode);
     
    236241                       "<input type=\"hidden\" name=\"f\" value=\"3\">\n" +
    237242                       "<input type=\"hidden\" name=\"m\" value=\"12\">\n" +
    238                        "<input type=\"hidden\" name=\"nonce\" value=\"" + nonce + "\" >\n" +
     243                       "<input type=\"hidden\" name=\"nonce\" value=\"").append(nonce).append("\" >\n" +
    239244                       "Select stored analysis: " +
    240245                       "<select name=\"date\">\n");
     
    257262    }
    258263
    259 
    260264    /**
    261265     *  @since 0.9.38
    262266     */
    263     private void renderRunForm(Writer out, StringBuilder buf, String nonce) throws IOException {
     267    private static void renderRunForm(Writer out, StringBuilder buf, String nonce) throws IOException {
    264268        buf.append("<form action=\"netdb\" method=\"POST\">\n" +
    265269                   "<input type=\"hidden\" name=\"f\" value=\"3\">\n" +
    266270                   "<input type=\"hidden\" name=\"m\" value=\"13\">\n" +
    267                    "<input type=\"hidden\" name=\"nonce\" value=\"" + nonce + "\" >\n" +
     271                   "<input type=\"hidden\" name=\"nonce\" value=\"").append(nonce).append("\" >\n" +
    268272                   "<input type=\"submit\" name=\"action\" class=\"go\" value=\"Run new analysis\" />" +
     273                   "</form>\n");
     274        writeBuf(out, buf);
     275    }
     276
     277    /**
     278     *  @since 0.9.38
     279     */
     280    private void renderBackgroundForm(Writer out, StringBuilder buf, String nonce) throws IOException {
     281        long freq = _context.getProperty(Analysis.PROP_FREQUENCY, 0L);
     282        buf.append("<form action=\"netdb\" method=\"POST\">\n" +
     283                   "<input type=\"hidden\" name=\"f\" value=\"3\">\n" +
     284                   "<input type=\"hidden\" name=\"m\" value=\"15\">\n" +
     285                   "<input type=\"hidden\" name=\"nonce\" value=\"").append(nonce).append("\" >\n" +
     286                   "Background analysis run frequency: <select name=\"runFrequency\">");
     287        for (int i = 0; i < HOURS.length; i++) {
     288            buf.append("<option value=\"");
     289            buf.append(Integer.toString(HOURS[i]));
     290            buf.append('"');
     291            long time = HOURS[i] * 60*60*1000L;
     292            if (time == freq)
     293                buf.append(" selected=\"selected\"");
     294            buf.append('>');
     295            if (HOURS[i] > 0)
     296                buf.append(DataHelper.formatDuration2(time));
     297            else
     298                buf.append(_t("Never"));
     299            buf.append("</option>\n");
     300        }
     301        buf.append("</select> " +
     302                   "<input type=\"submit\" name=\"action\" class=\"accept\" value=\"Save\" />" +
    269303                   "</form>\n");
    270304        writeBuf(out, buf);
Note: See TracChangeset for help on using the changeset viewer.