Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/util/EmailAnalysisBuilder.java =================================================================== diff -u -r1042117ad93a6a9f93d8b1c8be7e718b7efd383f -rd2a6e36df5b56c2f3f1ddd18dfca6364cfa309df --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/util/EmailAnalysisBuilder.java (.../EmailAnalysisBuilder.java) (revision 1042117ad93a6a9f93d8b1c8be7e718b7efd383f) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/util/EmailAnalysisBuilder.java (.../EmailAnalysisBuilder.java) (revision d2a6e36df5b56c2f3f1ddd18dfca6364cfa309df) @@ -290,39 +290,41 @@ @SuppressWarnings("unchecked") private HashMap> processRawRatingData() { Collection criteriaIds = new ArrayList(); - for ( RatingCriteria criteria : criteriaForCriteriaTable ) { + for (RatingCriteria criteria : criteriaForCriteriaTable) { criteriaIds.add(criteria.getRatingCriteriaId()); } - List rawRatingsForSession = ratingService.getRatingsByCriteriasAndItems(criteriaIds, learnerDataMap.keySet()); HashMap> tally = new HashMap>(); - for ( Object obj : rawRatingsForSession ) { - Rating rating = (Rating) obj; - SummingData sd = null; - Long itemId = rating.getItemId(); - HashMap itemMap = tally.get(itemId); - if ( itemMap == null ) { - itemMap = new HashMap(); - sd = new SummingData(); - itemMap.put(rating.getRatingCriteria().getRatingCriteriaId(), sd); - tally.put(itemId, itemMap); - } else { - sd = itemMap.get(rating.getRatingCriteria().getRatingCriteriaId()); - if ( sd == null ) { + if (criteriaIds.size() > 0) { + List rawRatingsForSession = ratingService.getRatingsByCriteriasAndItems(criteriaIds, + learnerDataMap.keySet()); + for (Object obj : rawRatingsForSession) { + Rating rating = (Rating) obj; + SummingData sd = null; + Long itemId = rating.getItemId(); + HashMap itemMap = tally.get(itemId); + if (itemMap == null) { + itemMap = new HashMap(); sd = new SummingData(); itemMap.put(rating.getRatingCriteria().getRatingCriteriaId(), sd); + tally.put(itemId, itemMap); + } else { + sd = itemMap.get(rating.getRatingCriteria().getRatingCriteriaId()); + if (sd == null) { + sd = new SummingData(); + itemMap.put(rating.getRatingCriteria().getRatingCriteriaId(), sd); + } } + Float newRating = rating.getRating() != null ? rating.getRating() : 0.0f; + sd.peerRatingIncSelf += newRating; + sd.numRatingsIncSelf++; + if (rating.getItemId().longValue() == rating.getLearner().getUserId().longValue()) { + sd.selfRating = newRating; + } else { + sd.peerRatingExcSelf += newRating; + sd.numRatingsExcSelf++; + } } - Float newRating = rating.getRating() != null ? rating.getRating() : 0.0f; - sd.peerRatingIncSelf += newRating; - sd.numRatingsIncSelf++; - if ( rating.getItemId().longValue() == rating.getLearner().getUserId().longValue() ) { - sd.selfRating = newRating; - } else { - sd.peerRatingExcSelf += newRating; - sd.numRatingsExcSelf++; - } } - return tally; }