diff --git a/api/src/main/java/org/openmrs/module/reporting/evaluation/querybuilder/HqlQueryBuilder.java b/api/src/main/java/org/openmrs/module/reporting/evaluation/querybuilder/HqlQueryBuilder.java index 4a858ebae..ea60309a8 100644 --- a/api/src/main/java/org/openmrs/module/reporting/evaluation/querybuilder/HqlQueryBuilder.java +++ b/api/src/main/java/org/openmrs/module/reporting/evaluation/querybuilder/HqlQueryBuilder.java @@ -52,7 +52,7 @@ public class HqlQueryBuilder implements QueryBuilder { protected Log log = LogFactory.getLog(getClass()); - private Map> fromTypes = new LinkedHashMap>(); + private Map fromTypes = new LinkedHashMap(); private boolean includeVoided = false; private List columns = new ArrayList(); private List joinClauses = new ArrayList(); @@ -93,13 +93,18 @@ public HqlQueryBuilder from(Class fromType) { } public HqlQueryBuilder from(Class fromType, String fromAlias) { - fromTypes.put(fromAlias, fromType); + fromTypes.put(fromAlias, fromType.getName()); if (!includeVoided && Voidable.class.isAssignableFrom(fromType)) { whereEqual((ObjectUtil.notNull(fromAlias) ? fromAlias + "." : "")+"voided", false); } return this; } + public HqlQueryBuilder from(String entityName, String fromAlias) { + fromTypes.put(fromAlias, entityName); + return this; + } + public HqlQueryBuilder innerJoin(String property, String alias) { joinClauses.add("inner join " + property + " as " + alias); return this; @@ -534,7 +539,7 @@ else if (!ObjectUtil.containsWhitespace(column)) { for (int i=0; i