/********************************************************************************** * $URL: https://source.sakaiproject.org/svn/sam/trunk/samigo-hibernate/src/java/org/sakaiproject/tool/assessment/data/dao/assessment/PublishedAccessControl.java $ * $Id: PublishedAccessControl.java 106463 2012-04-02 12:20:09Z david.horwitz@uct.ac.za $ *********************************************************************************** * * 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.opensource.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.dao.assessment; import java.util.Date; import org.sakaiproject.tool.assessment.data.ifc.assessment.AssessmentAccessControlIfc; import org.sakaiproject.tool.assessment.data.ifc.assessment.AssessmentBaseIfc; import org.sakaiproject.tool.assessment.data.ifc.assessment.AssessmentIfc; /** * This keeps track of the submission scheme, and the number allowed. * * @author Rachel Gollub */ public class PublishedAccessControl implements java.io.Serializable, AssessmentAccessControlIfc { /** * */ private static final long serialVersionUID = -221497966468066618L; // keep in mind that this id can be an assesmentId or assessmentTemplateId. // This depends on the AssessmentBase object (superclass of AssessmentData and // AssessmentTemplateData) that is associated with it. private Long id; private AssessmentIfc assessment; private Integer submissionsAllowed; private Integer submissionsSaved;// bad name, this is autoSaved private Integer assessmentFormat; private Integer bookMarkingItem; private Integer timeLimit; private Integer timedAssessment; private Integer retryAllowed; private Integer lateHandling; private Date startDate; private Date dueDate; private Date scoreDate; private Date feedbackDate; private Date retractDate; private Integer autoSubmit; // auto submit when due date arrives private Integer itemNavigation; // linear (1)or random (0) private Integer itemNumbering; // continuous between parts(1), restart between parts(0) private String submissionMessage; private String finalPageUrl; private String releaseTo; private String username; private String password; private Boolean unlimitedSubmissions; private Integer markForReview; /** * Creates a new SubmissionModel object. */ public PublishedAccessControl() { this.submissionsAllowed = Integer.valueOf(9999); // = no limit this.submissionsSaved = Integer.valueOf(1); // no. of copy } public PublishedAccessControl(Integer submissionsAllowed, Integer submissionsSaved, Integer assessmentFormat, Integer bookMarkingItem, Integer timeLimit, Integer timedAssessment, Integer retryAllowed, Integer lateHandling, Date startDate, Date dueDate, Date scoreDate, Date feedbackDate, String releaseTo) { this.submissionsAllowed = submissionsAllowed; // = no limit this.submissionsSaved = submissionsSaved; this.assessmentFormat = assessmentFormat; this.bookMarkingItem = bookMarkingItem; this.timeLimit = timeLimit; this.timedAssessment = timedAssessment; this.retryAllowed = retryAllowed; this.lateHandling = lateHandling; this.startDate = startDate; this.dueDate = dueDate; this.scoreDate = scoreDate; this.feedbackDate = feedbackDate; this.releaseTo = releaseTo; } public PublishedAccessControl(Integer submissionsAllowed, Integer submissionsSaved, Integer assessmentFormat, Integer bookMarkingItem, Integer timeLimit, Integer timedAssessment, Integer retryAllowed, Integer lateHandling, Date startDate, Date dueDate, Date scoreDate, Date feedbackDate) { this.submissionsAllowed = submissionsAllowed; // = no limit this.submissionsSaved = submissionsSaved; this.assessmentFormat = assessmentFormat; this.bookMarkingItem = bookMarkingItem; this.timeLimit = timeLimit; this.timedAssessment = timedAssessment; this.retryAllowed = retryAllowed; this.lateHandling = lateHandling; this.startDate = startDate; this.dueDate = dueDate; this.scoreDate = scoreDate; this.feedbackDate = feedbackDate; } public Object clone() throws CloneNotSupportedException{ Object cloned = new PublishedAccessControl( this.getSubmissionsAllowed(), this.getSubmissionsSaved(), this.getAssessmentFormat(), this.getBookMarkingItem(), this.getTimeLimit(), this.getTimedAssessment(), this.getRetryAllowed(), this.getLateHandling(), this.getStartDate(), this.getDueDate(), this.getScoreDate(), this.getFeedbackDate(), this.getReleaseTo()); ((PublishedAccessControl)cloned).setRetractDate(this.retractDate); ((PublishedAccessControl)cloned).setAutoSubmit(this.autoSubmit); ((PublishedAccessControl)cloned).setItemNavigation(this.itemNavigation); ((PublishedAccessControl)cloned).setItemNumbering(this.itemNumbering); ((PublishedAccessControl)cloned).setSubmissionMessage(this.submissionMessage); ((PublishedAccessControl)cloned).setUsername(this.username); ((PublishedAccessControl)cloned).setPassword(this.password); ((PublishedAccessControl)cloned).setFinalPageUrl(this.finalPageUrl); ((PublishedAccessControl)cloned).setUnlimitedSubmissions(this.unlimitedSubmissions); return cloned; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public void setAssessment(AssessmentIfc assessment) { this.assessment = assessment; } public AssessmentIfc getAssessment() { return (AssessmentIfc)assessment; } public void setAssessmentBase(AssessmentBaseIfc assessment) { setAssessment((AssessmentIfc)assessment); } public AssessmentBaseIfc getAssessmentBase() { return getAssessment(); } public Integer getSubmissionsAllowed() { return submissionsAllowed; } public void setSubmissionsAllowed(Integer submissionsAllowed) { this.submissionsAllowed = submissionsAllowed; } public Integer getSubmissionsSaved() { return submissionsSaved; } public void setSubmissionsSaved(Integer submissionsSaved) { this.submissionsSaved = submissionsSaved; } public Integer getAssessmentFormat() { return assessmentFormat; } public void setAssessmentFormat(Integer assessmentFormat) { this.assessmentFormat = assessmentFormat; } public Integer getBookMarkingItem() { return bookMarkingItem; } public void setBookMarkingItem(Integer bookMarkingItem) { this.bookMarkingItem = bookMarkingItem; } public Integer getTimeLimit() { return timeLimit; } public void setTimeLimit(Integer timeLimit) { this.timeLimit = timeLimit; } public Integer getTimedAssessment() { return timedAssessment; } public void setRetryAllowed(Integer retryAllowed) { this.retryAllowed = retryAllowed; } public Integer getRetryAllowed() { return retryAllowed; } public void setLateHandling(Integer lateHandling) { this.lateHandling = lateHandling; } public Integer getLateHandling() { return lateHandling; } public void setTimedAssessment(Integer timedAssessment) { this.timedAssessment = timedAssessment; } public Date getStartDate() { return this.startDate; } public void setStartDate(Date startDate) { this.startDate = startDate; } public Date getDueDate() { return this.dueDate; } public void setDueDate(Date dueDate) { this.dueDate = dueDate; } public Date getScoreDate() { return this.scoreDate; } public void setScoreDate(Date scoreDate) { this.scoreDate = scoreDate; } public Date getFeedbackDate() { return this.feedbackDate; } public void setFeedbackDate(Date feedbackDate) { this.feedbackDate = feedbackDate; } public Date getRetractDate() { return this.retractDate; } public void setRetractDate(Date retractDate) { this.retractDate = retractDate; } public void setAutoSubmit(Integer autoSubmit) { this.autoSubmit = autoSubmit; } public Integer getAutoSubmit() { return autoSubmit; } public void setItemNavigation(Integer itemNavigation) { this.itemNavigation = itemNavigation; } public Integer getItemNavigation() { return itemNavigation; } public void setItemNumbering(Integer itemNumbering) { this.itemNumbering = itemNumbering; } public Integer getItemNumbering() { return itemNumbering; } public void setSubmissionMessage(String submissionMessage) { this.submissionMessage = submissionMessage; } public String getSubmissionMessage() { return submissionMessage; } public void setFinalPageUrl(String finalPageUrl) { this.finalPageUrl = finalPageUrl; } public String getFinalPageUrl() { return finalPageUrl; } public String getReleaseTo() { return this.releaseTo; } public void setReleaseTo(String releaseTo) { this.releaseTo = releaseTo; } public String getUsername() { return this.username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return this.password; } public void setPassword(String password) { this.password = password; } public Boolean getUnlimitedSubmissions() { return this.unlimitedSubmissions; } public void setUnlimitedSubmissions(Boolean unlimitedSubmissions) { this.unlimitedSubmissions = unlimitedSubmissions; } public Integer getMarkForReview() { return this.markForReview; } public void setMarkForReview(Integer markForReview) { this.markForReview = markForReview; } }