Author: Jogy
Date: 2006-05-19 14:37:22 +0000 (Fri, 19 May 2006)
New Revision: 8787
Modified:
trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
trunk/freenet/src/freenet/clients/http/QueueToadlet.java
trunk/freenet/src/freenet/clients/http/staticfiles/themes/clean/theme.css
trunk/freenet/src/freenet/support/SizeUtil.java
Log:
- fix DarknetConnectionsToadlet to display "No connections so far" again
- style QueueToadlet (still overlong lines)
- let support.SizeUtil use binary SI prefixes
Modified: trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
2006-05-19 13:40:22 UTC (rev 8786)
+++ trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
2006-05-19 14:37:22 UTC (rev 8787)
@@ -101,6 +101,8 @@
if (peerNodes.length == 0) {
buf2.append("<tr><td colspan=\"8\">No connections so
far</td></tr>\n");
buf2.append("</table>\n");
+ //
+ buf.append(buf2);
}
else {
final Integer CONNECTED = new Integer(0);
@@ -258,6 +260,7 @@
}
buf.append("</td></tr>\n");
buf.append("</table>\n");
+ //
buf.append(buf2);
//
buf.append("<input type=\"submit\" name=\"disconnect\"
value=\"Disconnect from selected peers\" />\n");
Modified: trunk/freenet/src/freenet/clients/http/QueueToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/QueueToadlet.java 2006-05-19
13:40:22 UTC (rev 8786)
+++ trunk/freenet/src/freenet/clients/http/QueueToadlet.java 2006-05-19
14:37:22 UTC (rev 8787)
@@ -145,7 +145,7 @@
writeBigHeading("Completed requests", buf);
if(!completedDownloadToTemp.isEmpty()) {
- writeTableHead("Completed downloads to
temporary space", new String[] { "", "Identifier", "Size", "Type", "Download",
"Persistence", "Key" }, buf );
+ writeTableHead("Completed downloads to
temporary space", new String[] { "", "Identifier", "Size", "MIME-Type",
"Download", "Persistence", "Key" }, buf );
for(Iterator i =
completedDownloadToTemp.iterator();i.hasNext();) {
ClientGet p = (ClientGet) i.next();
writeRowStart(buf);
@@ -162,7 +162,7 @@
}
if(!completedDownloadToDisk.isEmpty()) {
- writeTableHead("Completed downloads to disk",
new String[] { "", "Identifier", "Filename", "Size", "Type", "Download",
"Persistence", "Key" }, buf);
+ writeTableHead("Completed downloads to disk",
new String[] { "", "Identifier", "Filename", "Size", "MIME-Type", "Download",
"Persistence", "Key" }, buf);
for(Iterator
i=completedDownloadToDisk.iterator();i.hasNext();) {
ClientGet p = (ClientGet) i.next();
writeRowStart(buf);
@@ -180,7 +180,7 @@
}
if(!completedUpload.isEmpty()) {
- writeTableHead("Completed uploads", new
String[] { "", "Key", "Filename", "Size", "Type", "Persistence", "Identifier"
}, buf);
+ writeTableHead("Completed uploads", new
String[] { "", "Key", "Filename", "Size", "MIME-Type", "Persistence",
"Identifier" }, buf);
for(Iterator
i=completedUpload.iterator();i.hasNext();) {
ClientPut p = (ClientPut) i.next();
writeRowStart(buf);
@@ -215,6 +215,7 @@
}
writeTableEnd(buf);
}
+ writeBigEnding(buf);
}
/* FIXME color-coded progress bars.
@@ -226,7 +227,7 @@
if(!(failedDownload.isEmpty() && failedUpload.isEmpty())) {
writeBigHeading("Failed requests", buf);
if(!failedDownload.isEmpty()) {
- writeTableHead("Failed downloads", new String[]
{ "", "Identifier", "Filename", "Size", "Type", "Success", "Reason",
"Persistence", "Key" }, buf);
+ writeTableHead("Failed downloads", new String[]
{ "", "Identifier", "Filename", "Size", "MIME-Type", "Progress", "Reason",
"Persistence", "Key" }, buf);
for(Iterator
i=failedDownload.iterator();i.hasNext();) {
ClientGet p = (ClientGet) i.next();
writeRowStart(buf);
@@ -238,7 +239,7 @@
writeFilenameCell(p.getDestFilename(), buf);
writeSizeCell(p.getDataSize(), buf);
writeTypeCell(p.getMIMEType(), buf);
- writeSuccessFractionCell(p, buf);
+ writeProgressFractionCell(p, buf);
writeFailureReasonCell(p, buf);
writePersistenceCell(p, buf);
writeKeyCell(p.getURI(), buf);
@@ -248,7 +249,7 @@
}
if(!failedUpload.isEmpty()) {
- writeTableHead("Failed uploads", new String[] {
"", "Identifier", "Filename", "Size", "Type", "Success", "Reason",
"Persistence", "Key" }, buf);
+ writeTableHead("Failed uploads", new String[] {
"", "Identifier", "Filename", "Size", "MIME-Type", "Progress", "Reason",
"Persistence", "Key" }, buf);
for(Iterator
i=failedUpload.iterator();i.hasNext();) {
ClientPut p = (ClientPut) i.next();
writeRowStart(buf);
@@ -260,7 +261,7 @@
writeFilenameCell(p.getOrigFilename(), buf);
writeSizeCell(p.getDataSize(), buf);
writeTypeCell(p.getMIMEType(), buf);
- writeSuccessFractionCell(p, buf);
+ writeProgressFractionCell(p, buf);
writeFailureReasonCell(p, buf);
writePersistenceCell(p, buf);
writeKeyCell(p.getFinalURI(), buf);
@@ -270,7 +271,7 @@
}
if(!failedDirUpload.isEmpty()) {
- writeTableHead("Failed directory uploads", new
String[] { "", "Identifier", "Files", "Total Size", "Success", "Reason",
"Persistence", "Key" }, buf);
+ writeTableHead("Failed directory uploads", new
String[] { "", "Identifier", "Files", "Total Size", "Progress", "Reason",
"Persistence", "Key" }, buf);
for(Iterator
i=failedDirUpload.iterator();i.hasNext();) {
ClientPutDir p = (ClientPutDir)
i.next();
writeRowStart(buf);
@@ -278,7 +279,7 @@
writeIdentifierCell(p, p.getFinalURI(),
buf);
writeNumberCell(p.getNumberOfFiles(),
buf);
writeSizeCell(p.getTotalDataSize(),
buf);
- writeSuccessFractionCell(p, buf);
+ writeProgressFractionCell(p, buf);
writeFailureReasonCell(p, buf);
writePersistenceCell(p, buf);
writeKeyCell(p.getFinalURI(), buf);
@@ -286,13 +287,14 @@
}
writeTableEnd(buf);
}
+ writeBigEnding(buf);
}
if(!(uncompletedDownload.isEmpty() &&
uncompletedUpload.isEmpty() &&
uncompletedDirUpload.isEmpty())) {
writeBigHeading("Requests in progress", buf);
if(!uncompletedDownload.isEmpty()) {
- writeTableHead("Downloads in progress", new
String[] { "", "Identifier", "Filename", "Size", "Type", "Success",
"Persistence", "Key" }, buf);
+ writeTableHead("Downloads in progress", new
String[] { "", "Identifier", "Filename", "Size", "MIME-Type", "Progress",
"Persistence", "Key" }, buf);
for(Iterator i =
uncompletedDownload.iterator();i.hasNext();) {
ClientGet p = (ClientGet) i.next();
writeRowStart(buf);
@@ -304,7 +306,7 @@
writeFilenameCell(p.getDestFilename(), buf);
writeSizeCell(p.getDataSize(), buf);
writeTypeCell(p.getMIMEType(), buf);
- writeSuccessFractionCell(p, buf);
+ writeProgressFractionCell(p, buf);
writePersistenceCell(p, buf);
writeKeyCell(p.getURI(), buf);
writeRowEnd(buf);
@@ -313,7 +315,7 @@
}
if(!uncompletedUpload.isEmpty()) {
- writeTableHead("Uploads in progress", new
String[] { "", "Identifier", "Filename", "Size", "Type", "Success",
"Persistence", "Key" }, buf);
+ writeTableHead("Uploads in progress", new
String[] { "", "Identifier", "Filename", "Size", "MIME-Type", "Progress",
"Persistence", "Key" }, buf);
for(Iterator i =
uncompletedUpload.iterator();i.hasNext();) {
ClientPut p = (ClientPut) i.next();
writeRowStart(buf);
@@ -325,7 +327,7 @@
writeFilenameCell(p.getOrigFilename(), buf);
writeSizeCell(p.getDataSize(), buf);
writeTypeCell(p.getMIMEType(), buf);
- writeSuccessFractionCell(p, buf);
+ writeProgressFractionCell(p, buf);
writePersistenceCell(p, buf);
writeKeyCell(p.getFinalURI(), buf);
writeRowEnd(buf);
@@ -334,7 +336,7 @@
}
if(!uncompletedDirUpload.isEmpty()) {
- writeTableHead("Directory uploads in progress",
new String[] { "", "Identifier", "Files", "Total Size", "Success",
"Persistence", "Key" }, buf);
+ writeTableHead("Directory uploads in progress",
new String[] { "", "Identifier", "Files", "Total Size", "Progress",
"Persistence", "Key" }, buf);
for(Iterator
i=uncompletedDirUpload.iterator();i.hasNext();) {
ClientPutDir p = (ClientPutDir)
i.next();
writeRowStart(buf);
@@ -342,13 +344,14 @@
writeIdentifierCell(p, p.getFinalURI(),
buf);
writeNumberCell(p.getNumberOfFiles(),
buf);
writeSizeCell(p.getTotalDataSize(),
buf);
- writeSuccessFractionCell(p, buf);
+ writeProgressFractionCell(p, buf);
writePersistenceCell(p, buf);
writeKeyCell(p.getFinalURI(), buf);
writeRowEnd(buf);
}
writeTableEnd(buf);
}
+ writeBigEnding(buf);
}
ctx.getPageMaker().makeTail(buf);
@@ -361,58 +364,52 @@
buf.append("<td>");
String s = p.getFailureReason();
if(s == null)
- buf.append("UNKNOWN");
+ buf.append("<span
class=\"failure_reason_unknown\">unknown</span>");
else
- buf.append(s);
+ buf.append("<span class=\"failure_reason_is\">" + s +
"</span>");
buf.append("</td>\n");
}
- private void writeSuccessFractionCell(ClientRequest p, StringBuffer
buf) {
+ private void writeProgressFractionCell(ClientRequest p, StringBuffer
buf) {
+ buf.append("<td>");
double frac = p.getSuccessFraction();
boolean b = p.isTotalFinalized();
if(frac < 0) {
- buf.append("<td>UNKNOWN</td>\n");
+ buf.append("<span
class=\"progress_fraction_unknown\">unknown</span>");
} else {
- buf.append("<td>");
if(b)
- buf.append("<font color=\"green\">");
+ buf.append("<span
class=\"progress_fraction_finalized\">");
+ else
+ buf.append("<span
class=\"progress_fraction_not_finalized\">");
NumberFormat nf = NumberFormat.getInstance();
nf.setMaximumFractionDigits(1);
buf.append(nf.format(frac*100));
- if(b)
- buf.append("%</font></td>");
- else
- buf.append("%</td>\n");
+ buf.append("%</span>");
}
+ buf.append("</td>\n");
}
private void writeNumberCell(int numberOfFiles, StringBuffer buf) {
buf.append("<td>");
- buf.append(numberOfFiles);
+ buf.append("<span class=\"number_of_files\">" + numberOfFiles +
"</span>");
buf.append("</td>\n");
}
private void writeDirectCell(StringBuffer buf) {
- buf.append("<td>DIRECT</td>\n");
+ buf.append("<td>");
+ buf.append("<span class=\"filename_direct\">direct</span>");
+ buf.append("</td>\n");
}
private void writeFilenameCell(File destFilename, StringBuffer buf) {
buf.append("<td>");
if(destFilename == null)
- buf.append("NONE");
+ buf.append("<span class=\"filename_none\">none</span>");
else
- buf.append(HTMLEncoder.encode(destFilename.toString()));
+ buf.append("<span class=\"filename_is\">" +
HTMLEncoder.encode(destFilename.toString()) + "</span>");
buf.append("</td>\n");
}
- private void writeTableEnd(StringBuffer buf) {
- buf.append("</table>");
- }
-
- private void writeRowEnd(StringBuffer buf) {
- buf.append("</tr>\n");
- }
-
private void writeDeleteCell(ClientRequest p, StringBuffer buf) {
buf.append("<td>");
buf.append("<form action=\"/queue/\" method=\"post\">");
@@ -426,24 +423,28 @@
private void writeIdentifierCell(ClientRequest p, FreenetURI uri,
StringBuffer buf) {
buf.append("<td>");
if(uri != null) {
- buf.append("<a href=\"/");
+ buf.append("<span class=\"identifier_with_uri\"><a
href=\"/");
buf.append(uri.toString(false));
buf.append("\">");
+ buf.append(HTMLEncoder.encode(p.getIdentifier()));
+ buf.append("</a></span>");
}
- buf.append(HTMLEncoder.encode(p.getIdentifier()));
- if(uri != null)
- buf.append("</a>");
+ else {
+ buf.append("<span class=\"identifier_without_uri\">");
+ buf.append(HTMLEncoder.encode(p.getIdentifier()));
+ buf.append("</span>");
+ }
buf.append("</td>\n");
}
private void writePersistenceCell(ClientRequest p, StringBuffer buf) {
buf.append("<td>");
if(!p.isPersistent())
- buf.append("<font color=\"black\">NONE</font>");
+ buf.append("<span
class=\"persistence_none\">none</span>");
else if(!p.isPersistentForever())
- buf.append("<font color=\"blue\">REBOOT</font>");
+ buf.append("<span
class=\"persistence_reboot\">reboot</span>");
else
- buf.append("<font color=\"green\">FOREVER</font>");
+ buf.append("<span
class=\"persistence_forever\">forever</span>");
buf.append("</td>\n");
}
@@ -456,33 +457,33 @@
private void writeTypeCell(String type, StringBuffer buf) {
buf.append("<td>");
if(type != null)
- buf.append(type);
+ buf.append("<span class=\"mimetype_is\">" + type +
"</span>");
else
- buf.append("UNKNOWN");
+ buf.append("<span
class=\"mimetype_unknown\">unknown</span>");
buf.append("</td>\n");
}
private void writeSizeCell(long dataSize, StringBuffer buf) {
buf.append("<td>");
if(dataSize >= 0)
- buf.append(SizeUtil.formatSize(dataSize));
+ buf.append("<span class=\"filesize_is\">" +
SizeUtil.formatSize(dataSize) + "</span>");
else
- buf.append("UNKNOWN");
+ buf.append("<span
class=\"filesize_unknown\">unknown</span>");
buf.append("</td>\n");
}
private void writeKeyCell(FreenetURI uri, StringBuffer buf) {
buf.append("<td>");
if(uri != null) {
- buf.append("<a href=\"/");
+ buf.append("<span class=\"key_is\"><a href=\"/");
String u = uri.toString(false);
buf.append(URLEncoder.encode(u));
buf.append("\">");
// FIXME too long? maybe only show the human readable
bit?
buf.append(HTMLEncoder.encode(u));
- buf.append("</a>");
+ buf.append("</a></span>");
} else {
- buf.append("UNKNOWN");
+ buf.append("<span
class=\"key_unknown\">unknown</span>");
}
buf.append("</td>\n");
}
@@ -491,26 +492,39 @@
buf.append("<tr>");
}
- private void writeTableHead(String string, String[] strings,
StringBuffer buf) {
- buf.append("<h2>");
- buf.append(string);
- buf.append("</h2>\n");
- buf.append("<table border=\"0\">\n");
+ private void writeRowEnd(StringBuffer buf) {
+ buf.append("</tr>\n");
+ }
+
+ private void writeTableHead(String tabletitle, String[] strings,
StringBuffer buf) {
+ buf.append("<div class=\"queue_tabletitle\">" + tabletitle +
"</div>");
+ buf.append("<table class=\"queue\">\n");
buf.append("<tr>");
for(int i=0;i<strings.length;i++) {
buf.append("<th>");
buf.append(strings[i]);
buf.append("</th>");
}
- buf.append("\n");
+ buf.append("</tr>\n");
}
- private void writeBigHeading(String string, StringBuffer buf) {
- buf.append("<h1>");
- buf.append(string);
- buf.append("</h1>\n");
+ private void writeTableEnd(StringBuffer buf) {
+ buf.append("</table>");
}
+ private void writeBigHeading(String header, StringBuffer buf) {
+ buf.append("<div class=\"infobox infobox-normal\">\n");
+ buf.append("<div class=\"infobox-header\">\n");
+ buf.append(header);
+ buf.append("</div>\n");
+ buf.append("<div class=\"infobox-content\">\n");
+ }
+
+ private void writeBigEnding(StringBuffer buf) {
+ buf.append("</div>\n");
+ buf.append("</div>\n");
+ }
+
public String supportedMethods() {
// TODO Auto-generated method stub
return null;
Modified:
trunk/freenet/src/freenet/clients/http/staticfiles/themes/clean/theme.css
===================================================================
--- trunk/freenet/src/freenet/clients/http/staticfiles/themes/clean/theme.css
2006-05-19 13:40:22 UTC (rev 8786)
+++ trunk/freenet/src/freenet/clients/http/staticfiles/themes/clean/theme.css
2006-05-19 14:37:22 UTC (rev 8787)
@@ -302,3 +302,89 @@
table.sentmessagetypes th, table.sentmessagetypes td,
table.receivedmessagetypes th, table.receivedmessagetypes td {
font-size: 7pt;
}
+
+/* queue page */
+
+table.queue th, table.queue td {
+ font-size: 8pt;
+}
+
+div.queue_tabletitle {
+ margin: 0;
+ padding: 10px 0 10px 0;
+ font-size: 10pt;
+}
+
+table.queue span {
+ font-size: 8pt;
+}
+
+table.queue span.failure_reason_unknown {
+ color: #d0d0d0;
+}
+
+table.queue span.failure_reason_is {
+}
+
+table.queue span.progress_fraction_unknown {
+ color: #d0d0d0;
+}
+
+table.queue span.progress_fraction_not_finalized {
+}
+
+table.queue span.progress_fraction_finalized {
+ color: #008000;
+}
+
+table.queue span.number_of_files {
+}
+
+table.queue span.number_of_files {
+}
+
+table.queue span.filename_direct {
+ color: #d0d0d0;
+}
+
+table.queue span.filename_none {
+ color: #d0d0d0;
+}
+
+table.queue span.filename_is {
+}
+
+table.queue span.identifier_with_uri {
+}
+
+table.queue span.persistence_none {
+}
+
+table.queue span.persistence_reboot {
+ color: #0000ff;
+}
+
+table.queue span.persistence_forever {
+ color: #00b000;
+}
+
+table.queue span.mimetype_unknown {
+ color: #d0d0d0;
+}
+
+table.queue span.mimetype_is {
+}
+
+table.queue span.filesize_unknown {
+ color: #d0d0d0;
+}
+
+table.queue span.filesize_is {
+}
+
+table.queue span.key_unknown {
+ color: #d0d0d0;
+}
+
+table.queue span.key_is {
+}
Modified: trunk/freenet/src/freenet/support/SizeUtil.java
===================================================================
--- trunk/freenet/src/freenet/support/SizeUtil.java 2006-05-19 13:40:22 UTC
(rev 8786)
+++ trunk/freenet/src/freenet/support/SizeUtil.java 2006-05-19 14:37:22 UTC
(rev 8787)
@@ -8,10 +8,10 @@
public static String formatSize(long sz) {
// First determine suffix
- String suffixes = "kMGTPEZY";
+ String[] suffixes = {"B",
"KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"};
long s = 1;
int i;
- for(i=0;i<suffixes.length();i++) {
+ for(i=0;i<suffixes.length;i++) {
s *= 1000;
if(s > sz) {
break;
@@ -20,15 +20,20 @@
}
s /= 1000; // we use the previous unit
- double mantissa = (double)sz / (double)s;
- String o = Double.toString(mantissa);
- if(o.indexOf('.') == 3)
- o = o.substring(0, 3);
- else if(o.indexOf('.') > -1 && o.indexOf('E') == -1 &&
o.length() > 4)
- o = o.substring(0, 4);
- if(i > 0) o += suffixes.charAt(i-1);
- o += "B";
- return o;
+ if (s == 1) // Bytes?
+ {
+ return sz + " " + suffixes[0];
+ }
+ else
+ {
+ double mantissa = (double)sz / (double)s;
+ String o = Double.toString(mantissa);
+ if(o.indexOf('.') == 3)
+ o = o.substring(0, 3);
+ else if(o.indexOf('.') > -1 && o.indexOf('E') == -1 &&
o.length() > 4)
+ o = o.substring(0, 4);
+ o += " " + suffixes[i];
+ return o;
+ }
}
-
}