[freenet-cvs] r11570 - in trunk/freenet/src/freenet/clients/http: . staticfiles/themes/boxed staticfiles/themes/clean staticfiles/themes/grayandblue staticfiles/themes/sky

Jogy at freenetproject.org Jogy at freenetproject.org
Fri Jan 5 13:23:47 UTC 2007


Author: Jogy
Date: 2007-01-05 13:23:46 +0000 (Fri, 05 Jan 2007)
New Revision: 11570

Modified:
   trunk/freenet/src/freenet/clients/http/StatisticsToadlet.java
   trunk/freenet/src/freenet/clients/http/staticfiles/themes/boxed/theme.css
   trunk/freenet/src/freenet/clients/http/staticfiles/themes/clean/theme.css
   trunk/freenet/src/freenet/clients/http/staticfiles/themes/grayandblue/theme.css
   trunk/freenet/src/freenet/clients/http/staticfiles/themes/sky/theme.css
Log:
* Center the peer circles within their boxes
* Make the peer histogram distinguish between connected and disconnected peers


Modified: trunk/freenet/src/freenet/clients/http/StatisticsToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/StatisticsToadlet.java	2007-01-05 06:55:26 UTC (rev 11569)
+++ trunk/freenet/src/freenet/clients/http/StatisticsToadlet.java	2007-01-05 13:23:46 UTC (rev 11570)
@@ -552,12 +552,13 @@
 	private final static int PEER_CIRCLE_RADIUS = 100;
 	private final static int PEER_CIRCLE_INNER_RADIUS = 60;
 	private final static long MAX_CIRCLE_AGE_THRESHOLD = 24l*60*60*1000;   // 24 hours
+	private final static int HISTOGRAM_LENGTH = 10;
 	private final DecimalFormat fix1p2 = new DecimalFormat("0.00");
 	private final DecimalFormat fix3p1US = new DecimalFormat("##0.0", new DecimalFormatSymbols(Locale.US));
 	private final DecimalFormat fix3pctUS = new DecimalFormat("##0%", new DecimalFormatSymbols(Locale.US));
 	
 	private void addNodeCircle (HTMLNode htmlNode) {
-		HTMLNode nodeCircleInfoboxContentDiv = htmlNode.addChild("div", new String[] { "style", "class" }, new String[] {"position: relative; height: " + (PEER_CIRCLE_RADIUS * 2 + 15) + "px", "peercircle" });
+		HTMLNode nodeCircleInfoboxContentDiv = htmlNode.addChild("div", new String[] { "style", "class" }, new String[] {"position: relative; height: " + (PEER_CIRCLE_RADIUS * 2 + 10) + "px; width: " + (PEER_CIRCLE_RADIUS * 2 + 10) + "px", "peercircle" });
 		nodeCircleInfoboxContentDiv.addChild("span", new String[] { "style", "class" }, new String[] { generatePeerCircleStyleString(0, false, 1.0),     "mark" }, "|");
 		nodeCircleInfoboxContentDiv.addChild("span", new String[] { "style", "class" }, new String[] { generatePeerCircleStyleString(0.125, false, 1.0), "mark" }, "+");
 		nodeCircleInfoboxContentDiv.addChild("span", new String[] { "style", "class" }, new String[] { generatePeerCircleStyleString(0.25, false, 1.0),  "mark" }, "--");
@@ -589,9 +590,11 @@
 	}
 	
 	private void addPeerCircle (HTMLNode circleTable) {
-		int[] histogram = new int[ 10 ];
-		for (int i = 0; i < histogram.length; i++) {
-			histogram[ i ] = 0;
+		int[] histogramConnected = new int[HISTOGRAM_LENGTH];
+		int[] histogramDisconnected = new int[HISTOGRAM_LENGTH];
+		for (int i = 0; i < HISTOGRAM_LENGTH; i++) {
+			histogramConnected[i] = 0;
+			histogramDisconnected[i] = 0;
 		}
 		HTMLNode peerCircleTableRow = circleTable.addChild("tr");
 		HTMLNode peerHistogramLegendTableRow = circleTable.addChild("tr");
@@ -599,7 +602,7 @@
 		HTMLNode peerCircleTableCell = peerCircleTableRow.addChild("td", new String[] { "class", "colspan" }, new String[] {"first", "10"});
 		HTMLNode peerHistogramLegendCell;
 		HTMLNode peerHistogramGraphCell;
-		HTMLNode peerCircleInfoboxContent = peerCircleTableCell.addChild("div", new String[] { "style", "class" }, new String[] {"position: relative; height: " + (PEER_CIRCLE_RADIUS * 2 + 15) + "px; padding-bottom: 10px;", "peercircle" });
+		HTMLNode peerCircleInfoboxContent = peerCircleTableCell.addChild("div", new String[] { "style", "class" }, new String[] {"position: relative; height: " + (PEER_CIRCLE_RADIUS * 2 + 10) + "px; width: " + (PEER_CIRCLE_RADIUS * 2 + 10) + "px", "peercircle" });
 		peerCircleInfoboxContent.addChild("span", new String[] { "style", "class" }, new String[] { generatePeerCircleStyleString(0, false, 1.0),     "mark" }, "|");
 		peerCircleInfoboxContent.addChild("span", new String[] { "style", "class" }, new String[] { generatePeerCircleStyleString(0.125, false, 1.0), "mark" }, "+");
 		peerCircleInfoboxContent.addChild("span", new String[] { "style", "class" }, new String[] { generatePeerCircleStyleString(0.25, false, 1.0),  "mark" }, "--");
@@ -620,20 +623,28 @@
 			peerNodeStatus = peerNodeStatuses[peerIndex];
 			peerLocation = peerNodeStatus.getLocation();
 			peerDistance = PeerManager.distance( myLocation, peerLocation );
-			histogramIndex = (int) (Math.floor(peerDistance * 10 * 2));
-			histogram[ histogramIndex ] += 1;
-  			peerCircleInfoboxContent.addChild("span", new String[] { "style", "class" }, new String[] { generatePeerCircleStyleString(peerLocation, false, (1.0 - peerNodeStatus.getPReject())), ((peerNodeStatus.isConnected())?"connected":"disconnected") }, "x");
+			histogramIndex = (int) (Math.floor(peerDistance * HISTOGRAM_LENGTH * 2));
+      if (peerNodeStatus.isConnected()) {
+        histogramConnected[histogramIndex]++;
+      } else {
+        histogramDisconnected[histogramIndex]++;
+			}
+      peerCircleInfoboxContent.addChild("span", new String[] { "style", "class" }, new String[] { generatePeerCircleStyleString(peerLocation, false, (1.0 - peerNodeStatus.getPReject())), ((peerNodeStatus.isConnected())?"connected":"disconnected") }, "x");
 		}
-        double histogramPercent;
-		for (int i = 0; i < histogram.length; i++) {
+		peerCircleInfoboxContent.addChild("span", new String[] { "style", "class" }, new String[] { generatePeerCircleStyleString(myLocation, true, 1.0), "me" }, "x");
+		//
+    double histogramPercent;
+		for (int i = 0; i < HISTOGRAM_LENGTH; i++) {
 			peerHistogramLegendCell = peerHistogramLegendTableRow.addChild("td");
 			peerHistogramGraphCell = peerHistogramGraphTableRow.addChild("td", "style", "height: 100px;");
-			histogramPercent = ((double) histogram[ i ] ) / peerCount;
-			peerHistogramLegendCell.addChild("div", "style", "font-size: 60%; margin-left: 3px; margin-right: 3px;").addChild("#", fix1p2.format(((double) i) / ( 10 * 2 )));
-			peerHistogramGraphCell.addChild("div", new String[] { "class", "style" }, new String[] { "progressbar-done", "height: " + fix3pctUS.format(histogramPercent) + "; width: 100%;" }, "\u00a0");
+			peerHistogramLegendCell.addChild("div", "class", "histogramLabel").addChild("#", fix1p2.format(((double) i) / ( 10 * 2 )));
+			//
+			histogramPercent = ((double) histogramConnected[ i ] ) / peerCount;
+			peerHistogramGraphCell.addChild("div", new String[] { "class", "style" }, new String[] { "histogramConnected", "height: " + fix3pctUS.format(histogramPercent) + "; width: 100%;" }, "\u00a0");
+			//
+			histogramPercent = ((double) histogramDisconnected[ i ] ) / peerCount;
+			peerHistogramGraphCell.addChild("div", new String[] { "class", "style" }, new String[] { "histogramDisconnected", "height: " + fix3pctUS.format(histogramPercent) + "; width: 100%;" }, "\u00a0");
 		}
-		//
-		peerCircleInfoboxContent.addChild("span", new String[] { "style", "class" }, new String[] { generatePeerCircleStyleString(myLocation, true, 1.0), "me" }, "x");
 	}
 	
 	private String generatePeerCircleStyleString (double peerLocation, boolean offsetMe, double strength) {

Modified: trunk/freenet/src/freenet/clients/http/staticfiles/themes/boxed/theme.css
===================================================================
--- trunk/freenet/src/freenet/clients/http/staticfiles/themes/boxed/theme.css	2007-01-05 06:55:26 UTC (rev 11569)
+++ trunk/freenet/src/freenet/clients/http/staticfiles/themes/boxed/theme.css	2007-01-05 13:23:46 UTC (rev 11570)
@@ -186,6 +186,10 @@
 	color: #840;
 }
 
+div.peercircle {
+  margin: 0 auto;
+}
+
 div.peercircle span.mark {
   color: #d0d0d0;
 }
@@ -210,6 +214,20 @@
   font-weight: bold;
 }
 
+div.histogramLabel {
+  margin-left: 3px;
+  margin-right: 3px;
+  font-size: 60%;
+}
+
+div.histogramConnected {
+  background-color: #008000;
+}
+
+div.histogramDisconnected {
+  background-color: #d0d0d0;
+}
+
 th {
 	text-align: center;
 	background-color: #aaa;

Modified: trunk/freenet/src/freenet/clients/http/staticfiles/themes/clean/theme.css
===================================================================
--- trunk/freenet/src/freenet/clients/http/staticfiles/themes/clean/theme.css	2007-01-05 06:55:26 UTC (rev 11569)
+++ trunk/freenet/src/freenet/clients/http/staticfiles/themes/clean/theme.css	2007-01-05 13:23:46 UTC (rev 11570)
@@ -358,6 +358,12 @@
 	font-size: 7pt;
 }
 
+/* statistics page */
+
+div.peercircle {
+  margin: 0 auto;
+}
+
 div.peercircle span.mark {
   color: #d0d0d0;
 }
@@ -382,6 +388,20 @@
   font-weight: bold;
 }
 
+div.histogramLabel {
+  margin-left: 3px;
+  margin-right: 3px;
+  font-size: 60%;
+}
+
+div.histogramConnected {
+  background-color: #008000;
+}
+
+div.histogramDisconnected {
+  background-color: #d0d0d0;
+}
+
 /* queue page */
 
 table.queue th, table.queue td {

Modified: trunk/freenet/src/freenet/clients/http/staticfiles/themes/grayandblue/theme.css
===================================================================
--- trunk/freenet/src/freenet/clients/http/staticfiles/themes/grayandblue/theme.css	2007-01-05 06:55:26 UTC (rev 11569)
+++ trunk/freenet/src/freenet/clients/http/staticfiles/themes/grayandblue/theme.css	2007-01-05 13:23:46 UTC (rev 11570)
@@ -372,6 +372,12 @@
 	font-size: 7pt;
 }
 
+/* statistics page */
+
+div.peercircle {
+  margin: 0 auto;
+}
+
 div.peercircle span.mark {
   color: #d0d0d0;
 }
@@ -396,6 +402,20 @@
   font-weight: bold;
 }
 
+div.histogramLabel {
+  margin-left: 3px;
+  margin-right: 3px;
+  font-size: 60%;
+}
+
+div.histogramConnected {
+  background-color: #008000;
+}
+
+div.histogramDisconnected {
+  background-color: #d0d0d0;
+}
+
 /* queue page */
 
 table.queue th, table.queue td {

Modified: trunk/freenet/src/freenet/clients/http/staticfiles/themes/sky/theme.css
===================================================================
--- trunk/freenet/src/freenet/clients/http/staticfiles/themes/sky/theme.css	2007-01-05 06:55:26 UTC (rev 11569)
+++ trunk/freenet/src/freenet/clients/http/staticfiles/themes/sky/theme.css	2007-01-05 13:23:46 UTC (rev 11570)
@@ -366,6 +366,24 @@
 	font-size: 7pt;
 }
 
+#reftext {
+	width: 100%;
+}
+
+#refurl {
+	width: 100%;
+}
+
+#reffile {
+	width: 100%;
+}
+
+/* statistics page */
+
+div.peercircle {
+  margin: 0 auto;
+}
+
 div.peercircle span.mark {
   color: #d0d0d0;
 }
@@ -390,16 +408,18 @@
   font-weight: bold;
 }
 
-#reftext {
-	width: 100%;
+div.histogramLabel {
+  margin-left: 3px;
+  margin-right: 3px;
+  font-size: 60%;
 }
 
-#refurl {
-	width: 100%;
+div.histogramConnected {
+  background-color: #008000;
 }
 
-#reffile {
-	width: 100%;
+div.histogramDisconnected {
+  background-color: #d0d0d0;
 }
 
 /* queue page */




More information about the cvs mailing list