Author: j16sdiz
Date: 2009-01-05 12:03:27 +0000 (Mon, 05 Jan 2009)
New Revision: 24911
Modified:
trunk/plugins/XMLSpider/XMLSpider.java
Log:
mark as failed when content filter throws
Modified: trunk/plugins/XMLSpider/XMLSpider.java
===================================================================
--- trunk/plugins/XMLSpider/XMLSpider.java 2009-01-05 12:03:17 UTC (rev
24910)
+++ trunk/plugins/XMLSpider/XMLSpider.java 2009-01-05 12:03:27 UTC (rev
24911)
@@ -410,25 +410,34 @@
PageCallBack pageCallBack = new PageCallBack(page);
Logger.minor(this, "Successful: " + uri + " : " +
page.getId());
+ try {
ContentFilter.filter(data, new NullBucketFactory(),
mimeType, uri.toURI("http://127.0.0.1:8888/"),
pageCallBack);
+ } catch (UnsafeContentTypeException e) {
+ // wrong mime type
+ page.setStatus(Status.SUCCEEDED);
+ db.endThreadTransaction();
+ dbTransactionEnded = true;
+
+ Logger.minor(this, "UnsafeContentTypeException
" + uri + " : " + page.getId(), e);
+ return; // Ignore
+ } catch (IOException e) {
+ // ugh?
+ Logger.error(this, "Bucket error?: " + e, e);
+ return;
+ } catch (Exception e) {
+ // we have lots of invalid html on net - just
normal, not error
+ Logger.normal(this, "exception on content
filter for " + page, e);
+ return;
+ }
+
page.setStatus(Status.SUCCEEDED);
db.endThreadTransaction();
dbTransactionEnded = true;
Logger.minor(this, "Filtered " + uri + " : " +
page.getId());
- } catch (UnsafeContentTypeException e) {
- page.setStatus(Status.SUCCEEDED);
- db.endThreadTransaction();
- dbTransactionEnded = true;
-
- Logger.minor(this, "UnsafeContentTypeException " + uri
+ " : " + page.getId(), e);
- return; // Ignore
- } catch (IOException e) {
- Logger.error(this, "Bucket error?: " + e, e);
- } catch (URISyntaxException e) {
- Logger.error(this, "Internal error: " + e, e);
} catch (RuntimeException e) {
+ // other runtime exceptions
Logger.error(this, "Runtime Exception: " + e, e);
throw e;
} finally {
@@ -444,6 +453,9 @@
if (!dbTransactionEnded) {
Logger.minor(this, "rollback
transaction", new Exception("debug"));
db.rollbackThreadTransaction();
+
db.beginThreadTransaction(Storage.EXCLUSIVE_TRANSACTION);
+ page.setStatus(Status.FAILED);
+ db.endThreadTransaction();
}
}
}
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs