@Transient public boolean isDraft() { return !submitted && (getScore() != null || (getComment() != null && !"".equals(getComment().trim()))); } }
/** * Score is stored as a integer value in the DB, but is really a decimal value (divide by "factor") * * @return */ @Transient public String getScoreDisplay() { return getScore() == null ? "" : "" + score / (double) getScaledFactor(); }
.hasNext();) { PeerAssessmentItem peerAssessmentItem = (PeerAssessmentItem) iterator.next(); if(peerAssessmentItem.getScore() == null && (peerAssessmentItem.getComment() == null || "".equals(peerAssessmentItem.getComment().trim()))){ removeItems.add(peerAssessmentItem); iterator.remove(); if(submissionIdMap.containsKey(p.getSubmissionId())){ AssignmentSubmission s = submissionIdMap.get(p.getSubmissionId()); if(count < numOfReviews || p.getScore() != null || p.getComment() != null){ count++; studentAssessorsMap.put(s.getSubmitterId(), count); Map<String, PeerAssessmentItem> peerAssessments = assignedAssessmentsMap.get(p.getAssessorUserId()); if(peerAssessments == null){ peerAssessments.put(p.getSubmissionId(), p); assignedAssessmentsMap.put(p.getAssessorUserId(), peerAssessments); }else{ log.error("AssignmentPeerAssessmentServiceImpl: found a peer assessment with an invalid session id: " + p.getSubmissionId()); PeerAssessmentItem newItem = new PeerAssessmentItem(); newItem.setAssessorUserId(lowestAssignedAssessor); newItem.setSubmissionId(submissionId); newItem.setAssignmentId(assignment.getId()); newItems.add(newItem); assessorsAssessmentMap.put(submissionId, newItem);
public void savePeerAssessmentItem(PeerAssessmentItem item){ if(item != null && item.getAssessorUserId() != null && item.getSubmissionId() != null){ getHibernateTemplate().saveOrUpdate(item); getHibernateTemplate().flush(); } }
public void savePeerAssessmentAttachments(PeerAssessmentItem item){ if(item != null && item.getAttachmentList() != null){ for(PeerAssessmentAttachment element : item.getAttachmentList()) { getHibernateTemplate().saveOrUpdate(element); } getHibernateTemplate().flush(); } }
private String findLowestAssignedAssessor(Map<String, Map<String, PeerAssessmentItem>> peerAssessments, String assesseeId, String assesseeSubmissionId, List<String> snakeSubmissionList, Map<String, AssignmentSubmission> submissionIdMap){//find the lowest count of assigned submissions String lowestAssignedAssessor = null; Integer lowestAssignedAssessorCount = null; for(String sId : snakeSubmissionList){ AssignmentSubmission s = submissionIdMap.get(sId); //do not include assesseeId (aka the user being assessed) if(!assesseeId.equals(s.getSubmitterId()) && (lowestAssignedAssessorCount == null || peerAssessments.get(s.getSubmitterId()).keySet().size() < lowestAssignedAssessorCount)){ //check if this user already has a peer assessment for this assessee boolean found = false; for(PeerAssessmentItem p : peerAssessments.get(s.getSubmitterId()).values()){ if(p.getSubmissionId().equals(assesseeSubmissionId)){ found = true; break; } } if(!found){ lowestAssignedAssessorCount = peerAssessments.get(s.getSubmitterId()).keySet().size(); lowestAssignedAssessor = s.getSubmitterId(); } } } return lowestAssignedAssessor; }