Author: toad
Date: 2008-10-15 16:08:52 +0000 (Wed, 15 Oct 2008)
New Revision: 22987

Modified:
   branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
   branches/db4o/freenet/src/freenet/clients/http/filter/CSSReadFilter.java
   branches/db4o/freenet/src/freenet/clients/http/filter/HTMLFilter.java
   branches/db4o/freenet/src/freenet/clients/http/filter/JPEGFilter.java
   branches/db4o/freenet/src/freenet/clients/http/filter/PNGFilter.java
   branches/db4o/freenet/src/freenet/support/api/BucketFactory.java
Log:
Specify -1 if we don't know.
Some bucket factories will treat the size as a hard limit.


Modified: 
branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java    
2008-10-15 16:02:09 UTC (rev 22986)
+++ branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java    
2008-10-15 16:08:52 UTC (rev 22987)
@@ -516,7 +516,7 @@
                                // FIXME support formats other than .zip.
                                // Only the *decoding* is generic at present.

-                               Bucket zipBucket = 
context.getBucketFactory(persistent()).makeBucket(baseMetadata.dataLength());
+                               Bucket zipBucket = 
context.getBucketFactory(persistent()).makeBucket(-1);
                                OutputStream os = new 
BufferedOutputStream(zipBucket.getOutputStream());
                                ZipOutputStream zos = new ZipOutputStream(os);
                                ZipEntry ze;

Modified: 
branches/db4o/freenet/src/freenet/clients/http/filter/CSSReadFilter.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/filter/CSSReadFilter.java    
2008-10-15 16:02:09 UTC (rev 22986)
+++ branches/db4o/freenet/src/freenet/clients/http/filter/CSSReadFilter.java    
2008-10-15 16:08:52 UTC (rev 22987)
@@ -36,7 +36,7 @@
                                        + ','
                         + charset);
                InputStream strm = bucket.getInputStream();
-               Bucket temp = bf.makeBucket(bucket.size());
+               Bucket temp = bf.makeBucket(-1);
                OutputStream os = temp.getOutputStream();
                Reader r = null;
                Writer w = null;

Modified: branches/db4o/freenet/src/freenet/clients/http/filter/HTMLFilter.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/filter/HTMLFilter.java       
2008-10-15 16:02:09 UTC (rev 22986)
+++ branches/db4o/freenet/src/freenet/clients/http/filter/HTMLFilter.java       
2008-10-15 16:08:52 UTC (rev 22987)
@@ -50,7 +50,7 @@
                if(logMINOR) Logger.minor(this, "readFilter(): 
charset="+charset);
                InputStream strm = bucket.getInputStream();
                BufferedInputStream bis = new BufferedInputStream(strm, 4096);
-               Bucket temp = bf.makeBucket(bucket.size());
+               Bucket temp = bf.makeBucket(-1);
                OutputStream os = temp.getOutputStream();
                BufferedOutputStream bos = new BufferedOutputStream(os, 4096);
                Reader r = null;

Modified: branches/db4o/freenet/src/freenet/clients/http/filter/JPEGFilter.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/filter/JPEGFilter.java       
2008-10-15 16:02:09 UTC (rev 22986)
+++ branches/db4o/freenet/src/freenet/clients/http/filter/JPEGFilter.java       
2008-10-15 16:08:52 UTC (rev 22987)
@@ -69,7 +69,7 @@
                        return output;
                if(Logger.shouldLog(Logger.MINOR, this))
                        Logger.minor(this, "Need to modify JPEG...");
-               Bucket filtered = bf.makeBucket(data.size());
+               Bucket filtered = bf.makeBucket(-1);
                OutputStream os = new 
BufferedOutputStream(filtered.getOutputStream());
                try {
                        readFilter(data, bf, charset, otherParams, cb, 
deleteComments, deleteExif, os);

Modified: branches/db4o/freenet/src/freenet/clients/http/filter/PNGFilter.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/filter/PNGFilter.java        
2008-10-15 16:02:09 UTC (rev 22986)
+++ branches/db4o/freenet/src/freenet/clients/http/filter/PNGFilter.java        
2008-10-15 16:08:52 UTC (rev 22987)
@@ -83,7 +83,7 @@
                        return output;
                if(Logger.shouldLog(Logger.MINOR, this))
                        Logger.minor(this, "Need to modify PNG...");
-               Bucket filtered = bf.makeBucket(data.size());
+               Bucket filtered = bf.makeBucket(-1);
                OutputStream os = new 
BufferedOutputStream(filtered.getOutputStream());
                try {
                        readFilter(data, bf, charset, otherParams, cb, 
deleteText, deleteTimestamp, checkCRCs, os);

Modified: branches/db4o/freenet/src/freenet/support/api/BucketFactory.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/api/BucketFactory.java    
2008-10-15 16:02:09 UTC (rev 22986)
+++ branches/db4o/freenet/src/freenet/support/api/BucketFactory.java    
2008-10-15 16:08:52 UTC (rev 22987)
@@ -7,6 +7,13 @@


 public interface BucketFactory {
+       /**
+        * Create a bucket.
+        * @param size The maximum size of the data, or -1 if we don't know.
+        * Some buckets will throw IOException if you go over this length.
+        * @return
+        * @throws IOException
+        */
     public Bucket makeBucket(long size) throws IOException;
 }



Reply via email to