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));


Reply via email to