public static void readFieldFromDb(String fieldKey, String range,
Annotation a, Feature f, BasicDBObject dbO, JCas jCas) {
if (dbO.containsField(fieldKey)) {
if (range.equals("String")) {
a.setStringValue(f, dbO.getString(fieldKey));
} else if (range.equals("StringArray")) {
BasicDBList vals = (BasicDBList) dbO.get(fieldKey);
StringArray sa = new StringArray(jCas, vals.size());
for (int i = 0; i < vals.size(); i++) {
sa.set(i, vals.get(i).toString());
}
a.setFeatureValue(f, sa);
} else if (range.equals("Integer")) {
a.setIntValue(f, dbO.getInt(fieldKey));
} else if (range.equals("Float")) {
a.setFloatValue(f, (float) dbO.getDouble(fieldKey));
} else if (range.equals("Boolean")) {
a.setBooleanValue(f, dbO.getBoolean(fieldKey));
} else {
LOG.warn("range not supported " + range);
}
}
}
}