dbpedia/extraction-framework — pull request #224 by nilesh-c (2014-05-23 19:46:42+00:00)
Title: DumpExtractionContext-related code changes required to get all the extractors working with distributed-extraction-framework/Spark

Refer to issue no. 9 in `distributed-extraction-framework` : https://github.com/dbpedia/distributed-extraction-framework/issues/9

Note that InfoboxExtractor does not work yet. All the other extractors do. Some extra changes (changing class signature etc.) may be required to get InfoboxExtractor working.

This is the section causing the problem:

private val unitValueParsers = ontology.datatypes.values
.filter(_.isInstanceOf[DimensionDatatype])
.map(dimension => new UnitValueParser(context, dimension, true))

private val intParser = new IntegerParser(context, true, validRange = (i => i%1==0))

private val doubleParser = new DoubleParser(context, true)

private val dataTimeParsers = List("xsd:date", "xsd:gMonthYear", "xsd:gMonthDay", "xsd:gMonth" /*, "xsd:gYear", "xsd:gDay"*/)
.map(datatype => new DateTimeParser(context, new Datatype(datatype), true))

private val singleGeoCoordinateParser = new SingleGeoCoordinateParser(context)

private val objectParser = new ObjectParser(context, true)

Objects are being created which are storing the context object inside them. These objects are being referred to in the body of extract(). Refer to aforementioned issue to see why this blows up.