001: /**********************************************************************************
002: * $URL: https://source.sakaiproject.org/svn/sam/tags/sakai_2-4-1/samigo-hibernate/src/java/org/sakaiproject/tool/assessment/data/dao/grading/AssessmentGradingData.java $
003: * $Id: AssessmentGradingData.java 17186 2006-10-18 07:10:01Z 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.grading;
021:
022: import java.util.Date; //import java.util.Iterator;
023: import java.util.Set;
024: import java.util.HashSet;
025:
026: //import org.sakaiproject.tool.assessment.data.ifc.assessment.PublishedAssessmentIfc;
027: import org.sakaiproject.tool.assessment.data.ifc.grading.AssessmentGradingIfc;
028:
029: /**
030: * <p>Title: </p>
031: * <p>Description: </p>
032: * <p>Copyright: Copyright (c) 2004</p>
033: * <p>Company: </p>
034: * @author not attributable
035: * @version 1.0
036: */
037:
038: public class AssessmentGradingData implements java.io.Serializable,
039: AssessmentGradingIfc
040: // need to implement org.osid.assessment.ItemTaken in the future
041: // - daisyf 10/11/04
042: {
043: private static final long serialVersionUID = 7526471155622776147L;
044:
045: private Long assessmentGradingId;
046: private String agentId;
047: //private PublishedAssessmentIfc publishedAssessment;
048: private Date submittedDate;
049: private Boolean isLate;
050: private Boolean forGrade;
051: private Float totalAutoScore;
052: private Float totalOverrideScore;
053: private Float finalScore; // final total score
054: private String comments;
055: private Integer status;
056: private String gradedBy;
057: private Date gradedDate;
058: private Set itemGradingSet = new HashSet();
059: private Date attemptDate;
060: private Integer timeElapsed;
061: private int totalSubmitted;
062: private Long publishedAssessmentId;
063: private String publishedAssessmentTitle;
064:
065: public AssessmentGradingData() {
066: }
067:
068: // this constructor do not contains Set of ItemGradingData
069: public AssessmentGradingData(Long assessmentGradingId,
070: Long publishedAssessmentId,
071: String publishedAssessmentTitle, String agentId,
072: Date submittedDate, Boolean isLate, Boolean forGrade,
073: Float totalAutoScore, Float totalOverrideScore,
074: Float finalScore, String comments, Integer status,
075: String gradedBy, Date gradedDate, Date attemptDate,
076: Integer timeElapsed) {
077: this .assessmentGradingId = assessmentGradingId;
078: this .publishedAssessmentId = publishedAssessmentId;
079: this .publishedAssessmentTitle = publishedAssessmentTitle;
080: this .agentId = agentId;
081: this .submittedDate = submittedDate;
082: this .isLate = isLate;
083: this .forGrade = forGrade;
084: this .totalAutoScore = totalAutoScore;
085: this .totalOverrideScore = totalOverrideScore;
086: this .finalScore = finalScore;
087: this .comments = comments;
088: this .status = status;
089: this .gradedBy = gradedBy;
090: this .gradedDate = gradedDate;
091: this .attemptDate = attemptDate;
092: this .timeElapsed = timeElapsed;
093: }
094:
095: public AssessmentGradingData(Long publishedAssessmentId,
096: int totalSubmitted) {
097: this .publishedAssessmentId = publishedAssessmentId;
098: this .totalSubmitted = totalSubmitted;
099: }
100:
101: public Long getAssessmentGradingId() {
102: return assessmentGradingId;
103: }
104:
105: public void setAssessmentGradingId(Long assessmentGradingId) {
106: this .assessmentGradingId = assessmentGradingId;
107: }
108:
109: /*
110: public PublishedAssessmentIfc getPublishedAssessment() {
111: return publishedAssessment;
112: }
113: public void setPublishedAssessment(PublishedAssessmentIfc publishedAssessment) {
114: this.publishedAssessment = publishedAssessment;
115: }
116: */
117:
118: public Long getPublishedAssessmentId() {
119: return publishedAssessmentId;
120: }
121:
122: public void setPublishedAssessmentId(Long publishedAssessmentId) {
123: this .publishedAssessmentId = publishedAssessmentId;
124: }
125:
126: public String getAgentId() {
127: return agentId;
128: }
129:
130: public void setAgentId(String agentId) {
131: this .agentId = agentId;
132: }
133:
134: public Date getSubmittedDate() {
135: return submittedDate;
136: }
137:
138: public void setSubmittedDate(Date submittedDate) {
139: this .submittedDate = submittedDate;
140: }
141:
142: public Boolean getIsLate() {
143: return isLate;
144: }
145:
146: public void setIsLate(Boolean isLate) {
147: this .isLate = isLate;
148: }
149:
150: public Boolean getForGrade() {
151: return forGrade;
152: }
153:
154: public void setForGrade(Boolean forGrade) {
155: this .forGrade = forGrade;
156: }
157:
158: public Float getTotalAutoScore() {
159: return this .totalAutoScore;
160: }
161:
162: public void setTotalAutoScore(Float totalAutoScore) {
163: this .totalAutoScore = totalAutoScore;
164: }
165:
166: public Float getTotalOverrideScore() {
167: return this .totalOverrideScore;
168: }
169:
170: public void setTotalOverrideScore(Float totalOverrideScore) {
171: this .totalOverrideScore = totalOverrideScore;
172: }
173:
174: public Float getFinalScore() {
175: /*
176: if (this.totalAutoScore != null && this.totalOverrideScore != null ){
177: float total = 0;
178: if (this.totalAutoScore != null)
179: total += this.totalAutoScore.floatValue();
180: if (this.totalOverrideScore != null)
181: total += this.totalOverrideScore.floatValue();
182: this.finalScore = new Float(total);
183: }
184:
185: // remove rounding , SAK-2848
186: // Round to the nearest 1/10th.
187: if (this.finalScore !=null ){
188: float alignment = this.finalScore.floatValue();
189: int tmp = Math.round(alignment * 10.0f);
190: alignment = (float)tmp / 10.0f;
191: this.finalScore = new Float(alignment);
192: }
193: */
194: return this .finalScore;
195: }
196:
197: public void setFinalScore(Float finalScore) {
198: this .finalScore = finalScore;
199: }
200:
201: public String getComments() {
202: return comments;
203: }
204:
205: public void setComments(String comments) {
206: this .comments = comments;
207: }
208:
209: public String getGradedBy() {
210: return gradedBy;
211: }
212:
213: public void setGradedBy(String gradedBy) {
214: this .gradedBy = gradedBy;
215: }
216:
217: public Date getGradedDate() {
218: return gradedDate;
219: }
220:
221: public void setGradedDate(Date gradedDate) {
222: this .gradedDate = gradedDate;
223: }
224:
225: /**
226: * In some cases, students are allowed to submit multiple assessment
227: * for grading. However, the grader has the choice to select one to
228: * represent how well the student does overall. status = 1 means
229: * this submitted assessment is selected.
230: */
231: // daisy's comment: I am not sure Integer(1) is being used at all. 11/18/05
232: public Integer getStatus() {
233: return status;
234: }
235:
236: public void setStatus(Integer status) {
237: this .status = status;
238: }
239:
240: public Set getItemGradingSet() {
241: return itemGradingSet;
242: }
243:
244: public void setItemGradingSet(Set itemGradingSet) {
245: this .itemGradingSet = itemGradingSet;
246: }
247:
248: public Date getAttemptDate() {
249: return attemptDate;
250: }
251:
252: public void setAttemptDate(Date attemptDate) {
253: this .attemptDate = attemptDate;
254: }
255:
256: public Integer getTimeElapsed() {
257: return timeElapsed;
258: }
259:
260: public void setTimeElapsed(Integer timeElapsed) {
261: this .timeElapsed = timeElapsed;
262: }
263:
264: public int getTotalSubmitted() {
265: return totalSubmitted;
266: }
267:
268: public void setTotalSubmitted(int totalSubmitted) {
269: this .totalSubmitted = totalSubmitted;
270: }
271:
272: public String getPublishedAssessmentTitle() {
273: return publishedAssessmentTitle;
274: }
275:
276: public void setPublishedAssessmentTitle(
277: String publishedAssessmentTitle) {
278: this .publishedAssessmentTitle = publishedAssessmentTitle;
279: }
280:
281: // daisy added this for mining partial assessmentGradingData object
282: // 11/17/05
283: private Long publishedItemId;
284:
285: public Long getPublishedItemId() {
286: return publishedItemId;
287: }
288:
289: public void setItemGradingId(Long publishedItemId) {
290: this .publishedItemId = publishedItemId;
291: }
292:
293: public AssessmentGradingData(Long assessmentGradingId,
294: Long publishedItemId, String agentId, Float finalScore,
295: Date submittedDate) {
296: this.assessmentGradingId = assessmentGradingId;
297: this.publishedItemId = publishedItemId;
298: this.agentId = agentId;
299: this.finalScore = finalScore;
300: this.submittedDate = submittedDate;
301: }
302:
303: }
|