Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/util/SpreadsheetBuilder.java =================================================================== diff -u -ra63af627c86727e5548ad92b1b8cf4024009da5e -r4c502519e6f13a1a76792fde1bfcf11df23facb4 --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/util/SpreadsheetBuilder.java (.../SpreadsheetBuilder.java) (revision a63af627c86727e5548ad92b1b8cf4024009da5e) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/util/SpreadsheetBuilder.java (.../SpreadsheetBuilder.java) (revision 4c502519e6f13a1a76792fde1bfcf11df23facb4) @@ -193,23 +193,28 @@ userRow.addCell(spa, true); if (peerreview.isSelfReview()) { - // calculate SAPA factor - double sumSelfRatings = 0; - double sumPeerRatings = 0; - int peerRatingCount = 0; + if (ratings.containsKey(user.getUserId())) { + // calculate SAPA factor + double sumSelfRatings = 0; + double sumPeerRatings = 0; + int peerRatingCount = 0; - for (Entry ratingEntry : ratings.get(user.getUserId()).entrySet()) { - if (ratingEntry.getKey().equals(user.getUserId())) { - sumSelfRatings = ratingEntry.getValue(); - } else { - sumPeerRatings += ratingEntry.getValue(); - peerRatingCount++; + for (Entry ratingEntry : ratings.get(user.getUserId()).entrySet()) { + if (ratingEntry.getKey().equals(user.getUserId())) { + sumSelfRatings = ratingEntry.getValue(); + } else { + sumPeerRatings += ratingEntry.getValue(); + peerRatingCount++; + } } + + double sapa = sumPeerRatings > 0 + ? roundTo2Places(Math.sqrt(sumSelfRatings / (sumPeerRatings / peerRatingCount))) + : 0d; + userRow.addCell(sapa, true); + } else { + userRow.addCell("", false); } - double sapa = sumPeerRatings > 0 - ? roundTo2Places(Math.sqrt(sumSelfRatings / (sumPeerRatings / peerRatingCount))) - : 0d; - userRow.addCell(sapa, true); } userRow.addCell("", IndexedColors.YELLOW);