}
}
private void addDocKey(JCas aCAS, Map<String, Object> id)
throws CollectionException {
DocKey docKey = new DocKey(aCAS);
FSArray keyValuePairs = new FSArray(aCAS, id.size());
int i = 0;
for (Map.Entry<String, Object> idVal : id.entrySet()) {
String key = idVal.getKey();
Object val = idVal.getValue();
KeyValuePair p = new KeyValuePair(aCAS);
p.setKey(key);
if (val instanceof Number) {
p.setValueLong(((Number) val).longValue());
} else if (val instanceof String) {
p.setValueString((String) val);
} else {
log.warn("Don't know how to handle key attribute, converting to string, key="
+ key + ", value=" + val);
p.setValueString(val.toString());
}
keyValuePairs.set(i, p);
i++;
}
docKey.setKeyValuePairs(keyValuePairs);
docKey.addToIndexes();
}