Author: j16sdiz
Date: 2008-12-17 05:37:31 +0000 (Wed, 17 Dec 2008)
New Revision: 24405
Modified:
trunk/plugins/XMLSpider/XMLSpider.java
Log:
synchronization and delete old TermPosition
Modified: trunk/plugins/XMLSpider/XMLSpider.java
===================================================================
--- trunk/plugins/XMLSpider/XMLSpider.java 2008-12-17 05:37:22 UTC (rev
24404)
+++ trunk/plugins/XMLSpider/XMLSpider.java 2008-12-17 05:37:31 UTC (rev
24405)
@@ -392,6 +392,16 @@
page.status = Status.SUCCEEDED; // Content filter may throw,
but we mark it as success anyway
try {
+ synchronized (page) {
+ // Page may be refetched if added manually
+ // Delete existing TermPosition
+ Query query = db.query();
+ query.constrain(TermPosition.class);
+ query.descend("pageId").constrain(page.id);
+ ObjectSet<TermPosition> set = query.execute();
+ for (TermPosition tp : set)
+ db.delete(tp);
+
ClientMetadata cm = result.getMetadata();
Bucket data = result.asBucket();
String mimeType = cm.getMIMEType();
@@ -416,6 +426,7 @@
} finally {
data.free();
}
+ }
} finally {
synchronized (this) {
runningFetch.remove(page);
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs