Author: nextgens
Date: 2006-06-19 16:11:33 +0000 (Mon, 19 Jun 2006)
New Revision: 9313
Modified:
trunk/freenet/src/freenet/clients/http/QueueToadlet.java
trunk/freenet/src/freenet/clients/http/staticfiles/themes/clean/theme.css
trunk/freenet/src/freenet/node/fcp/ClientGet.java
trunk/freenet/src/freenet/node/fcp/ClientPutBase.java
trunk/freenet/src/freenet/node/fcp/ClientRequest.java
trunk/freenet/src/freenet/node/fcp/SimpleProgressMessage.java
Log:
improved progressbar on the QueueToadlet
Modified: trunk/freenet/src/freenet/clients/http/QueueToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/QueueToadlet.java 2006-06-19
14:47:39 UTC (rev 9312)
+++ trunk/freenet/src/freenet/clients/http/QueueToadlet.java 2006-06-19
16:11:33 UTC (rev 9313)
@@ -256,12 +256,6 @@
}
writeBigEnding(buf);
}
-
- /* FIXME color-coded progress bars.
- * It would be really nice to have a color-coded progress bar.
- * We can then show what part is successful, what part isn't
tried yet,
- * what part has each different well known error code...
- */
if(!(failedDownload.isEmpty() && failedUpload.isEmpty())) {
writeBigHeading("Failed requests", buf);
@@ -411,14 +405,33 @@
private void writeProgressFractionCell(ClientRequest p, StringBuffer
buf) {
buf.append("<td>");
+
double frac = p.getSuccessFraction();
+ double total = p.getTotalBlocks();
+ // All are fractions
+ double fetched = p.getFetchedBlocks()/total;
+ double failed = p.getFailedBlocks()/total;
+ double failed2 = p.getFatalyFailedBlocks()/total;
+ double min = p.getMinBlocks()/total;
+
boolean b = p.isTotalFinalized();
if(frac < 0) {
buf.append("<span
class=\"progress_fraction_unknown\">unknown</span>");
} else {
NumberFormat nf = NumberFormat.getInstance();
nf.setMaximumFractionDigits(0);
- buf.append("<div class=\"progressbar\"><div
class=\"progressbar-done\" style=\"width:
"+nf.format(frac*100)+"px\"></div></div>");
+ buf.append("<div class=\"progressbar\">"+
+ "<div class=\"progressbar-done\"
style=\"width: "+nf.format(frac*100)+"px\"></div>");
+
if(node.getToadletContainer().isAdvancedDarknetEnabled())
+ {
+ if(failed > 0)
+ buf.append("<div
class=\"progressbar-failed\" style=\"width:
"+nf.format(failed*100)+"px\"></div>");
+ if(failed2 > 0)
+ buf.append("<div
class=\"progressbar-failed2\" style=\"width:
"+nf.format(failed2*100)+"px\"></div>");
+ if(fetched < min)
+ buf.append("<div
class=\"progressbar-min\" style=\"width:
"+nf.format((min-fetched)*100)+"px\"></div>");
+ }
+ buf.append("</div>");
nf.setMaximumFractionDigits(1);
if(b)
Modified:
trunk/freenet/src/freenet/clients/http/staticfiles/themes/clean/theme.css
===================================================================
--- trunk/freenet/src/freenet/clients/http/staticfiles/themes/clean/theme.css
2006-06-19 14:47:39 UTC (rev 9312)
+++ trunk/freenet/src/freenet/clients/http/staticfiles/themes/clean/theme.css
2006-06-19 16:11:33 UTC (rev 9313)
@@ -410,17 +410,38 @@
}
div.progressbar {
+ float: left;
margin: none;
background: blue;
border: solid blue 1px;
width: 100px;
+ height:15px;
}
div.progressbar-done {
+ float: left;
+ background: green;
+ height:15px;
+}
+
+div.progressbar-min {
+ float: left;
+ background: yellow;
+ height:15px;
+}
+
+div.progressbar-failed {
+ float: left;
background: red;
height:15px;
}
+div.progressbar-failed2 {
+ float: left;
+ background: black;
+ height:15px;
+}
+
tr.priority0, td.priority0 {
/* background-color: #eb613d;*/
background-color: #ffb7b7;
Modified: trunk/freenet/src/freenet/node/fcp/ClientGet.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientGet.java 2006-06-19 14:47:39 UTC
(rev 9312)
+++ trunk/freenet/src/freenet/node/fcp/ClientGet.java 2006-06-19 16:11:33 UTC
(rev 9313)
@@ -493,6 +493,41 @@
} else
return -1;
}
+
+ public double getTotalBlocks() {
+ if(progressPending != null) {
+ return progressPending.getTotalBlocks();
+ } else
+ return -1;
+ }
+
+ public double getMinBlocks() {
+ if(progressPending != null) {
+ return progressPending.getMinBlocks();
+ } else
+ return -1;
+ }
+
+ public double getFailedBlocks() {
+ if(progressPending != null) {
+ return progressPending.getFailedBlocks();
+ } else
+ return -1;
+ }
+
+ public double getFatalyFailedBlocks() {
+ if(progressPending != null) {
+ return progressPending.getFatalyFailedBlocks();
+ } else
+ return -1;
+ }
+
+ public double getFetchedBlocks() {
+ if(progressPending != null) {
+ return progressPending.getFetchedBlocks();
+ } else
+ return -1;
+ }
public String getFailureReason() {
if(getFailedMessage == null)
Modified: trunk/freenet/src/freenet/node/fcp/ClientPutBase.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutBase.java 2006-06-19
14:47:39 UTC (rev 9312)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutBase.java 2006-06-19
16:11:33 UTC (rev 9313)
@@ -237,6 +237,52 @@
return -1;
}
+
+ public double getTotalBlocks() {
+ if(progressMessage != null) {
+ if(progressMessage instanceof SimpleProgressMessage)
+ return
((SimpleProgressMessage)progressMessage).getTotalBlocks();
+ else return 0;
+ } else
+ return -1;
+ }
+
+ public double getMinBlocks() {
+ if(progressMessage != null) {
+ if(progressMessage instanceof SimpleProgressMessage)
+ return
((SimpleProgressMessage)progressMessage).getMinBlocks();
+ else return 0;
+ } else
+ return -1;
+ }
+
+ public double getFailedBlocks() {
+ if(progressMessage != null) {
+ if(progressMessage instanceof SimpleProgressMessage)
+ return
((SimpleProgressMessage)progressMessage).getFailedBlocks();
+ else return 0;
+ } else
+ return -1;
+ }
+
+ public double getFatalyFailedBlocks() {
+ if(progressMessage != null) {
+ if(progressMessage instanceof SimpleProgressMessage)
+ return
((SimpleProgressMessage)progressMessage).getFatalyFailedBlocks();
+ else return 0;
+ } else
+ return -1;
+ }
+
+ public double getFetchedBlocks() {
+ if(progressMessage != null) {
+ if(progressMessage instanceof SimpleProgressMessage)
+ return
((SimpleProgressMessage)progressMessage).getFetchedBlocks();
+ else return 0;
+ } else
+ return -1;
+ }
+
public boolean isTotalFinalized() {
if(!(progressMessage instanceof SimpleProgressMessage)) return
false;
else return
((SimpleProgressMessage)progressMessage).isTotalFinalized();
Modified: trunk/freenet/src/freenet/node/fcp/ClientRequest.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientRequest.java 2006-06-19
14:47:39 UTC (rev 9312)
+++ trunk/freenet/src/freenet/node/fcp/ClientRequest.java 2006-06-19
16:11:33 UTC (rev 9313)
@@ -245,6 +245,12 @@
public abstract SimpleFieldSet getFieldSet() throws IOException;
public abstract double getSuccessFraction();
+
+ public abstract double getTotalBlocks();
+ public abstract double getMinBlocks();
+ public abstract double getFetchedBlocks();
+ public abstract double getFailedBlocks();
+ public abstract double getFatalyFailedBlocks();
public abstract String getFailureReason();
Modified: trunk/freenet/src/freenet/node/fcp/SimpleProgressMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/SimpleProgressMessage.java
2006-06-19 14:47:39 UTC (rev 9312)
+++ trunk/freenet/src/freenet/node/fcp/SimpleProgressMessage.java
2006-06-19 16:11:33 UTC (rev 9313)
@@ -37,6 +37,26 @@
public double getFraction() {
return (double) event.fetchedBlocks / (double)
event.totalBlocks;
}
+
+ public double getMinBlocks() {
+ return (double) event.minSuccessfulBlocks;
+ }
+
+ public double getTotalBlocks(){
+ return (double) event.totalBlocks;
+ }
+
+ public double getFetchedBlocks(){
+ return (double) event.fetchedBlocks;
+ }
+
+ public double getFailedBlocks(){
+ return (double) event.failedBlocks;
+ }
+
+ public double getFatalyFailedBlocks(){
+ return (double) event.fatallyFailedBlocks;
+ }
public boolean isTotalFinalized() {
return event.finalizedTotal;