use of org.apache.tika.eval.io.IDBWriter in project tika by apache.
the class EvalConsumerBuilder method populateRefTables.
public void populateRefTables() throws IOException, SQLException {
//test for one ref table. If it exists, don't populate ref tables
//TODO: test one at a time
boolean tableExists = false;
try (Connection connection = dbUtil.getConnection()) {
Set<String> tables = dbUtil.getTables(connection);
if (tables.contains(AbstractProfiler.REF_PARSE_ERROR_TYPES.getName().toLowerCase(Locale.US))) {
tableExists = true;
}
} catch (SQLException e) {
//swallow
}
if (tableExists) {
return;
}
IDBWriter writer = getDBWriter(getRefTableInfos());
Map<Cols, String> m = new HashMap<>();
for (AbstractProfiler.PARSE_ERROR_TYPE t : AbstractProfiler.PARSE_ERROR_TYPE.values()) {
m.clear();
m.put(Cols.PARSE_ERROR_ID, Integer.toString(t.ordinal()));
m.put(Cols.PARSE_ERROR_DESCRIPTION, t.name());
writer.writeRow(AbstractProfiler.REF_PARSE_ERROR_TYPES, m);
}
for (AbstractProfiler.EXCEPTION_TYPE t : AbstractProfiler.EXCEPTION_TYPE.values()) {
m.clear();
m.put(Cols.PARSE_EXCEPTION_ID, Integer.toString(t.ordinal()));
m.put(Cols.PARSE_EXCEPTION_DESCRIPTION, t.name());
writer.writeRow(AbstractProfiler.REF_PARSE_EXCEPTION_TYPES, m);
}
for (ExtractReaderException.TYPE t : ExtractReaderException.TYPE.values()) {
m.clear();
m.put(Cols.EXTRACT_EXCEPTION_ID, Integer.toString(t.ordinal()));
m.put(Cols.EXTRACT_EXCEPTION_DESCRIPTION, t.name());
writer.writeRow(AbstractProfiler.REF_EXTRACT_EXCEPTION_TYPES, m);
}
writer.close();
}
Aggregations