{
int firstNestedIdx = fieldMapping.indexOf(PropertyUtils.NESTED_DELIM);
if (firstNestedIdx < 0)
{
throw new JRRuntimeException("Unknown HQL return alias \"" + fieldMapping + "\".");
}
String fieldAlias = fieldMapping.substring(0, firstNestedIdx);
String fieldProperty = fieldMapping.substring(firstNestedIdx + 1);
fieldIdx = (Integer) aliasesMap.get(fieldAlias);
if (fieldIdx == null)
{
throw new JRRuntimeException("The HQL query does not have a \"" + fieldAlias + "\" alias.");
}
Type type = returnTypes[fieldIdx.intValue()];
if (!type.isEntityType() && !type.isComponentType())
{
throw new JRRuntimeException("The HQL query does not have a \"" + fieldAlias + "\" alias.");
}
reader = new IndexPropertyFieldReader(fieldIdx.intValue(), fieldProperty);
}
else