for (ObjectIndex index : struct.getIndexes()) {
indexedFields.addAll(index.getFields());
}
for (Iterator<ObjectField> i = fields.iterator(); i.hasNext();) {
ObjectField field = i.next();
String declaring = field.getJavaDeclaringClassName();
if (declaring != null &&
declaring.startsWith("com.psddev.dari.db.")) {
continue;
}
String fieldName = field.getInternalName();
boolean embedded = field.isEmbedded();
if (!embedded &&
ObjectField.RECORD_TYPE.equals(field.getInternalItemType())) {
embedded = true;
for (ObjectType t : field.getTypes()) {
if (!t.isEmbedded()) {
embedded = false;
break;
}
}
}
if (embedded) {
for (ObjectType t : field.getTypes()) {
addPathedFields(pathedFields, copyConcatenate(prefix, field), t);
}
} else if (indexedFields.contains(fieldName) &&
!field.isDeprecated() &&
!field.as(ToolUi.class).isHidden()) {
pathedFields.add(new PathedField(copyConcatenate(prefix, field)));
}
}
}