String s = value instanceof String ? (String) value : value == null ? "" : value.toString();
if (s != null && s.trim().length() > 0) {
DcField field = wf.getDcField();
DataFilterEntry dfe = new DataFilterEntry(DataFilterEntry._AND,
wo.getModule(), field.getIndex(),
Operator.CONTAINS, value);
if (field.getValueType() == DcRepository.ValueTypes._DCOBJECTREFERENCE) {
dfe.setValue(DataManager.getItem(field.getReferenceIdx(), s,
new int[] {DcObject._ID, DcModules.getReferencedModule(field).getSystemDisplayFieldIdx()}));
} else if (field.getValueType() == DcRepository.ValueTypes._DCOBJECTCOLLECTION) {
Collection<DcObject> references = new ArrayList<DcObject>();
references.add(DataManager.getItem(field.getReferenceIdx(), s,
new int[] {DcObject._ID, DcModules.getReferencedModule(field).getSystemDisplayFieldIdx()}));
dfe.setValue(references);
}
df.addEntry(dfe);
}
}