/** * @param displayList * @param sortPropertyName * @return */ private Map<String, KualiDecimal> buildSubTotalMap( List<ContractsGrantsAwardBalancesReport> displayList, String sortPropertyName) { Map<String, KualiDecimal> returnSubTotalMap = new HashMap<String, KualiDecimal>(); // get list of sort fields List<String> valuesOfsortProperty = getListOfValuesSortedProperties(displayList, sortPropertyName); // calculate sub_total and build subTotalMap for (String value : valuesOfsortProperty) { KualiDecimal subTotal = KualiDecimal.ZERO; for (ContractsGrantsAwardBalancesReport awardBalancesReportEntry : displayList) { // set fieldValue as "" when it is null if (value.equals(getPropertyValue(awardBalancesReportEntry, sortPropertyName))) { subTotal = subTotal.add(awardBalancesReportEntry.getAwardTotalAmount()); } } returnSubTotalMap.put(value, subTotal); } return returnSubTotalMap; }