[freenet-cvs] r14979 - in trunk: freenet/src/freenet/clients/http freenet/src/freenet/clients/http/filter freenet/src/freenet/support/io plugins/XMLSpider

toad at freenetproject.org toad at freenetproject.org
Wed Sep 5 23:28:08 UTC 2007


Author: toad
Date: 2007-09-05 23:28:07 +0000 (Wed, 05 Sep 2007)
New Revision: 14979

Added:
   trunk/freenet/src/freenet/support/io/NullBucketFactory.java
Modified:
   trunk/freenet/src/freenet/clients/http/NinjaSpider.java
   trunk/freenet/src/freenet/clients/http/Spider.java
   trunk/freenet/src/freenet/clients/http/filter/ContentFilter.java
   trunk/plugins/XMLSpider/XMLSpider.java
Log:
Don't leak a temp bucket for output of filtering in spiders

Modified: trunk/freenet/src/freenet/clients/http/NinjaSpider.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/NinjaSpider.java	2007-09-05 20:27:56 UTC (rev 14978)
+++ trunk/freenet/src/freenet/clients/http/NinjaSpider.java	2007-09-05 23:28:07 UTC (rev 14979)
@@ -53,6 +53,7 @@
 import freenet.support.MultiValueTable;
 import freenet.support.api.Bucket;
 import freenet.support.api.HTTPRequest;
+import freenet.support.io.NullBucketFactory;
 
 /**
  * FIXME move to a proper plugin.
@@ -192,7 +193,7 @@
 		mimeOfURIs.put(uri.toString(), mimeType);
 
 		try {
-			ContentFilter.filter(data, ctx.bucketFactory, mimeType, new URI("http://127.0.0.1:8888/" + uri.toString()), this);
+			ContentFilter.filter(data, new NullBucketFactory(), mimeType, new URI("http://127.0.0.1:8888/" + uri.toString()), this);
 		} catch (UnsafeContentTypeException e) {
 			return; // Ignore
 		} catch (IOException e) {

Modified: trunk/freenet/src/freenet/clients/http/Spider.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/Spider.java	2007-09-05 20:27:56 UTC (rev 14978)
+++ trunk/freenet/src/freenet/clients/http/Spider.java	2007-09-05 23:28:07 UTC (rev 14979)
@@ -43,6 +43,7 @@
 import freenet.support.MultiValueTable;
 import freenet.support.api.Bucket;
 import freenet.support.api.HTTPRequest;
+import freenet.support.io.NullBucketFactory;
 
 /**
  * Spider. Produces an index.
@@ -136,7 +137,7 @@
 		Bucket data = result.asBucket();
 		String mimeType = cm.getMIMEType();
 		try {
-			ContentFilter.filter(data, ctx.bucketFactory, mimeType, uri.toURI("http://127.0.0.1:8888/"), this);
+			ContentFilter.filter(data, new NullBucketFactory(), mimeType, uri.toURI("http://127.0.0.1:8888/"), this);
 		} catch (UnsafeContentTypeException e) {
 			return; // Ignore
 		} catch (IOException e) {

Modified: trunk/freenet/src/freenet/clients/http/filter/ContentFilter.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/filter/ContentFilter.java	2007-09-05 20:27:56 UTC (rev 14978)
+++ trunk/freenet/src/freenet/clients/http/filter/ContentFilter.java	2007-09-05 23:28:07 UTC (rev 14979)
@@ -119,6 +119,7 @@
 	
 	/**
 	 * Filter some data.
+	 * @param bf The bucket factory used to create the bucket to return the filtered data in.
 	 * @throws IOException If an internal error involving buckets occurred.
 	 */
 	public static FilterOutput filter(Bucket data, BucketFactory bf, String typeName, URI baseURI, FoundURICallback cb) throws UnsafeContentTypeException, IOException {

Added: trunk/freenet/src/freenet/support/io/NullBucketFactory.java
===================================================================
--- trunk/freenet/src/freenet/support/io/NullBucketFactory.java	                        (rev 0)
+++ trunk/freenet/src/freenet/support/io/NullBucketFactory.java	2007-09-05 23:28:07 UTC (rev 14979)
@@ -0,0 +1,14 @@
+package freenet.support.io;
+
+import java.io.IOException;
+
+import freenet.support.api.Bucket;
+import freenet.support.api.BucketFactory;
+
+public class NullBucketFactory implements BucketFactory {
+
+	public Bucket makeBucket(long size) throws IOException {
+		return new NullBucket();
+	}
+
+}

Modified: trunk/plugins/XMLSpider/XMLSpider.java
===================================================================
--- trunk/plugins/XMLSpider/XMLSpider.java	2007-09-05 20:27:56 UTC (rev 14978)
+++ trunk/plugins/XMLSpider/XMLSpider.java	2007-09-05 23:28:07 UTC (rev 14979)
@@ -67,6 +67,7 @@
 import freenet.support.Logger;
 import freenet.support.api.Bucket;
 import freenet.support.api.HTTPRequest;
+import freenet.support.io.NullBucketFactory;
 
 /**
  * XMLSpider. Produces xml index for searching words. 
@@ -270,7 +271,7 @@
 	
 		try {
 			Logger.minor(this, "Filtering "+uri+" : "+page.id);
-			ContentFilter.filter(data, ctx.bucketFactory, mimeType, uri.toURI("http://127.0.0.1:8888/"), page);
+			ContentFilter.filter(data, new NullBucketFactory(), mimeType, uri.toURI("http://127.0.0.1:8888/"), page);
 		} catch (UnsafeContentTypeException e) {
 			return; // Ignore
 		} catch (IOException e) {




More information about the cvs mailing list