@Override public Map<ReportNodeStatus, Integer> getLeafReportNodesStatusDistribution(String executionID, String reportNodeClass) { HashMap<ReportNodeStatus, Integer> result = new HashMap<ReportNodeStatus, Integer>(); for(ReportNodeStatusReportEntry entry:collection.aggregate("{$match:{executionID:'"+executionID+"',_class:'"+reportNodeClass+"'}}"). and("{$group:{_id:'$status',sum:{$sum:1}}}").as(ReportNodeStatusReportEntry.class)) { result.put(entry._id, entry.sum); } return result; }