Author: toad
Date: 2008-01-18 15:13:48 +0000 (Fri, 18 Jan 2008)
New Revision: 17144
Modified:
trunk/freenet/src/freenet/clients/http/QueueToadlet.java
trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties
trunk/freenet/src/freenet/node/NodeClientCore.java
trunk/freenet/src/freenet/node/fcp/FCPServer.java
Log:
Don't show the queue page or allow any actions to be done through it until the
queue has finished loading
Modified: trunk/freenet/src/freenet/clients/http/QueueToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/QueueToadlet.java 2008-01-18
15:01:57 UTC (rev 17143)
+++ trunk/freenet/src/freenet/clients/http/QueueToadlet.java 2008-01-18
15:13:48 UTC (rev 17144)
@@ -74,6 +74,11 @@
public void handlePost(URI uri, HTTPRequest request, ToadletContext
ctx) throws ToadletContextClosedException, IOException, RedirectException {
+ if(!core.hasLoadedQueue()) {
+
writeError(L10n.getString("QueueToadlet.notLoadedYetTitle"),
L10n.getString("QueueToadlet.notLoadedYet"), ctx);
+ return;
+ }
+
boolean logMINOR = Logger.shouldLog(Logger.MINOR, this);
try {
@@ -389,6 +394,11 @@
return;
}
+ if(!core.hasLoadedQueue()) {
+
writeError(L10n.getString("QueueToadlet.notLoadedYetTitle"),
L10n.getString("QueueToadlet.notLoadedYet"), ctx);
+ return;
+ }
+
final String requestPath =
request.getPath().substring("/queue/".length());
if (requestPath.length() > 0) {
Modified: trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties
===================================================================
--- trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties 2008-01-18
15:01:57 UTC (rev 17143)
+++ trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties 2008-01-18
15:13:48 UTC (rev 17144)
@@ -857,6 +857,8 @@
QueueToadlet.mimeType=MIME Type
QueueToadlet.noTaskOnGlobalQueue=There is no task queued on the global queue
at the moment.
QueueToadlet.none=none
+QueueToadlet.notLoadedYetTitle=Queue not loaded yet
+QueueToadlet.notLoadedYet=The node is still loading the persistent requests
queue. Please be patient.
QueueToadlet.panicButton=Panic Button
QueueToadlet.panicButtonConfirmation=Remove all requests without confirmation!
QueueToadlet.persistence=Persistence
Modified: trunk/freenet/src/freenet/node/NodeClientCore.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeClientCore.java 2008-01-18 15:01:57 UTC
(rev 17143)
+++ trunk/freenet/src/freenet/node/NodeClientCore.java 2008-01-18 15:13:48 UTC
(rev 17144)
@@ -1052,4 +1052,8 @@
else
throw new IllegalArgumentException("Not a CHK and not
an SSK!");
}
+
+ public boolean hasLoadedQueue() {
+ return fcpServer.hasFinishedStart();
+ }
}
Modified: trunk/freenet/src/freenet/node/fcp/FCPServer.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPServer.java 2008-01-18 15:01:57 UTC
(rev 17143)
+++ trunk/freenet/src/freenet/node/fcp/FCPServer.java 2008-01-18 15:13:48 UTC
(rev 17144)
@@ -85,6 +85,7 @@
private boolean canStartPersister = false;
private boolean assumeDownloadDDAIsAllowed;
private boolean assumeUploadDDAIsAllowed;
+ private boolean hasFinishedStart;
private void startPersister() {
Thread t = new Thread(persister = new FCPServerPersister(),
"FCP request persister");
@@ -864,6 +865,7 @@
if(enablePersistentDownloads)
startPersister();
canStartPersister = true;
+ hasFinishedStart = true;
}
@@ -883,5 +885,9 @@
protected boolean isUploadDDAAlwaysAllowed() {
return assumeUploadDDAIsAllowed;
}
+
+ public boolean hasFinishedStart() {
+ return hasFinishedStart;
+ }
}