/********************************************************************************** * $URL: https://source.sakaiproject.org/svn/sam/tags/samigo-2.8.3/samigo-api/src/java/org/sakaiproject/tool/assessment/data/ifc/grading/AssessmentGradingIfc.java $ * $Id: AssessmentGradingIfc.java 65883 2009-08-17 18:44:33Z ktsao@stanford.edu $ *********************************************************************************** * * Copyright (c) 2004, 2005, 2006, 2008, 2009 The Sakai Foundation * * Licensed under the Educational Community License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.osedu.org/licenses/ECL-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * **********************************************************************************/ package org.sakaiproject.tool.assessment.data.ifc.grading; import java.util.Date; import java.util.Set; public interface AssessmentGradingIfc extends java.io.Serializable{ // status = 0: begin a new assessment // status = 1: submit but not grade yet // status = 2: grader has went to total score page and graded + AUTO_GRADED // status = 3: grader has went to total score page and graded + at least one question NEED_HUMAN_ATTENTION // status = 4: the assessment has be republished. This assessment has been submitted. Therefore, this it needs to be resubmit // status = 5: there is no submission but grader update something in the score page // status = 6: the assessment has be republished. This assessment has begun but not yet been submitted (saved/in progress). Therefore, just warn the student about the update ("resubmit" is not applicable here). // Because of SAK-16456, we no longer need to show the auto/human graded status per submission, I don't think we // need to distinguish status 2 and 3 anymore. But I just leave them here... public static final Integer SUBMITTED = Integer.valueOf(1); public static final Integer AUTO_GRADED = Integer.valueOf(2); public static final Integer NEED_HUMAN_ATTENTION = Integer.valueOf(3); public static final Integer ASSESSMENT_UPDATED_NEED_RESUBMIT = Integer.valueOf(4); public static final Integer NO_SUBMISSION = Integer.valueOf(5); public static final Integer ASSESSMENT_UPDATED = Integer.valueOf(6); Long getAssessmentGradingId(); void setAssessmentGradingId(Long assessmentGradingId); Long getPublishedAssessmentId(); void setPublishedAssessmentId(Long publishedAssessmentId); String getAgentId(); void setAgentId(String agentId); //AgentIfc getAgent(); Date getSubmittedDate(); void setSubmittedDate(Date submittedDate); // Is isLate determined by comparing the submitted date with the duedate // of published assessment or core assessment? // if the former, then we need to store the duedate info in DB // if latter, isLate is determined on the fly - // 'cos core assessment due date can be changed. Boolean getIsLate(); void setIsLate(Boolean isLate); Boolean getForGrade(); void setForGrade(Boolean forGrade); // sum of item score through auto scoring Float getTotalAutoScore(); void setTotalAutoScore(Float totalAutoScore); // sum of item score through instructor grading Float getTotalOverrideScore(); void setTotalOverrideScore(Float totalOverrideScore); // grader can override the total score with a final score Float getFinalScore(); void setFinalScore(Float finalScore); String getComments(); void setComments(String comments); String getGradedBy(); void setGradedBy(String GradedBy); Date getGradedDate(); void setGradedDate(Date GradedDate); Integer getStatus(); void setStatus(Integer status); Set getItemGradingSet(); void setItemGradingSet(Set itemGradingSet); Date getAttemptDate(); void setAttemptDate(Date attemptDate); Integer getTimeElapsed(); void setTimeElapsed(Integer timeElapsed); }