On Monday 05 January 2009 12:03, j16sdiz at freenetproject.org wrote:
> 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
In which case it should throw a content filter exception, not just any
exception... anything unexpected is bad, and may indicate a bug in the
filter...
> + 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
> cvs at freenetproject.org
> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 827 bytes
Desc: not available
URL:
<https://emu.freenetproject.org/pipermail/devl/attachments/20090110/8956cefa/attachment.pgp>