Author: jnioche
Date: Wed Aug 11 09:36:34 2010
New Revision: 984352
URL: http://svn.apache.org/viewvc?rev=984352&view=rev
Log:
NUTCH-861 Rename HTMLParseFilter into ParseFilter
Added:
nutch/trunk/src/java/org/apache/nutch/parse/ParseFilter.java
nutch/trunk/src/java/org/apache/nutch/parse/ParseFilters.java
Removed:
nutch/trunk/src/java/org/apache/nutch/parse/HtmlParseFilter.java
nutch/trunk/src/java/org/apache/nutch/parse/HtmlParseFilters.java
Modified:
nutch/trunk/CHANGES.txt
nutch/trunk/src/java/org/apache/nutch/parse/ParserJob.java
nutch/trunk/src/plugin/creativecommons/plugin.xml
nutch/trunk/src/plugin/creativecommons/src/java/org/creativecommons/nutch/CCParseFilter.java
nutch/trunk/src/plugin/languageidentifier/plugin.xml
nutch/trunk/src/plugin/languageidentifier/src/java/org/apache/nutch/analysis/lang/HTMLLanguageParser.java
nutch/trunk/src/plugin/microformats-reltag/plugin.xml
nutch/trunk/src/plugin/microformats-reltag/src/java/org/apache/nutch/microformats/reltag/RelTagParser.java
nutch/trunk/src/plugin/nutch-extensionpoints/plugin.xml
nutch/trunk/src/plugin/parse-html/src/java/org/apache/nutch/parse/html/HtmlParser.java
nutch/trunk/src/plugin/parse-js/plugin.xml
nutch/trunk/src/plugin/parse-js/src/java/org/apache/nutch/parse/js/JSParseFilter.java
nutch/trunk/src/plugin/parse-tika/src/java/org/apache/nutch/parse/tika/TikaParser.java
Modified: nutch/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/nutch/trunk/CHANGES.txt?rev=984352&r1=984351&r2=984352&view=diff
==============================================================================
--- nutch/trunk/CHANGES.txt (original)
+++ nutch/trunk/CHANGES.txt Wed Aug 11 09:36:34 2010
@@ -2,6 +2,8 @@ Nutch Change Log
Release 2.0 - Current Development
+* NUTCH-861 Renamed HTMLParseFilter into ParseFilter
+
* NUTCH-876 Remove remaining robots/IP blocking code in lib-http (ab)
* NUTCH-851 Port logging to slf4j (jnioche)
Added: nutch/trunk/src/java/org/apache/nutch/parse/ParseFilter.java
URL:
http://svn.apache.org/viewvc/nutch/trunk/src/java/org/apache/nutch/parse/ParseFilter.java?rev=984352&view=auto
==============================================================================
--- nutch/trunk/src/java/org/apache/nutch/parse/ParseFilter.java (added)
+++ nutch/trunk/src/java/org/apache/nutch/parse/ParseFilter.java Wed Aug 11
09:36:34 2010
@@ -0,0 +1,39 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.nutch.parse;
+
+import org.apache.hadoop.conf.Configurable;
+import org.apache.nutch.plugin.FieldPluggable;
+import org.apache.nutch.storage.WebPage;
+import org.w3c.dom.DocumentFragment;
+
+
+/** Extension point for DOM-based parsers. Permits one to add additional
+ * metadata to parses provided by the html or tika plugins. All plugins found
which implement this extension
+ * point are run sequentially on the parse.
+ */
+public interface ParseFilter extends FieldPluggable, Configurable {
+ /** The name of the extension point. */
+ final static String X_POINT_ID = ParseFilter.class.getName();
+
+ /** Adds metadata or otherwise modifies a parse, given
+ * the DOM tree of a page. */
+ Parse filter(String url, WebPage page, Parse parse,
+ HTMLMetaTags metaTags, DocumentFragment doc);
+
+}
Added: nutch/trunk/src/java/org/apache/nutch/parse/ParseFilters.java
URL:
http://svn.apache.org/viewvc/nutch/trunk/src/java/org/apache/nutch/parse/ParseFilters.java?rev=984352&view=auto
==============================================================================
--- nutch/trunk/src/java/org/apache/nutch/parse/ParseFilters.java (added)
+++ nutch/trunk/src/java/org/apache/nutch/parse/ParseFilters.java Wed Aug 11
09:36:34 2010
@@ -0,0 +1,124 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.nutch.parse;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.nutch.plugin.Extension;
+import org.apache.nutch.plugin.ExtensionPoint;
+import org.apache.nutch.plugin.PluginRepository;
+import org.apache.nutch.plugin.PluginRuntimeException;
+import org.apache.nutch.storage.WebPage;
+import org.apache.nutch.util.ObjectCache;
+import org.w3c.dom.DocumentFragment;
+
+/** Creates and caches {...@link ParseFilter} implementing plugins.*/
+public class ParseFilters {
+
+ private ParseFilter[] parseFilters;
+
+ public static final String HTMLPARSEFILTER_ORDER = "htmlparsefilter.order";
+
+ public ParseFilters(Configuration conf) {
+ String order = conf.get(HTMLPARSEFILTER_ORDER);
+ ObjectCache objectCache = ObjectCache.get(conf);
+ this.parseFilters = (ParseFilter[])
objectCache.getObject(ParseFilter.class.getName());
+ if (parseFilters == null) {
+ /*
+ * If ordered filters are required, prepare array of filters based on
+ * property
+ */
+ String[] orderedFilters = null;
+ if (order != null && !order.trim().equals("")) {
+ orderedFilters = order.split("\\s+");
+ }
+ HashMap<String, ParseFilter> filterMap =
+ new HashMap<String, ParseFilter>();
+ try {
+ ExtensionPoint point =
PluginRepository.get(conf).getExtensionPoint(ParseFilter.X_POINT_ID);
+ if (point == null)
+ throw new RuntimeException(ParseFilter.X_POINT_ID + " not found.");
+ Extension[] extensions = point.getExtensions();
+ for (int i = 0; i < extensions.length; i++) {
+ Extension extension = extensions[i];
+ ParseFilter parseFilter = (ParseFilter)
extension.getExtensionInstance();
+ if (!filterMap.containsKey(parseFilter.getClass().getName())) {
+ filterMap.put(parseFilter.getClass().getName(), parseFilter);
+ }
+ }
+ ParseFilter[] htmlParseFilters = filterMap.values().toArray(new
ParseFilter[filterMap.size()]);
+ /*
+ * If no ordered filters required, just get the filters in an
+ * indeterminate order
+ */
+ if (orderedFilters == null) {
+ objectCache.setObject(ParseFilter.class.getName(), htmlParseFilters);
+ }
+ /* Otherwise run the filters in the required order */
+ else {
+ ArrayList<ParseFilter> filters = new ArrayList<ParseFilter>();
+ for (int i = 0; i < orderedFilters.length; i++) {
+ ParseFilter filter = filterMap
+ .get(orderedFilters[i]);
+ if (filter != null) {
+ filters.add(filter);
+ }
+ }
+ objectCache.setObject(ParseFilter.class.getName(), filters
+ .toArray(new ParseFilter[filters.size()]));
+ }
+ } catch (PluginRuntimeException e) {
+ throw new RuntimeException(e);
+ }
+ this.parseFilters = (ParseFilter[])
objectCache.getObject(ParseFilter.class.getName());
+ }
+ }
+
+ /** Run all defined filters. */
+ public Parse filter(String url, WebPage page, Parse parse,
+ HTMLMetaTags metaTags, DocumentFragment doc) {
+
+ // loop on each filter
+ for (ParseFilter parseFilter : parseFilters) {
+ // call filter interface
+ parse = parseFilter.filter(url, page, parse, metaTags, doc);
+
+ // any failure on parse obj, return
+ if (!ParseStatusUtils.isSuccess(parse.getParseStatus())) {
+ return parse;
+ }
+ }
+
+ return parse;
+ }
+
+ public Collection<WebPage.Field> getFields() {
+ Collection<WebPage.Field> fields = new HashSet<WebPage.Field>();
+ for (ParseFilter htmlParseFilter : parseFilters) {
+ Collection<WebPage.Field> pluginFields = htmlParseFilter.getFields();
+ if (pluginFields != null) {
+ fields.addAll(pluginFields);
+ }
+ }
+ return fields;
+ }
+}
Modified: nutch/trunk/src/java/org/apache/nutch/parse/ParserJob.java
URL:
http://svn.apache.org/viewvc/nutch/trunk/src/java/org/apache/nutch/parse/ParserJob.java?rev=984352&r1=984351&r2=984352&view=diff
==============================================================================
--- nutch/trunk/src/java/org/apache/nutch/parse/ParserJob.java (original)
+++ nutch/trunk/src/java/org/apache/nutch/parse/ParserJob.java Wed Aug 11
09:36:34 2010
@@ -113,7 +113,7 @@ public class ParserJob extends GoraMappe
Configuration conf = job.getConfiguration();
Collection<WebPage.Field> fields = new HashSet<WebPage.Field>(FIELDS);
ParserFactory parserFactory = new ParserFactory(conf);
- HtmlParseFilters parseFilters = new HtmlParseFilters(conf);
+ ParseFilters parseFilters = new ParseFilters(conf);
Collection<WebPage.Field> parsePluginFields = parserFactory.getFields();
Collection<WebPage.Field> signaturePluginFields =
Modified: nutch/trunk/src/plugin/creativecommons/plugin.xml
URL:
http://svn.apache.org/viewvc/nutch/trunk/src/plugin/creativecommons/plugin.xml?rev=984352&r1=984351&r2=984352&view=diff
==============================================================================
--- nutch/trunk/src/plugin/creativecommons/plugin.xml (original)
+++ nutch/trunk/src/plugin/creativecommons/plugin.xml Wed Aug 11 09:36:34 2010
@@ -33,7 +33,7 @@
<extension id="org.creativecommons.nutch.CCParseFilter"
name="Creative Commons Metadata Filter"
- point="org.apache.nutch.parse.HtmlParseFilter">
+ point="org.apache.nutch.parse.ParseFilter">
<implementation id="CCParseFilter"
class="org.creativecommons.nutch.CCParseFilter"/>
</extension>
Modified:
nutch/trunk/src/plugin/creativecommons/src/java/org/creativecommons/nutch/CCParseFilter.java
URL:
http://svn.apache.org/viewvc/nutch/trunk/src/plugin/creativecommons/src/java/org/creativecommons/nutch/CCParseFilter.java?rev=984352&r1=984351&r2=984352&view=diff
==============================================================================
---
nutch/trunk/src/plugin/creativecommons/src/java/org/creativecommons/nutch/CCParseFilter.java
(original)
+++
nutch/trunk/src/plugin/creativecommons/src/java/org/creativecommons/nutch/CCParseFilter.java
Wed Aug 11 09:36:34 2010
@@ -34,7 +34,7 @@ import org.slf4j.LoggerFactory;
import org.apache.hadoop.conf.Configuration;
import org.apache.nutch.metadata.CreativeCommons;
import org.apache.nutch.parse.HTMLMetaTags;
-import org.apache.nutch.parse.HtmlParseFilter;
+import org.apache.nutch.parse.ParseFilter;
import org.apache.nutch.parse.Parse;
import org.apache.nutch.parse.ParseException;
import org.apache.nutch.parse.ParseStatusUtils;
@@ -49,7 +49,7 @@ import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
/** Adds metadata identifying the Creative Commons license used, if any. */
-public class CCParseFilter implements HtmlParseFilter {
+public class CCParseFilter implements ParseFilter {
public static final Logger LOG =
LoggerFactory.getLogger(CCParseFilter.class);
/** Walks DOM tree, looking for RDF in comments and licenses in
anchors. */
Modified: nutch/trunk/src/plugin/languageidentifier/plugin.xml
URL:
http://svn.apache.org/viewvc/nutch/trunk/src/plugin/languageidentifier/plugin.xml?rev=984352&r1=984351&r2=984352&view=diff
==============================================================================
--- nutch/trunk/src/plugin/languageidentifier/plugin.xml (original)
+++ nutch/trunk/src/plugin/languageidentifier/plugin.xml Wed Aug 11 09:36:34
2010
@@ -33,7 +33,7 @@
<extension id="org.apache.nutch.analysis.lang.LanguageParser"
name="Nutch language Parser"
- point="org.apache.nutch.parse.HtmlParseFilter">
+ point="org.apache.nutch.parse.ParseFilter">
<implementation id="LanguageParser"
class="org.apache.nutch.analysis.lang.HTMLLanguageParser"/>
</extension>
Modified:
nutch/trunk/src/plugin/languageidentifier/src/java/org/apache/nutch/analysis/lang/HTMLLanguageParser.java
URL:
http://svn.apache.org/viewvc/nutch/trunk/src/plugin/languageidentifier/src/java/org/apache/nutch/analysis/lang/HTMLLanguageParser.java?rev=984352&r1=984351&r2=984352&view=diff
==============================================================================
---
nutch/trunk/src/plugin/languageidentifier/src/java/org/apache/nutch/analysis/lang/HTMLLanguageParser.java
(original)
+++
nutch/trunk/src/plugin/languageidentifier/src/java/org/apache/nutch/analysis/lang/HTMLLanguageParser.java
Wed Aug 11 09:36:34 2010
@@ -31,7 +31,7 @@ import org.slf4j.LoggerFactory;
import org.apache.hadoop.conf.Configuration;
import org.apache.nutch.metadata.Metadata;
import org.apache.nutch.parse.HTMLMetaTags;
-import org.apache.nutch.parse.HtmlParseFilter;
+import org.apache.nutch.parse.ParseFilter;
import org.apache.nutch.parse.Parse;
import org.apache.nutch.storage.WebPage;
import org.apache.nutch.storage.WebPage.Field;
@@ -46,7 +46,7 @@ import org.w3c.dom.Node;
* Adds metadata identifying language of document if found We could also run
* statistical analysis here but we'd miss all other formats
*/
-public class HTMLLanguageParser implements HtmlParseFilter {
+public class HTMLLanguageParser implements ParseFilter {
public static final Logger LOG =
LoggerFactory.getLogger(HTMLLanguageParser.class);
Modified: nutch/trunk/src/plugin/microformats-reltag/plugin.xml
URL:
http://svn.apache.org/viewvc/nutch/trunk/src/plugin/microformats-reltag/plugin.xml?rev=984352&r1=984351&r2=984352&view=diff
==============================================================================
--- nutch/trunk/src/plugin/microformats-reltag/plugin.xml (original)
+++ nutch/trunk/src/plugin/microformats-reltag/plugin.xml Wed Aug 11 09:36:34
2010
@@ -33,7 +33,7 @@
<extension id="org.apache.nutch.microformats.reltag.RelTagParser"
name="Rel-Tag parser"
- point="org.apache.nutch.parse.HtmlParseFilter">
+ point="org.apache.nutch.parse.ParseFilter">
<implementation id="RelTagParser"
class="org.apache.nutch.microformats.reltag.RelTagParser"/>
</extension>
Modified:
nutch/trunk/src/plugin/microformats-reltag/src/java/org/apache/nutch/microformats/reltag/RelTagParser.java
URL:
http://svn.apache.org/viewvc/nutch/trunk/src/plugin/microformats-reltag/src/java/org/apache/nutch/microformats/reltag/RelTagParser.java?rev=984352&r1=984351&r2=984352&view=diff
==============================================================================
---
nutch/trunk/src/plugin/microformats-reltag/src/java/org/apache/nutch/microformats/reltag/RelTagParser.java
(original)
+++
nutch/trunk/src/plugin/microformats-reltag/src/java/org/apache/nutch/microformats/reltag/RelTagParser.java
Wed Aug 11 09:36:34 2010
@@ -31,7 +31,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.hadoop.conf.Configuration;
import org.apache.nutch.parse.HTMLMetaTags;
-import org.apache.nutch.parse.HtmlParseFilter;
+import org.apache.nutch.parse.ParseFilter;
import org.apache.nutch.parse.Parse;
import org.apache.nutch.storage.WebPage;
import org.apache.nutch.storage.WebPage.Field;
@@ -48,7 +48,7 @@ import org.w3c.dom.NodeList;
* http://www.microformats.org/wiki/rel-tag</a>
* @author Jérôme Charron
*/
-public class RelTagParser implements HtmlParseFilter {
+public class RelTagParser implements ParseFilter {
public final static Logger LOG =
LoggerFactory.getLogger(RelTagParser.class);
Modified: nutch/trunk/src/plugin/nutch-extensionpoints/plugin.xml
URL:
http://svn.apache.org/viewvc/nutch/trunk/src/plugin/nutch-extensionpoints/plugin.xml?rev=984352&r1=984351&r2=984352&view=diff
==============================================================================
--- nutch/trunk/src/plugin/nutch-extensionpoints/plugin.xml (original)
+++ nutch/trunk/src/plugin/nutch-extensionpoints/plugin.xml Wed Aug 11 09:36:34
2010
@@ -33,8 +33,8 @@
name="Nutch Content Parser"/>
<extension-point
- id="org.apache.nutch.parse.HtmlParseFilter"
- name="HTML Parse Filter"/>
+ id="org.apache.nutch.parse.ParseFilter"
+ name="Parse Filter"/>
<extension-point
id="org.apache.nutch.protocol.Protocol"
Modified:
nutch/trunk/src/plugin/parse-html/src/java/org/apache/nutch/parse/html/HtmlParser.java
URL:
http://svn.apache.org/viewvc/nutch/trunk/src/plugin/parse-html/src/java/org/apache/nutch/parse/html/HtmlParser.java?rev=984352&r1=984351&r2=984352&view=diff
==============================================================================
---
nutch/trunk/src/plugin/parse-html/src/java/org/apache/nutch/parse/html/HtmlParser.java
(original)
+++
nutch/trunk/src/plugin/parse-html/src/java/org/apache/nutch/parse/html/HtmlParser.java
Wed Aug 11 09:36:34 2010
@@ -42,7 +42,7 @@ import org.apache.html.dom.HTMLDocumentI
import org.apache.nutch.metadata.Metadata;
import org.apache.nutch.metadata.Nutch;
import org.apache.nutch.parse.HTMLMetaTags;
-import org.apache.nutch.parse.HtmlParseFilters;
+import org.apache.nutch.parse.ParseFilters;
import org.apache.nutch.parse.Outlink;
import org.apache.nutch.parse.Parse;
import org.apache.nutch.parse.ParseStatusCodes;
@@ -133,7 +133,7 @@ public class HtmlParser implements Parse
private DOMContentUtils utils;
- private HtmlParseFilters htmlParseFilters;
+ private ParseFilters htmlParseFilters;
private String cachingPolicy;
@@ -287,7 +287,7 @@ public class HtmlParser implements Parse
public void setConf(Configuration conf) {
this.conf = conf;
- this.htmlParseFilters = new HtmlParseFilters(getConf());
+ this.htmlParseFilters = new ParseFilters(getConf());
this.parserImpl = getConf().get("parser.html.impl", "neko");
this.defaultCharEncoding = getConf().get(
"parser.character.encoding.default", "windows-1252");
Modified: nutch/trunk/src/plugin/parse-js/plugin.xml
URL:
http://svn.apache.org/viewvc/nutch/trunk/src/plugin/parse-js/plugin.xml?rev=984352&r1=984351&r2=984352&view=diff
==============================================================================
--- nutch/trunk/src/plugin/parse-js/plugin.xml (original)
+++ nutch/trunk/src/plugin/parse-js/plugin.xml Wed Aug 11 09:36:34 2010
@@ -42,7 +42,7 @@
</extension>
<extension id="org.apache.nutch.parse.js.JSParseFilter"
name="Parse JS Filter"
- point="org.apache.nutch.parse.HtmlParseFilter">
+ point="org.apache.nutch.parse.ParseFilter">
<implementation id="JSParseFilter"
class="org.apache.nutch.parse.js.JSParseFilter">
<parameter name="contentType" value="application/x-javascript"/>
Modified:
nutch/trunk/src/plugin/parse-js/src/java/org/apache/nutch/parse/js/JSParseFilter.java
URL:
http://svn.apache.org/viewvc/nutch/trunk/src/plugin/parse-js/src/java/org/apache/nutch/parse/js/JSParseFilter.java?rev=984352&r1=984351&r2=984352&view=diff
==============================================================================
---
nutch/trunk/src/plugin/parse-js/src/java/org/apache/nutch/parse/js/JSParseFilter.java
(original)
+++
nutch/trunk/src/plugin/parse-js/src/java/org/apache/nutch/parse/js/JSParseFilter.java
Wed Aug 11 09:36:34 2010
@@ -31,7 +31,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.hadoop.conf.Configuration;
import org.apache.nutch.parse.HTMLMetaTags;
-import org.apache.nutch.parse.HtmlParseFilter;
+import org.apache.nutch.parse.ParseFilter;
import org.apache.nutch.parse.Outlink;
import org.apache.nutch.parse.Parse;
import org.apache.nutch.parse.ParseStatusCodes;
@@ -62,7 +62,7 @@ import org.w3c.dom.NodeList;
*
* @author Andrzej Bialecki <[email protected]>
*/
-public class JSParseFilter implements HtmlParseFilter, Parser {
+public class JSParseFilter implements ParseFilter, Parser {
public static final Logger LOG =
LoggerFactory.getLogger(JSParseFilter.class);
private static final int MAX_TITLE_LEN = 80;
Modified:
nutch/trunk/src/plugin/parse-tika/src/java/org/apache/nutch/parse/tika/TikaParser.java
URL:
http://svn.apache.org/viewvc/nutch/trunk/src/plugin/parse-tika/src/java/org/apache/nutch/parse/tika/TikaParser.java?rev=984352&r1=984351&r2=984352&view=diff
==============================================================================
---
nutch/trunk/src/plugin/parse-tika/src/java/org/apache/nutch/parse/tika/TikaParser.java
(original)
+++
nutch/trunk/src/plugin/parse-tika/src/java/org/apache/nutch/parse/tika/TikaParser.java
Wed Aug 11 09:36:34 2010
@@ -36,7 +36,7 @@ import org.apache.nutch.util.Bytes;
import org.apache.html.dom.HTMLDocumentImpl;
import org.apache.nutch.metadata.Nutch;
import org.apache.nutch.parse.HTMLMetaTags;
-import org.apache.nutch.parse.HtmlParseFilters;
+import org.apache.nutch.parse.ParseFilters;
import org.apache.nutch.parse.Outlink;
import org.apache.nutch.parse.OutlinkExtractor;
import org.apache.nutch.parse.Parse;
@@ -75,7 +75,7 @@ public class TikaParser implements org.a
private Configuration conf;
private TikaConfig tikaConfig = null;
private DOMContentUtils utils;
- private HtmlParseFilters htmlParseFilters;
+ private ParseFilters htmlParseFilters;
private String cachingPolicy;
@Override
@@ -208,7 +208,7 @@ public class TikaParser implements org.a
throw new RuntimeException(e2);
}
- this.htmlParseFilters = new HtmlParseFilters(getConf());
+ this.htmlParseFilters = new ParseFilters(getConf());
this.utils = new DOMContentUtils(conf);
this.cachingPolicy = getConf().get("parser.caching.forbidden.policy",
Nutch.CACHING_FORBIDDEN_CONTENT);