Author: toad
Date: 2007-08-17 13:30:34 +0000 (Fri, 17 Aug 2007)
New Revision: 14743
Modified:
trunk/freenet/src/freenet/client/Metadata.java
trunk/freenet/src/freenet/client/MetadataParseException.java
trunk/freenet/src/freenet/client/async/SingleFileFetcher.java
Log:
Make MetadataParseException not ako IOException
Modified: trunk/freenet/src/freenet/client/Metadata.java
===================================================================
--- trunk/freenet/src/freenet/client/Metadata.java 2007-08-17 13:29:04 UTC
(rev 14742)
+++ trunk/freenet/src/freenet/client/Metadata.java 2007-08-17 13:30:34 UTC
(rev 14743)
@@ -157,8 +157,9 @@
}
/** Parse some metadata from a byte[].
- * @throws IOException If the data is incomplete, or something wierd
happens. */
- private Metadata(byte[] data) throws IOException {
+ * @throws IOException If the data is incomplete, or something wierd
happens.
+ * @throws MetadataParseException */
+ private Metadata(byte[] data) throws IOException,
MetadataParseException {
this(new DataInputStream(new ByteArrayInputStream(data)),
data.length);
}
Modified: trunk/freenet/src/freenet/client/MetadataParseException.java
===================================================================
--- trunk/freenet/src/freenet/client/MetadataParseException.java
2007-08-17 13:29:04 UTC (rev 14742)
+++ trunk/freenet/src/freenet/client/MetadataParseException.java
2007-08-17 13:30:34 UTC (rev 14743)
@@ -6,7 +6,7 @@
import java.io.IOException;
/** Thrown when Metadata parse fails. */
-public class MetadataParseException extends IOException {
+public class MetadataParseException extends Exception {
private static final long serialVersionUID = 4910650977022715220L;
Modified: trunk/freenet/src/freenet/client/async/SingleFileFetcher.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SingleFileFetcher.java
2007-08-17 13:29:04 UTC (rev 14742)
+++ trunk/freenet/src/freenet/client/async/SingleFileFetcher.java
2007-08-17 13:30:34 UTC (rev 14743)
@@ -610,6 +610,9 @@
public void onSuccess(FetchResult result, ClientGetState state)
{
try {
metadata =
Metadata.construct(result.asBucket());
+ } catch (MetadataParseException e) {
+ SingleFileFetcher.this.onFailure(new
FetchException(FetchException.INVALID_METADATA, e));
+ return;
} catch (IOException e) {
// Bucket error?
SingleFileFetcher.this.onFailure(new
FetchException(FetchException.BUCKET_ERROR, e));