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