001: /**********************************************************************************
002: * $URL: https://source.sakaiproject.org/svn/sam/tags/sakai_2-4-1/samigo-hibernate/src/java/org/sakaiproject/tool/assessment/data/dao/assessment/PublishedAccessControl.java $
003: * $Id: PublishedAccessControl.java 15083 2006-09-20 20:03:55Z lydial@stanford.edu $
004: ***********************************************************************************
005: *
006: * Copyright (c) 2004, 2005, 2006 The Sakai Foundation.
007: *
008: * Licensed under the Educational Community License, Version 1.0 (the"License");
009: * you may not use this file except in compliance with the License.
010: * You may obtain a copy of the License at
011: *
012: * http://www.opensource.org/licenses/ecl1.php
013: *
014: * Unless required by applicable law or agreed to in writing, software
015: * distributed under the License is distributed on an "AS IS" BASIS,
016: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
017: * See the License for the specific language governing permissions and
018: * limitations under the License.
019: *
020: **********************************************************************************/package org.sakaiproject.tool.assessment.data.dao.assessment;
021:
022: import java.util.Date;
023:
024: import org.sakaiproject.tool.assessment.data.ifc.assessment.AssessmentAccessControlIfc;
025: import org.sakaiproject.tool.assessment.data.ifc.assessment.AssessmentBaseIfc;
026: import org.sakaiproject.tool.assessment.data.ifc.assessment.AssessmentIfc;
027:
028: /**
029: * This keeps track of the submission scheme, and the number allowed.
030: *
031: * @author Rachel Gollub
032: */
033: public class PublishedAccessControl implements java.io.Serializable,
034: AssessmentAccessControlIfc {
035: /**
036: *
037: */
038: private static final long serialVersionUID = -221497966468066618L;
039:
040: // keep in mind that this id can be an assesmentId or assessmentTemplateId.
041: // This depends on the AssessmentBase object (superclass of AssessmentData and
042: // AssessmentTemplateData) that is associated with it.
043: private Long id;
044:
045: private AssessmentIfc assessment;
046: private Integer submissionsAllowed;
047: private Integer submissionsSaved;// bad name, this is autoSaved
048: private Integer assessmentFormat;
049: private Integer bookMarkingItem;
050: private Integer timeLimit;
051: private Integer timedAssessment;
052: private Integer retryAllowed;
053: private Integer lateHandling;
054: private Date startDate;
055: private Date dueDate;
056: private Date scoreDate;
057: private Date feedbackDate;
058: private Date retractDate;
059: private Integer autoSubmit; // auto submit when time expires
060: private Integer itemNavigation; // linear (1)or random (0)
061: private Integer itemNumbering; // continuous between parts(1), restart between parts(0)
062: private String submissionMessage;
063: private String finalPageUrl;
064: private String releaseTo;
065: private String username;
066: private String password;
067: private Boolean unlimitedSubmissions;
068:
069: /**
070: * Creates a new SubmissionModel object.
071: */
072: public PublishedAccessControl() {
073: this .submissionsAllowed = new Integer(9999); // = no limit
074: this .submissionsSaved = new Integer(1); // no. of copy
075: }
076:
077: public PublishedAccessControl(Integer submissionsAllowed,
078: Integer submissionsSaved, Integer assessmentFormat,
079: Integer bookMarkingItem, Integer timeLimit,
080: Integer timedAssessment, Integer retryAllowed,
081: Integer lateHandling, Date startDate, Date dueDate,
082: Date scoreDate, Date feedbackDate, String releaseTo) {
083: this .submissionsAllowed = submissionsAllowed; // = no limit
084: this .submissionsSaved = submissionsSaved;
085: this .assessmentFormat = assessmentFormat;
086: this .bookMarkingItem = bookMarkingItem;
087: this .timeLimit = timeLimit;
088: this .timedAssessment = timedAssessment;
089: this .retryAllowed = retryAllowed;
090: this .lateHandling = lateHandling;
091: this .startDate = startDate;
092: this .dueDate = dueDate;
093: this .scoreDate = scoreDate;
094: this .feedbackDate = feedbackDate;
095: this .releaseTo = releaseTo;
096: }
097:
098: public PublishedAccessControl(Integer submissionsAllowed,
099: Integer submissionsSaved, Integer assessmentFormat,
100: Integer bookMarkingItem, Integer timeLimit,
101: Integer timedAssessment, Integer retryAllowed,
102: Integer lateHandling, Date startDate, Date dueDate,
103: Date scoreDate, Date feedbackDate) {
104: this .submissionsAllowed = submissionsAllowed; // = no limit
105: this .submissionsSaved = submissionsSaved;
106: this .assessmentFormat = assessmentFormat;
107: this .bookMarkingItem = bookMarkingItem;
108: this .timeLimit = timeLimit;
109: this .timedAssessment = timedAssessment;
110: this .retryAllowed = retryAllowed;
111: this .lateHandling = lateHandling;
112: this .startDate = startDate;
113: this .dueDate = dueDate;
114: this .scoreDate = scoreDate;
115: this .feedbackDate = feedbackDate;
116: }
117:
118: public Object clone() throws CloneNotSupportedException {
119: Object cloned = new PublishedAccessControl(this
120: .getSubmissionsAllowed(), this .getSubmissionsSaved(),
121: this .getAssessmentFormat(), this .getBookMarkingItem(),
122: this .getTimeLimit(), this .getTimedAssessment(), this
123: .getRetryAllowed(), this .getLateHandling(),
124: this .getStartDate(), this .getDueDate(), this
125: .getScoreDate(), this .getFeedbackDate(), this
126: .getReleaseTo());
127: ((PublishedAccessControl) cloned)
128: .setRetractDate(this .retractDate);
129: ((PublishedAccessControl) cloned)
130: .setAutoSubmit(this .autoSubmit);
131: ((PublishedAccessControl) cloned)
132: .setItemNavigation(this .itemNavigation);
133: ((PublishedAccessControl) cloned)
134: .setItemNumbering(this .itemNumbering);
135: ((PublishedAccessControl) cloned)
136: .setSubmissionMessage(this .submissionMessage);
137: ((PublishedAccessControl) cloned).setUsername(this .username);
138: ((PublishedAccessControl) cloned).setPassword(this .password);
139: ((PublishedAccessControl) cloned)
140: .setFinalPageUrl(this .finalPageUrl);
141: ((PublishedAccessControl) cloned)
142: .setUnlimitedSubmissions(this .unlimitedSubmissions);
143: return cloned;
144: }
145:
146: public Long getId() {
147: return id;
148: }
149:
150: public void setId(Long id) {
151: this .id = id;
152: }
153:
154: public void setAssessment(AssessmentIfc assessment) {
155: this .assessment = assessment;
156: }
157:
158: public AssessmentIfc getAssessment() {
159: return (AssessmentIfc) assessment;
160: }
161:
162: public void setAssessmentBase(AssessmentBaseIfc assessment) {
163: setAssessment((AssessmentIfc) assessment);
164: }
165:
166: public AssessmentBaseIfc getAssessmentBase() {
167: return getAssessment();
168: }
169:
170: public Integer getSubmissionsAllowed() {
171: return submissionsAllowed;
172: }
173:
174: public void setSubmissionsAllowed(Integer submissionsAllowed) {
175: this .submissionsAllowed = submissionsAllowed;
176: }
177:
178: public Integer getSubmissionsSaved() {
179: return submissionsSaved;
180: }
181:
182: public void setSubmissionsSaved(Integer submissionsSaved) {
183: this .submissionsSaved = submissionsSaved;
184: }
185:
186: public Integer getAssessmentFormat() {
187: return assessmentFormat;
188: }
189:
190: public void setAssessmentFormat(Integer assessmentFormat) {
191: this .assessmentFormat = assessmentFormat;
192: }
193:
194: public Integer getBookMarkingItem() {
195: return bookMarkingItem;
196: }
197:
198: public void setBookMarkingItem(Integer bookMarkingItem) {
199: this .bookMarkingItem = bookMarkingItem;
200: }
201:
202: public Integer getTimeLimit() {
203: return timeLimit;
204: }
205:
206: public void setTimeLimit(Integer timeLimit) {
207: this .timeLimit = timeLimit;
208: }
209:
210: public Integer getTimedAssessment() {
211: return timedAssessment;
212: }
213:
214: public void setRetryAllowed(Integer retryAllowed) {
215: this .retryAllowed = retryAllowed;
216: }
217:
218: public Integer getRetryAllowed() {
219: return retryAllowed;
220: }
221:
222: public void setLateHandling(Integer lateHandling) {
223: this .lateHandling = lateHandling;
224: }
225:
226: public Integer getLateHandling() {
227: return lateHandling;
228: }
229:
230: public void setTimedAssessment(Integer timedAssessment) {
231: this .timedAssessment = timedAssessment;
232: }
233:
234: public Date getStartDate() {
235: return this .startDate;
236: }
237:
238: public void setStartDate(Date startDate) {
239: this .startDate = startDate;
240: }
241:
242: public Date getDueDate() {
243: return this .dueDate;
244: }
245:
246: public void setDueDate(Date dueDate) {
247: this .dueDate = dueDate;
248: }
249:
250: public Date getScoreDate() {
251: return this .scoreDate;
252: }
253:
254: public void setScoreDate(Date scoreDate) {
255: this .scoreDate = scoreDate;
256: }
257:
258: public Date getFeedbackDate() {
259: return this .feedbackDate;
260: }
261:
262: public void setFeedbackDate(Date feedbackDate) {
263: this .feedbackDate = feedbackDate;
264: }
265:
266: public Date getRetractDate() {
267: return this .retractDate;
268: }
269:
270: public void setRetractDate(Date retractDate) {
271: this .retractDate = retractDate;
272: }
273:
274: public void setAutoSubmit(Integer autoSubmit) {
275: this .autoSubmit = autoSubmit;
276: }
277:
278: public Integer getAutoSubmit() {
279: return autoSubmit;
280: }
281:
282: public void setItemNavigation(Integer itemNavigation) {
283: this .itemNavigation = itemNavigation;
284: }
285:
286: public Integer getItemNavigation() {
287: return itemNavigation;
288: }
289:
290: public void setItemNumbering(Integer itemNumbering) {
291: this .itemNumbering = itemNumbering;
292: }
293:
294: public Integer getItemNumbering() {
295: return itemNumbering;
296: }
297:
298: public void setSubmissionMessage(String submissionMessage) {
299: this .submissionMessage = submissionMessage;
300: }
301:
302: public String getSubmissionMessage() {
303: return submissionMessage;
304: }
305:
306: public void setFinalPageUrl(String finalPageUrl) {
307: this .finalPageUrl = finalPageUrl;
308: }
309:
310: public String getFinalPageUrl() {
311: return finalPageUrl;
312: }
313:
314: public String getReleaseTo() {
315: return this .releaseTo;
316: }
317:
318: public void setReleaseTo(String releaseTo) {
319: this .releaseTo = releaseTo;
320: }
321:
322: public String getUsername() {
323: return this .username;
324: }
325:
326: public void setUsername(String username) {
327: this .username = username;
328: }
329:
330: public String getPassword() {
331: return this .password;
332: }
333:
334: public void setPassword(String password) {
335: this .password = password;
336: }
337:
338: public Boolean getUnlimitedSubmissions() {
339: return this .unlimitedSubmissions;
340: }
341:
342: public void setUnlimitedSubmissions(Boolean unlimitedSubmissions) {
343: this.unlimitedSubmissions = unlimitedSubmissions;
344: }
345:
346: }
|