Index: assignment-api/api/src/java/org/sakaiproject/assignment/api/model/PeerAssessmentItem.java
===================================================================
--- assignment-api/api/src/java/org/sakaiproject/assignment/api/model/PeerAssessmentItem.java (revision 0)
+++ assignment-api/api/src/java/org/sakaiproject/assignment/api/model/PeerAssessmentItem.java (revision 0)
@@ -0,0 +1,78 @@
+package org.sakaiproject.assignment.api.model;
+
+import java.io.Serializable;
+
+public class PeerAssessmentItem implements Serializable{
+
+ private static final long serialVersionUID = -8376570648172966170L;
+ private String assignmentId;
+ private String submissionId;
+ private String assessorUserId;
+ private Integer score;
+ private String comment;
+ private boolean removed;
+ //submitted is only a flag to help with the UI show/hide reviews
+ //that the user still needs to complete (more of a hide flag than a submit)
+ private boolean submitted;
+ //transient variables for displaying information in the UI
+ private String assessorDisplayName;
+
+ public String getSubmissionId() {
+ return submissionId;
+ }
+ public void setSubmissionId(String submissionId) {
+ this.submissionId = submissionId;
+ }
+ public Integer getScore() {
+ return score;
+ }
+ public void setScore(Integer score) {
+ this.score = score;
+ }
+ public String getComment() {
+ return comment;
+ }
+ public void setComment(String comment) {
+ this.comment = comment;
+ }
+ public boolean isRemoved() {
+ return removed;
+ }
+ public void setRemoved(boolean removed) {
+ this.removed = removed;
+ }
+ public String getAssessorUserId() {
+ return assessorUserId;
+ }
+ public void setAssessorUserId(String assessorUserId) {
+ this.assessorUserId = assessorUserId;
+ }
+ public String getAssignmentId() {
+ return assignmentId;
+ }
+ public void setAssignmentId(String assignmentId) {
+ this.assignmentId = assignmentId;
+ }
+ //score is stored as a integer value in the DB, but is really a decimal value (divide by 10)
+ public String getScoreDisplay(){
+ return getScore() == null ? "" : "" + score/10.0;
+ }
+ //transient variable that is only set for UI
+ public String getAssessorDisplayName(){
+ return assessorDisplayName;
+ }
+ //transient variable that is only set for UI
+ public void setAssessorDisplayName(String assessorDisplayName) {
+ this.assessorDisplayName = assessorDisplayName;
+ }
+ public boolean isSubmitted() {
+ return submitted;
+ }
+ public void setSubmitted(boolean submitted) {
+ this.submitted = submitted;
+ }
+
+ public boolean isDraft(){
+ return !submitted && (getScore() != null || (getComment() != null && !"".equals(getComment().trim())));
+ }
+}
Index: assignment-api/api/src/java/org/sakaiproject/assignment/api/model/PeerAssessmentItem.hbm.xml
===================================================================
--- assignment-api/api/src/java/org/sakaiproject/assignment/api/model/PeerAssessmentItem.hbm.xml (revision 0)
+++ assignment-api/api/src/java/org/sakaiproject/assignment/api/model/PeerAssessmentItem.hbm.xml (revision 0)
@@ -0,0 +1,82 @@
+
+
+
+
* AssignmentAccess enumerates different access modes for the assignment: site-wide or grouped. *
Index: assignment-api/api/src/java/org/sakaiproject/assignment/api/AssignmentSubmissionEdit.java =================================================================== --- assignment-api/api/src/java/org/sakaiproject/assignment/api/AssignmentSubmissionEdit.java (revision 311684) +++ assignment-api/api/src/java/org/sakaiproject/assignment/api/AssignmentSubmissionEdit.java (working copy) @@ -169,6 +169,12 @@ * true if the submission has been graded, false otherwise. */ public void setGraded(boolean graded); + + /** + * Set the grader id (this can be used to track between auto grades or instructor grades) + * @param id + */ + public void setGradedBy(String id); /** * Set the review Score for this assignment Index: assignment-api/api/src/java/org/sakaiproject/assignment/api/AssignmentPeerAssessmentService.java =================================================================== --- assignment-api/api/src/java/org/sakaiproject/assignment/api/AssignmentPeerAssessmentService.java (revision 0) +++ assignment-api/api/src/java/org/sakaiproject/assignment/api/AssignmentPeerAssessmentService.java (revision 0) @@ -0,0 +1,33 @@ +package org.sakaiproject.assignment.api; + +import java.util.Collection; +import java.util.List; + +import org.sakaiproject.api.app.scheduler.ScheduledInvocationCommand; +import org.sakaiproject.assignment.api.model.PeerAssessmentItem; + +public interface AssignmentPeerAssessmentService extends ScheduledInvocationCommand{ + + public void schedulePeerReview(String assignmentId); + + public void removeScheduledPeerReview(String assignmentId); + + public List