Author: toad
Date: 2009-04-21 21:43:47 +0000 (Tue, 21 Apr 2009)
New Revision: 27169
Modified:
trunk/freenet/src/freenet/client/async/ClientGetter.java
trunk/freenet/src/freenet/client/async/GetCompletionCallback.java
trunk/freenet/src/freenet/client/async/SingleFileFetcher.java
trunk/freenet/src/freenet/client/async/SplitFileFetcher.java
trunk/freenet/src/freenet/client/async/USKFetcherWrapper.java
trunk/freenet/src/freenet/client/async/USKProxyCompletionCallback.java
trunk/freenet/src/freenet/client/async/USKRetriever.java
trunk/freenet/src/freenet/clients/http/FProxyFetchInProgress.java
trunk/freenet/src/freenet/clients/http/FProxyToadlet.java
Log:
Show the size, fix the content type
Modified: trunk/freenet/src/freenet/client/async/ClientGetter.java
===================================================================
--- trunk/freenet/src/freenet/client/async/ClientGetter.java 2009-04-21
19:34:12 UTC (rev 27168)
+++ trunk/freenet/src/freenet/client/async/ClientGetter.java 2009-04-21
21:43:47 UTC (rev 27169)
@@ -15,6 +15,8 @@
import freenet.client.FetchContext;
import freenet.client.FetchException;
import freenet.client.FetchResult;
+import freenet.client.events.ExpectedFileSizeEvent;
+import freenet.client.events.ExpectedMIMEEvent;
import freenet.client.events.SendingToNetworkEvent;
import freenet.client.events.SplitfileProgressEvent;
import freenet.keys.ClientKeyBlock;
@@ -438,18 +440,27 @@
return binaryBlobBucket != null;
}
- public void onExpectedMIME(String mime, ObjectContainer container) {
+ public void onExpectedMIME(String mime, ObjectContainer container,
ClientContext context) {
if(finalizedMetadata) return;
expectedMIME = mime;
- if(persistent())
+ if(persistent()) {
container.store(this);
+ container.activate(ctx, 1);
+ container.activate(ctx.eventProducer, 1);
+ }
+ ctx.eventProducer.produceEvent(new ExpectedMIMEEvent(mime),
container, context);
+
}
- public void onExpectedSize(long size, ObjectContainer container) {
+ public void onExpectedSize(long size, ObjectContainer container,
ClientContext context) {
if(finalizedMetadata) return;
expectedSize = size;
- if(persistent())
+ if(persistent()) {
container.store(this);
+ container.activate(ctx, 1);
+ container.activate(ctx.eventProducer, 1);
+ }
+ ctx.eventProducer.produceEvent(new ExpectedFileSizeEvent(size),
container, context);
}
public void onFinalizedMetadata(ObjectContainer container) {
Modified: trunk/freenet/src/freenet/client/async/GetCompletionCallback.java
===================================================================
--- trunk/freenet/src/freenet/client/async/GetCompletionCallback.java
2009-04-21 19:34:12 UTC (rev 27168)
+++ trunk/freenet/src/freenet/client/async/GetCompletionCallback.java
2009-04-21 21:43:47 UTC (rev 27169)
@@ -25,9 +25,9 @@
public void onTransition(ClientGetState oldState, ClientGetState
newState, ObjectContainer container);
- public void onExpectedSize(long size, ObjectContainer container);
+ public void onExpectedSize(long size, ObjectContainer container,
ClientContext context);
- public void onExpectedMIME(String mime, ObjectContainer container);
+ public void onExpectedMIME(String mime, ObjectContainer container,
ClientContext context);
public void onFinalizedMetadata(ObjectContainer container);
Modified: trunk/freenet/src/freenet/client/async/SingleFileFetcher.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SingleFileFetcher.java
2009-04-21 19:34:12 UTC (rev 27168)
+++ trunk/freenet/src/freenet/client/async/SingleFileFetcher.java
2009-04-21 21:43:47 UTC (rev 27169)
@@ -553,7 +553,7 @@
clientMetadata.mergeNoOverwrite(metadata.getClientMetadata());
if(persistent) container.store(clientMetadata);
String mime = clientMetadata.getMIMEType();
- if(mime != null) rcb.onExpectedMIME(mime,
container);
+ if(mime != null) rcb.onExpectedMIME(mime,
container, context);
if(metaStrings.isEmpty() && isFinal &&
clientMetadata.getMIMETypeNoParams() != null && ctx.allowedMIMETypes != null &&
!ctx.allowedMIMETypes.contains(clientMetadata.getMIMETypeNoParams())) {
throw new
FetchException(FetchException.WRONG_MIME_TYPE, -1, false,
clientMetadata.getMIMEType());
@@ -660,7 +660,7 @@
clientMetadata.mergeNoOverwrite(metadata.getClientMetadata()); // even
splitfiles can have mime types!
if(persistent) container.store(clientMetadata);
String mime = clientMetadata.getMIMEType();
- if(mime != null) rcb.onExpectedMIME(mime,
container);
+ if(mime != null) rcb.onExpectedMIME(mime,
container, context);
String mimeType =
clientMetadata.getMIMETypeNoParams();
if(mimeType != null &&
ArchiveManager.ARCHIVE_TYPE.isUsableArchiveType(mimeType) && metaStrings.size()
> 0) {
@@ -732,7 +732,7 @@
clientMetadata.mergeNoOverwrite(metadata.getClientMetadata()); // even
splitfiles can have mime types!
if(persistent) container.store(clientMetadata);
String mime = clientMetadata.getMIMEType();
- if(mime != null) rcb.onExpectedMIME(mime,
container);
+ if(mime != null) rcb.onExpectedMIME(mime,
container, context);
String mimeType =
clientMetadata.getMIMETypeNoParams();
if(mimeType != null &&
ArchiveManager.ARCHIVE_TYPE.isUsableArchiveType(mimeType) && metaStrings.size()
> 0) {
@@ -1024,11 +1024,11 @@
// Ignore
}
- public void onExpectedMIME(String mime, ObjectContainer
container) {
+ public void onExpectedMIME(String mime, ObjectContainer
container, ClientContext context) {
// Ignore
}
- public void onExpectedSize(long size, ObjectContainer
container) {
+ public void onExpectedSize(long size, ObjectContainer
container, ClientContext context) {
boolean wasActive = true;
if(persistent) {
wasActive =
container.ext().isActive(SingleFileFetcher.this);
@@ -1037,7 +1037,7 @@
}
if(persistent)
container.activate(rcb, 1);
- rcb.onExpectedSize(size, container);
+ rcb.onExpectedSize(size, container, context);
if(!wasActive)
container.deactivate(SingleFileFetcher.this, 1);
}
@@ -1119,11 +1119,11 @@
// Ignore
}
- public void onExpectedMIME(String mime, ObjectContainer
container) {
+ public void onExpectedMIME(String mime, ObjectContainer
container, ClientContext context) {
// Ignore
}
- public void onExpectedSize(long size, ObjectContainer
container) {
+ public void onExpectedSize(long size, ObjectContainer
container, ClientContext context) {
boolean wasActive = true;
boolean cbWasActive = true;
if(persistent) {
@@ -1132,7 +1132,7 @@
cbWasActive = container.ext().isActive(rcb);
container.activate(rcb, 1);
}
- rcb.onExpectedSize(size, container);
+ rcb.onExpectedSize(size, container, context);
if(!wasActive)
container.deactivate(SingleFileFetcher.this, 1);
if(!cbWasActive)
Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcher.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SplitFileFetcher.java
2009-04-21 19:34:12 UTC (rev 27168)
+++ trunk/freenet/src/freenet/client/async/SplitFileFetcher.java
2009-04-21 21:43:47 UTC (rev 27169)
@@ -181,10 +181,10 @@
if(!wasActive)
container.activate(cb, 1);
}
- cb.onExpectedSize(eventualLength, container);
+ cb.onExpectedSize(eventualLength, container, context);
String mimeType = metadata.getMIMEType();
if(mimeType != null)
- cb.onExpectedMIME(mimeType, container);
+ cb.onExpectedMIME(mimeType, container, context);
if(metadata.uncompressedDataLength() > 0)
cb.onFinalizedMetadata(container);
if(!wasActive)
Modified: trunk/freenet/src/freenet/client/async/USKFetcherWrapper.java
===================================================================
--- trunk/freenet/src/freenet/client/async/USKFetcherWrapper.java
2009-04-21 19:34:12 UTC (rev 27168)
+++ trunk/freenet/src/freenet/client/async/USKFetcherWrapper.java
2009-04-21 21:43:47 UTC (rev 27169)
@@ -60,11 +60,11 @@
return super.toString()+ ':' +usk;
}
- public void onExpectedMIME(String mime, ObjectContainer container) {
+ public void onExpectedMIME(String mime, ObjectContainer container,
ClientContext context) {
// Ignore
}
- public void onExpectedSize(long size, ObjectContainer container) {
+ public void onExpectedSize(long size, ObjectContainer container,
ClientContext context) {
// Ignore
}
Modified: trunk/freenet/src/freenet/client/async/USKProxyCompletionCallback.java
===================================================================
--- trunk/freenet/src/freenet/client/async/USKProxyCompletionCallback.java
2009-04-21 19:34:12 UTC (rev 27168)
+++ trunk/freenet/src/freenet/client/async/USKProxyCompletionCallback.java
2009-04-21 21:43:47 UTC (rev 27169)
@@ -67,16 +67,16 @@
// Ignore
}
- public void onExpectedMIME(String mime, ObjectContainer container) {
+ public void onExpectedMIME(String mime, ObjectContainer container,
ClientContext context) {
if(container != null && persistent)
container.activate(cb, 1);
- cb.onExpectedMIME(mime, container);
+ cb.onExpectedMIME(mime, container, context);
}
- public void onExpectedSize(long size, ObjectContainer container) {
+ public void onExpectedSize(long size, ObjectContainer container,
ClientContext context) {
if(container != null && persistent)
container.activate(cb, 1);
- cb.onExpectedSize(size, container);
+ cb.onExpectedSize(size, container, context);
}
public void onFinalizedMetadata(ObjectContainer container) {
Modified: trunk/freenet/src/freenet/client/async/USKRetriever.java
===================================================================
--- trunk/freenet/src/freenet/client/async/USKRetriever.java 2009-04-21
19:34:12 UTC (rev 27168)
+++ trunk/freenet/src/freenet/client/async/USKRetriever.java 2009-04-21
21:43:47 UTC (rev 27169)
@@ -98,11 +98,11 @@
// Ignore
}
- public void onExpectedMIME(String mime, ObjectContainer container) {
+ public void onExpectedMIME(String mime, ObjectContainer container,
ClientContext context) {
// Ignore
}
- public void onExpectedSize(long size, ObjectContainer container) {
+ public void onExpectedSize(long size, ObjectContainer container,
ClientContext context) {
// Ignore
}
Modified: trunk/freenet/src/freenet/clients/http/FProxyFetchInProgress.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/FProxyFetchInProgress.java
2009-04-21 19:34:12 UTC (rev 27168)
+++ trunk/freenet/src/freenet/clients/http/FProxyFetchInProgress.java
2009-04-21 21:43:47 UTC (rev 27169)
@@ -15,6 +15,8 @@
import freenet.client.async.ClientGetter;
import freenet.client.events.ClientEvent;
import freenet.client.events.ClientEventListener;
+import freenet.client.events.ExpectedFileSizeEvent;
+import freenet.client.events.ExpectedMIMEEvent;
import freenet.client.events.SendingToNetworkEvent;
import freenet.client.events.SplitfileProgressEvent;
import freenet.keys.FreenetURI;
@@ -154,6 +156,14 @@
goneToNetwork = true;
fetchedBlocksPreNetwork = fetchedBlocks;
}
+ } else if(ce instanceof ExpectedMIMEEvent) {
+ synchronized(this) {
+ this.mimeType =
((ExpectedMIMEEvent)ce).expectedMIMEType;
+ }
+ } else if(ce instanceof ExpectedFileSizeEvent) {
+ synchronized(this) {
+ this.size =
((ExpectedFileSizeEvent)ce).expectedSize;
+ }
} else return;
wakeWaiters(false);
}
Modified: trunk/freenet/src/freenet/clients/http/FProxyToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/FProxyToadlet.java 2009-04-21
19:34:12 UTC (rev 27168)
+++ trunk/freenet/src/freenet/clients/http/FProxyToadlet.java 2009-04-21
21:43:47 UTC (rev 27169)
@@ -518,9 +518,10 @@
HTMLNode infobox = contentNode.addChild("div",
"class", "infobox infobox-information");
infobox.addChild("div", "class",
"infobox-header", l10n("fetchingPageBox"));
HTMLNode infoboxContent =
infobox.addChild("div", "class", "infobox-content");
- infoboxContent.addChild("#", "Filename:
"+key.getPreferredFilename());
- infoboxContent.addChild("br", "Key: "+key);
- if(fr.mimeType != null)
infoboxContent.addChild("p", "Content type: "+mimeType);
+ infoboxContent.addChild("#", "Filename: ");
+ infoboxContent.addChild("a", "href",
"/"+key.toString(false, false), key.getPreferredFilename());
+ if(fr.mimeType != null)
infoboxContent.addChild("br", "Content type: "+fr.mimeType);
+ if(fr.size > 0) infoboxContent.addChild("br",
"Size: "+SizeUtil.formatSize(fr.size));
if(core.isAdvancedModeEnabled()) {
infoboxContent.addChild("br", "Blocks:
need "+fr.requiredBlocks+" total "+fr.totalBlocks+" fetched
"+fr.fetchedBlocks+" failed "+fr.failedBlocks+" fatally failed
"+fr.fatallyFailedBlocks);
}
@@ -596,7 +597,7 @@
try {
if(Logger.shouldLog(Logger.MINOR, this))
Logger.minor(this, "FProxy fetching "+key+"
("+maxSize+ ')');
- if(data == null) {
+ if(data == null && fe == null) {
FetchResult result = fetch(key, maxSize, new
RequestClient() {
public boolean persistent() {
return false;
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs