/********************************************************************************** * $URL: https://source.sakaiproject.org/svn/sam/trunk/samigo-hibernate/src/java/org/sakaiproject/tool/assessment/data/dao/assessment/AssessmentBaseData.java $ * $Id: AssessmentBaseData.java 106463 2012-04-02 12:20:09Z david.horwitz@uct.ac.za $ *********************************************************************************** * * Copyright (c) 2004, 2005, 2006, 2008 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.io.IOException; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.Set; import org.apache.log4j.Category; import org.sakaiproject.tool.assessment.data.dao.shared.TypeD; import org.sakaiproject.tool.assessment.data.ifc.assessment.AssessmentAccessControlIfc; import org.sakaiproject.tool.assessment.data.ifc.assessment.AssessmentFeedbackIfc; import org.sakaiproject.tool.assessment.data.ifc.assessment.EvaluationModelIfc; import org.sakaiproject.tool.assessment.data.ifc.shared.TypeIfc; //import org.sakaiproject.tool.assessment.facade.TypeFacadeQueriesAPI; //import org.sakaiproject.tool.assessment.services.PersistenceService; public class AssessmentBaseData implements java.io.Serializable, org.sakaiproject.tool.assessment.data.ifc.assessment.AssessmentBaseIfc { static Category errorLogger = Category.getInstance("errorLogger"); private static final long serialVersionUID = 7526471155622776147L; private Long assessmentBaseId; private Boolean isTemplate; private Long parentId; private String title; private String description; private String comments; private Long typeId; private Integer instructorNotification; private Integer testeeNotification; private Integer multipartAllowed; private Integer status; private String createdBy; private Date createdDate; private String lastModifiedBy; private Date lastModifiedDate; private AssessmentAccessControlIfc assessmentAccessControl; private EvaluationModelIfc evaluationModel; private AssessmentFeedbackIfc assessmentFeedback; private Set assessmentMetaDataSet; private HashMap assessmentMetaDataMap = new HashMap(); private HashMap assessmentFeedbackMap = new HashMap(); private Set securedIPAddressSet; private Integer questionSize; public AssessmentBaseData() {} /** * This is a cheap object created for holding just the Id & title. This is * by AssessmentFacadeQueries.getTitleXXX() when we only need the Id & title * and nothing else. This object is not used for persistence. * @param assessmentBaseId * @param title */ public AssessmentBaseData(Long assessmentBaseId, String title){ this.assessmentBaseId = assessmentBaseId; this.title = title; } /** * This is another cheap object created for holding just the Id, title & * lastModifiedDate. This object is merely used for display. It is not used * for persistence. */ public AssessmentBaseData(Long assessmentBaseId, String title,Date lastModifiedDate){ this.assessmentBaseId = assessmentBaseId; this.title = title; this.lastModifiedDate = lastModifiedDate; } /** * This is another cheap object created for holding just the Id, title & * lastModifiedDate. This object is merely used for display. It is not used * for persistence. */ public AssessmentBaseData(Long assessmentBaseId, String title,Date lastModifiedDate, String lastModifiedBy){ this.assessmentBaseId = assessmentBaseId; this.title = title; this.lastModifiedDate = lastModifiedDate; this.lastModifiedBy = lastModifiedBy; } public AssessmentBaseData(Long assessmentBaseId, String title,Date lastModifiedDate, String lastModifiedBy, Integer questionSize){ this.assessmentBaseId = assessmentBaseId; this.title = title; this.lastModifiedDate = lastModifiedDate; this.lastModifiedBy = lastModifiedBy; this.questionSize = questionSize; } public AssessmentBaseData(Long assessmentBaseId, String title,Date lastModifiedDate, Long typeId){ this.assessmentBaseId = assessmentBaseId; this.title = title; this.lastModifiedDate = lastModifiedDate; this.typeId = typeId; } public AssessmentBaseData(Boolean isTemplate, Long parentId, String title, String description, String comments, Long typeId, Integer instructorNotification, Integer testeeNotification, Integer multipartAllowed, Integer status, String createdBy, Date createdDate, String lastModifiedBy, Date lastModifiedDate) { this.isTemplate = isTemplate; this.parentId = parentId; this.title = title; this.description = description; this.comments = comments; this.typeId = typeId; this.instructorNotification = instructorNotification; this.testeeNotification = testeeNotification; this.multipartAllowed = multipartAllowed; this.status = status; this.createdBy = createdBy; this.createdDate = createdDate; this.lastModifiedBy = lastModifiedBy; this.lastModifiedDate = lastModifiedDate; } public Long getAssessmentBaseId() { return this.assessmentBaseId; } public void setAssessmentBaseId(Long assessmentBaseId) { this.assessmentBaseId = assessmentBaseId; } public Boolean getIsTemplate() { return this.isTemplate; } public void setIsTemplate(Boolean isTemplate) { this.isTemplate = isTemplate; } public Long getParentId() { return this.parentId; } public void setParentId(Long parentId) { this.parentId = parentId; } public String getTitle() { return this.title; } public void setTitle(String title) { this.title = title; } public String getDescription() { return this.description; } public void setDescription(String description) { this.description = description; } public String getComments() { return this.comments; } public void setComments(String comments) { this.comments = comments; } public Integer getInstructorNotification() { return this.instructorNotification; } public void setInstructorNotification(Integer instructorNotification) { this.instructorNotification = instructorNotification; } public Integer getTesteeNotification() { return this.testeeNotification; } public void setTesteeNotification(Integer testeeNotification) { this.testeeNotification = testeeNotification; } public Integer getMultipartAllowed() { return this.multipartAllowed; } public void setMultipartAllowed(Integer multipartAllowed) { this.multipartAllowed = multipartAllowed; } public Long getTypeId() { return this.typeId; } public void setTypeId(Long typeId) { this.typeId = typeId; } public Integer getStatus() { return this.status; } public void setStatus(Integer status) { this.status = status; } public String getCreatedBy() { return this.createdBy; } public void setCreatedBy(String createdBy) { this.createdBy = createdBy; } public Date getCreatedDate() { return this.createdDate; } public void setCreatedDate(Date createdDate) { this.createdDate = createdDate; } public String getLastModifiedBy() { return this.lastModifiedBy; } public void setLastModifiedBy(String lastModifiedBy) { this.lastModifiedBy = lastModifiedBy; } public Date getLastModifiedDate() { return this.lastModifiedDate; } public void setLastModifiedDate(Date lastModifiedDate) { this.lastModifiedDate = lastModifiedDate; } public AssessmentAccessControlIfc getAssessmentAccessControl() { return this.assessmentAccessControl; } public void setAssessmentAccessControl(AssessmentAccessControlIfc assessmentAccessControl) { this.assessmentAccessControl = assessmentAccessControl; } public EvaluationModelIfc getEvaluationModel() { return this.evaluationModel; } public void setEvaluationModel(EvaluationModelIfc evaluationModel) { this.evaluationModel = evaluationModel; } public AssessmentFeedbackIfc getAssessmentFeedback() { return this.assessmentFeedback; } public void setAssessmentFeedback(AssessmentFeedbackIfc assessmentFeedback) { this.assessmentFeedback = assessmentFeedback; } public Set getSecuredIPAddressSet() { return securedIPAddressSet; } public void setSecuredIPAddressSet(Set securedIPAddressSet) { this.securedIPAddressSet = securedIPAddressSet; } public Set getAssessmentMetaDataSet() { return assessmentMetaDataSet; } public void setAssessmentMetaDataSet(Set assessmentMetaDataSet) { this.assessmentMetaDataSet = assessmentMetaDataSet; this.assessmentMetaDataMap = getAssessmentMetaDataMap(assessmentMetaDataSet); } public HashMap getAssessmentMetaDataMap(Set assessmentMetaDataSet) { HashMap assessmentMetaDataMap = new HashMap(); if (assessmentMetaDataSet != null){ for (Iterator i = assessmentMetaDataSet.iterator(); i.hasNext(); ) { AssessmentMetaData assessmentMetaData = (AssessmentMetaData) i.next(); assessmentMetaDataMap.put(assessmentMetaData.getLabel(), assessmentMetaData.getEntry()); } } return assessmentMetaDataMap; } public HashMap getAssessmentMetaDataMap() { HashMap assessmentMetaDataMap = new HashMap(); if (this.assessmentMetaDataSet != null){ for (Iterator i = this.assessmentMetaDataSet.iterator(); i.hasNext(); ) { AssessmentMetaData assessmentMetaData = (AssessmentMetaData) i.next(); assessmentMetaDataMap.put(assessmentMetaData.getLabel(), assessmentMetaData.getEntry()); } } return assessmentMetaDataMap; } public String getAssessmentMetaDataByLabel(String label) { return (String)this.assessmentMetaDataMap.get(label); } public void addAssessmentMetaData(String label, String entry) { if (this.assessmentMetaDataMap.get(label)!=null){ // just update Iterator iter = this.assessmentMetaDataSet.iterator(); while (iter.hasNext()){ AssessmentMetaData metadata = (AssessmentMetaData) iter.next(); if (metadata.getLabel().equals(label)) metadata.setEntry(entry); } } else{ // add AssessmentMetaData metadata = null; if (!("").equals(entry.trim())){ metadata = new AssessmentMetaData(this, label, entry); this.assessmentMetaDataSet.add(metadata); } setAssessmentMetaDataSet(this.assessmentMetaDataSet); } } public void updateAssessmentMetaData(String label, String entry) { addAssessmentMetaData(label, entry); } private void writeObject(java.io.ObjectOutputStream out) throws IOException { out.defaultWriteObject(); } private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException { in.defaultReadObject(); } public TypeIfc getType() { /* TypeFacadeQueriesAPI typeFacadeQueries = PersistenceService.getInstance().getTypeFacadeQueries(); TypeIfc type = typeFacadeQueries.getTypeFacadeById(this.typeId); TypeD typeD = new TypeD(type.getAuthority(), type.getDomain(), type.getKeyword(), type.getDescription()); typeD.setTypeId(this.typeId); return typeD; */ return null; } public Integer getQuestionSize() { return this.questionSize; } public void setQuestionSize(Integer questionSize) { this.questionSize = questionSize; } }