I'm using Duke for record linkage and in a basic test I get this exception java.lang.ArrayIndexOutOfBoundsException: 1000 from CSVReader.
This is my Java class:
Configuration config = ConfigLoader.load("resources/dukeConfiguration.xml");
Processor proc = new Processor(config);
proc.addMatchListener(new PrintMatchListener(true, true, true, false,
config.getProperties(),
true));
proc.link();
proc.close();
and this one is the configuration file:
<duke>
<schema>
<threshold>0.7</threshold>
<property type="id">
<name>ID</name>
</property>
<property>
<name>TITLE</name>
<comparator>no.priv.garshol.duke.comparators.Levenshtein</comparator>
<low>0.09</low>
<high>0.93</high>
</property>
<property>
<name>ARTIST</name>
<comparator>no.priv.garshol.duke.comparators.Levenshtein</comparator>
<low>0.04</low>
<high>0.73</high>
</property>
</schema>
<group>
<jdbc>
<param name="driver-class" value="com.mysql.jdbc.Driver" />
<param name="connection-string" value="jdbc:mysql://localhost:3306/digitalmusic" />
<param name="user-name" value="root" />
<param name="password" value="root" />
<param name="query" value="select * from inventory" />
<column name="idsong" property="ID" />
<column name="title" property="TITLE" />
<column name="artist" property="ARTIST" />
</jdbc>
</group>
<group>
<csv>
<param name="input-file" value="/home/mongo.csv" />
<param name="header-line" value="false" />
<column name="1" property="ID" />
<column name="2" property="TITLE" />
<column name="3" property="ARTIST" />
</csv>
</group>
</duke>
Someone knows where is the problem?
Stacktrace:
Records: 0
Records: 40000
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1000
at no.priv.garshol.duke.utils.CSVReader.next(CSVReader.java:70)
at no.priv.garshol.duke.datasources.CSVDataSource$CSVRecordIterator.findNextRecord(CSVDataSource.java:170)
at no.priv.garshol.duke.datasources.CSVDataSource$CSVRecordIterator.next(CSVDataSource.java:198)
at no.priv.garshol.duke.datasources.CSVDataSource$CSVRecordIterator.next(CSVDataSource.java:111)
at no.priv.garshol.duke.Processor.linkRecords(Processor.java:362)
at no.priv.garshol.duke.Processor.link(Processor.java:319)
at no.priv.garshol.duke.Processor.link(Processor.java:298)
at no.priv.garshol.duke.Processor.link(Processor.java:285)
at duke.DukeCollecting.main(DukeCollecting.java:20)