Author: zothar
Date: 2006-06-16 22:26:12 +0000 (Fri, 16 Jun 2006)
New Revision: 9234

Modified:
   trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
   trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
   trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java
   trunk/freenet/src/freenet/node/Version.java
Log:
821: Add advanced mode to /darknet/ page

Modified: trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java       
2006-06-16 20:52:19 UTC (rev 9233)
+++ trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java       
2006-06-16 22:26:12 UTC (rev 9234)
@@ -61,7 +61,6 @@
                        this.writeReply(ctx, 200, "text/plain", "OK", 
sw.toString());
                        return;
                }
-               
                StringBuffer buf = new StringBuffer(1024);

                //HTTPRequest request = new HTTPRequest(uri);
@@ -73,6 +72,8 @@

                long now = System.currentTimeMillis();

+               boolean advancedEnabled = 
node.getToadletContainer().isAdvancedDarknetEnabled();
+               
                node.alerts.toSummaryHtml(buf);

                /* node status values */
@@ -92,19 +93,20 @@
                buf.append("<table class=\"column\"><tr><td class=\"first\">");

                /* node status overview box */
-               buf.append("<div class=\"infobox\">");
-               buf.append("<div class=\"infobox-header\">Node status 
overview</div>");
-               buf.append("<div class=\"infobox-content\">");
-               buf.append("<ul>");
-               
buf.append("<li>bwlimitDelayTime:&nbsp;").append(bwlimitDelayTime).append("ms</li>");
-               
buf.append("<li>nodeAveragePingTime:&nbsp;").append(nodeAveragePingTime).append("ms</li>");
-               
buf.append("<li>networkSizeEstimate:&nbsp;").append(networkSizeEstimate).append("&nbsp;nodes</li>");
-               
buf.append("<li>nodeUptime:&nbsp;").append(nodeUptimeString).append("</li>");
-               buf.append("</ul></div>");
-               buf.append("</div>\n");
+               if(advancedEnabled) {
+                       buf.append("<div class=\"infobox\">");
+                       buf.append("<div class=\"infobox-header\">Node status 
overview</div>");
+                       buf.append("<div class=\"infobox-content\">");
+                       buf.append("<ul>");
+                       
buf.append("<li>bwlimitDelayTime:&nbsp;").append(bwlimitDelayTime).append("ms</li>");
+                       
buf.append("<li>nodeAveragePingTime:&nbsp;").append(nodeAveragePingTime).append("ms</li>");
+                       
buf.append("<li>networkSizeEstimate:&nbsp;").append(networkSizeEstimate).append("&nbsp;nodes</li>");
+                       
buf.append("<li>nodeUptime:&nbsp;").append(nodeUptimeString).append("</li>");
+                       buf.append("</ul></div>");
+                       buf.append("</div>\n");
+                       buf.append("</td><td>");
+               }

-               buf.append("</td><td>");
-               
                // Activity box
                int numInserts = node.getNumInserts();
                int numRequests = node.getNumRequests();
@@ -129,8 +131,10 @@
                        if (numTransferringRequests > 0) {
                                
buf.append("<li>Transferring&nbsp;Requests:&nbsp;").append(numTransferringRequests).append("</li>");
                        }
-                       if (numARKFetchers > 0) {
-                               
buf.append("<li>ARK&nbsp;Fetch&nbsp;Requests:&nbsp;").append(numARKFetchers).append("</li>");
+                       if(advancedEnabled) {
+                               if (numARKFetchers > 0) {
+                                       
buf.append("<li>ARK&nbsp;Fetch&nbsp;Requests:&nbsp;").append(numARKFetchers).append("</li>");
+                               }
                        }
                        buf.append("</ul>\n");
                }
@@ -166,36 +170,39 @@
                buf.append("</div>");
                buf.append("</div>\n");

-               buf.append("</td><td class=\"last\">");
-               
                // Peer routing backoff reason box
-               buf.append("<div class=\"infobox\">");
-               buf.append("<div class=\"infobox-header\">Peer backoff 
reasons</div>");
-               buf.append("<div class=\"infobox-content\">");
-               String [] routingBackoffReasons = 
node.getPeerNodeRoutingBackoffReasons();
-               if(routingBackoffReasons.length == 0) {
-                       buf.append("Good, your node is not backed off from any 
peers!<br/>\n");
-               } else {
-                       buf.append("<ul>\n");
-                       for(int i=0;i<routingBackoffReasons.length;i++) {
-                               int reasonCount = 
node.getPeerNodeRoutingBackoffReasonSize(routingBackoffReasons[i]);
-                               if(reasonCount > 0) {
-                                       
buf.append("<li>").append(routingBackoffReasons[i]).append(":&nbsp;").append(reasonCount).append("</li>\n");
+               if(advancedEnabled) {
+                       buf.append("</td><td class=\"last\">");
+                       buf.append("<div class=\"infobox\">");
+                       buf.append("<div class=\"infobox-header\">Peer backoff 
reasons</div>");
+                       buf.append("<div class=\"infobox-content\">");
+                       String [] routingBackoffReasons = 
node.getPeerNodeRoutingBackoffReasons();
+                       if(routingBackoffReasons.length == 0) {
+                               buf.append("Good, your node is not backed off 
from any peers!<br/>\n");
+                       } else {
+                               buf.append("<ul>\n");
+                               for(int i=0;i<routingBackoffReasons.length;i++) 
{
+                                       int reasonCount = 
node.getPeerNodeRoutingBackoffReasonSize(routingBackoffReasons[i]);
+                                       if(reasonCount > 0) {
+                                               
buf.append("<li>").append(routingBackoffReasons[i]).append(":&nbsp;").append(reasonCount).append("</li>\n");
+                                       }
                                }
+                               buf.append("</ul>\n");
                        }
-                       buf.append("</ul>\n");
+                       buf.append("</div>");
+                       buf.append("</div>\n");
                }
-               buf.append("</div>");
-               buf.append("</div>\n");

                buf.append("</td></tr></table>\n");

                buf.append("<div class=\"infobox infobox-normal\">\n");
                buf.append("<div class=\"infobox-header\">\n");
                buf.append("My Peers");
-               if (!path.endsWith("displaymessagetypes.html"))
-               {
-                       buf.append(" <a href=\"displaymessagetypes.html\">(more 
detailed)</a>");
+               if(advancedEnabled) {
+                       if (!path.endsWith("displaymessagetypes.html"))
+                       {
+                               buf.append(" <a 
href=\"displaymessagetypes.html\">(more detailed)</a>");
+                       }
                }
                buf.append("</div>\n");
                buf.append("<div class=\"infobox-content\">\n");
@@ -231,14 +238,21 @@
                                long idle = pn.lastReceivedPacketTime();
                                if(((Integer) status).intValue() == 
Node.PEER_NODE_STATUS_NEVER_CONNECTED)
                                        idle = pn.getPeerAddedTime();
-                               String lastBackoffReasonOutputString = "/";
-                               String backoffReason = 
pn.getLastBackoffReason();
-                               if( backoffReason != null ) {
-                                       lastBackoffReasonOutputString = 
"/"+backoffReason;
+                               String lastBackoffReasonOutputString = "";
+                               if(advancedEnabled) {
+                                       String backoffReason = 
pn.getLastBackoffReason();
+                                       if( backoffReason != null ) {
+                                               lastBackoffReasonOutputString = 
"/"+backoffReason;
+                                       } else {
+                                               lastBackoffReasonOutputString = 
"/";
+                                       }
                                }
                                String avgPingTimeString = "";
-                               if(pn.isConnected())
-                                       avgPingTimeString = " ("+(int) 
pn.averagePingTime()+"ms)";
+                               if(advancedEnabled) {
+                                       if(pn.isConnected()) {
+                                               avgPingTimeString = " ("+(int) 
pn.averagePingTime()+"ms)";
+                                       }
+                               }
                                String VersionPrefixString = "";
                                String VersionSuffixString = "";
                                if(pn.publicInvalidVersion() || 
pn.publicReverseInvalidVersion()) {
@@ -272,8 +286,10 @@
                                Object[] row = rows[i];
                                int x = ((Integer) row[2]).intValue();
                                String arkAsterisk = "";
-                               if(((PeerNode) row[0]).isFetchingARK()) {
-                                       arkAsterisk = "*";
+                               if(advancedEnabled) {
+                                       if(((PeerNode) row[0]).isFetchingARK()) 
{
+                                               arkAsterisk = "*";
+                                       }
                                }
                                row[2] = "<span class=\""+((PeerNode) 
row[0]).getPeerNodeStatusCSSClassName()+"\">"+((PeerNode) 
row[0]).getPeerNodeStatusString()+arkAsterisk+"</span>";
                        }
@@ -324,7 +340,10 @@
                        //
                        buf.append(buf2);
                        //
-                       buf.append("<input type=\"submit\" name=\"remove\" 
value=\"Remove selected peers\" />&nbsp;&nbsp;&nbsp;<span 
class=\"darknet_connections\">* Requesting ARK</span>\n");
+                       buf.append("<input type=\"submit\" name=\"remove\" 
value=\"Remove selected peers\" />");
+                       if(advancedEnabled) {
+                               buf.append("&nbsp;&nbsp;&nbsp;<span 
class=\"darknet_connections\">* Requesting ARK</span>\n");
+                       }
                        buf.append("<input type=\"hidden\" 
name=\"formPassword\" value=\"").append(node.formPassword).append("\" />");
                        buf.append("</form>\n");
                }

Modified: trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java     
2006-06-16 20:52:19 UTC (rev 9233)
+++ trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java     
2006-06-16 22:26:12 UTC (rev 9234)
@@ -44,6 +44,7 @@
        private final LinkedList toadlets;
        private String cssName;
        private Thread myThread;
+       private boolean advancedDarknetEnabled;

        static final int DEFAULT_FPROXY_PORT = 8888;

@@ -123,6 +124,21 @@
                }
        }

+       class FProxyAdvancedDarknetEnabledCallback implements BooleanCallback {
+               
+               public boolean get() {
+                       synchronized(SimpleToadletServer.this) {
+                               return advancedDarknetEnabled;
+                       }
+               }
+               public void set(boolean val) throws InvalidConfigValueException 
{
+                       if(val == get()) return;
+                       synchronized(SimpleToadletServer.this) {
+                               SimpleToadletServer.this.advancedDarknetEnabled 
= val;
+                       }
+               }
+       }
+       
        /**
         * Create a SimpleToadletServer, using the settings from the SubConfig 
(the fproxy.*
         * config).
@@ -142,6 +158,8 @@
                                new FProxyAllowedHostsCallback());
                fproxyConfig.register("css", "clean", 1, true, "CSS Name", 
"Name of the CSS FProxy should use",
                                new FProxyCSSNameCallback());
+               fproxyConfig.register("advancedDarknetEnabled", false, 1, true, 
"Enable Advanced Darknet?", "Whether to enable show information meant for 
advanced users/devs on /darkenet/ page",
+                               new FProxyAdvancedDarknetEnabledCallback());

                this.bf = node.tempBucketFactory;
                port = fproxyConfig.getInt("port");
@@ -150,6 +168,7 @@
                cssName = fproxyConfig.getString("css");
                if(cssName.indexOf(':') != -1 || cssName.indexOf('/') != -1)
                        throw new InvalidConfigValueException("CSS name must 
not contain slashes or colons!");
+               boolean advancedDarknetEnabled = 
fproxyConfig.getBoolean("advancedDarknetEnabled");

                toadlets = new LinkedList();
                node.setToadletContainer(this); // even if not enabled, because 
of config
@@ -273,4 +292,8 @@
        public void setCSSName(String name) {
                this.cssName = name;
        }
+
+       public boolean isAdvancedDarknetEnabled() {
+               return this.advancedDarknetEnabled;
+       }
 }

Modified: trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java  2006-06-16 
20:52:19 UTC (rev 9233)
+++ trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java  2006-06-16 
22:26:12 UTC (rev 9234)
@@ -264,6 +264,8 @@
        public void handleGet(URI uri, ToadletContext ctx) throws 
ToadletContextClosedException, IOException {
                StringBuffer buf = new StringBuffer();

+               boolean advancedDarknetOutputEnabled = 
node.getToadletContainer().isAdvancedDarknetEnabled();
+               
                HTTPRequest request = new HTTPRequest(uri);
                if (request.getParam("newbookmark").length() > 0) {
                        ctx.getPageMaker().makeHead(buf, "Add A Bookmark");
@@ -433,12 +435,14 @@
                buf.append("Current Activity\n");
                buf.append("</div>\n");
                buf.append("<div class=\"infobox-content\">\n");
-               buf.append("<ul id=\"activity\">\n"
-                               + "<li>Inserts: 
"+this.node.getNumInserts()+"</li>\n"
-                               + "<li>Requests: 
"+this.node.getNumRequests()+"</li>\n"
-                               + "<li>Transferring Requests: 
"+this.node.getNumTransferringRequests()+"</li>\n"
-                               + "<li>ARK Fetch Requests: 
"+this.node.getNumARKFetchers()+"</li>\n"
-                               + "</ul>\n");
+               buf.append("<ul id=\"activity\">\n");
+               buf.append("<li>Inserts: "+this.node.getNumInserts()+"</li>\n");
+               buf.append("<li>Requests: 
"+this.node.getNumRequests()+"</li>\n");
+               buf.append("<li>Transferring Requests: 
"+this.node.getNumTransferringRequests()+"</li>\n");
+               if(advancedDarknetOutputEnabled) {
+                       buf.append("<li>ARK Fetch Requests: 
"+this.node.getNumARKFetchers()+"</li>\n");
+               }
+               buf.append("</ul>\n");
                buf.append("</div>\n");
                buf.append("</div>\n");


Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-06-16 20:52:19 UTC (rev 
9233)
+++ trunk/freenet/src/freenet/node/Version.java 2006-06-16 22:26:12 UTC (rev 
9234)
@@ -18,7 +18,7 @@
        public static final String protocolVersion = "1.0";

        /** The build number of the current revision */
-       private static final int buildNumber = 820;
+       private static final int buildNumber = 821;

        /** Oldest build of Fred we will talk to */
        private static final int lastGoodBuild = 765;


Reply via email to