fields.add(f);
cl = f.getType();
}
filters.add(new QueryFilterEmbedded(fields, op, ".", value));
}else if(fieldName.contains(":")) {
String[] parts = fieldName.split("\\.");
if(parts.length == 0) {
throw new SienaException("Filter field cannot have 0 fields to filter");
}
List<Field> fields = new ArrayList<Field>();
Class<?> cl = clazz;
for(int i=0; i<parts.length; i++) {
String fName = parts[i];
Field f = Util.getField(cl, fName);
if(f==null) {
throw new SienaException("Filter field '"+fName+"' not found");
}
fields.add(f);
cl = f.getType();
}
filters.add(new QueryFilterEmbedded(fields, op, ".", value));
}else {
Field field = Util.getField(clazz, fieldName);
if(field==null) {
throw new SienaException("Filter field '"+fieldName+"' not found");
}