/********************************************************************************** * $URL: https://source.sakaiproject.org/svn/sam/trunk/samigo-services/src/java/org/sakaiproject/tool/assessment/facade/AssessmentFacadeQueriesAPI.java $ * $Id: AssessmentFacadeQueriesAPI.java 106463 2012-04-02 12:20:09Z david.horwitz@uct.ac.za $ *********************************************************************************** * * Copyright (c) 2004, 2005, 2006, 2007, 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.facade; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Set; import org.sakaiproject.tool.assessment.data.dao.assessment.AssessmentBaseData; import org.sakaiproject.tool.assessment.data.dao.assessment.AssessmentData; import org.sakaiproject.tool.assessment.data.dao.assessment.AssessmentTemplateData; import org.sakaiproject.tool.assessment.data.dao.assessment.AttachmentData; import org.sakaiproject.tool.assessment.data.dao.assessment.ItemData; import org.sakaiproject.tool.assessment.data.dao.assessment.SectionData; import org.sakaiproject.tool.assessment.data.ifc.assessment.AssessmentAttachmentIfc; import org.sakaiproject.tool.assessment.data.ifc.assessment.AssessmentBaseIfc; import org.sakaiproject.tool.assessment.data.ifc.assessment.AssessmentIfc; import org.sakaiproject.tool.assessment.data.ifc.assessment.ItemAttachmentIfc; import org.sakaiproject.tool.assessment.data.ifc.assessment.ItemDataIfc; import org.sakaiproject.tool.assessment.data.ifc.assessment.SectionAttachmentIfc; import org.sakaiproject.tool.assessment.data.ifc.assessment.SectionDataIfc; import org.sakaiproject.tool.assessment.osid.shared.impl.IdImpl; public interface AssessmentFacadeQueriesAPI { public IdImpl getId(String id); public IdImpl getId(Long id); public IdImpl getId(long id); public IdImpl getAssessmentId(String id); public IdImpl getAssessmentId(Long id); public IdImpl getAssessmentId(long id); public IdImpl getAssessmentTemplateId(String id); public IdImpl getAssessmentTemplateId(Long id); public IdImpl getAssessmentTemplateId(long id); public Long addTemplate(); public void removeTemplate(Long assessmentId); public Long addAssessment(Long assessmentTemplateId); public AssessmentBaseData load(Long id); public AssessmentTemplateData loadTemplate(Long assessmentTemplateId); public AssessmentData loadAssessment(Long assessmentId); /* * The following methods are real * */ public AssessmentTemplateFacade getAssessmentTemplate( Long assessmentTemplateId); public ArrayList getAllAssessmentTemplates(); public ArrayList getAllActiveAssessmentTemplates(); /** * * @return a list of AssessmentTemplateFacade. However, it is IMPORTANT to * note that it is not a full object, it contains merely * assessmentBaseId (which is the templateId) & title. This methods * is used when a list of template titles is required for displaying * purposes. */ public ArrayList getTitleOfAllActiveAssessmentTemplates(); /** * * @param assessmentId * @return the assement or null if non found */ public AssessmentFacade getAssessment(Long assessmentId); public void removeAssessment(Long assessmentId); public AssessmentData cloneAssessmentFromTemplate(AssessmentTemplateData t); /** * This method is the same as createAssessment() except that no default * section will be created with the assessment. */ public AssessmentFacade createAssessmentWithoutDefaultSection(String title, String description, Long typeId, Long templateId) throws Exception; public AssessmentFacade createAssessmentWithoutDefaultSection(String title, String description, Long typeId, Long templateId, String siteId) throws Exception; public AssessmentFacade createAssessment(String title, String description, Long typeId, Long templateId) throws Exception; public AssessmentFacade createAssessment(String title, String description, Long typeId, Long templateId, String siteId) throws Exception; public ArrayList getAllAssessments(String orderBy); public ArrayList getAllActiveAssessments(String orderBy); public ArrayList getBasicInfoOfAllActiveAssessments(String orderBy, boolean ascending); public ArrayList getBasicInfoOfAllActiveAssessmentsByAgent(String orderBy, String siteAgentId, boolean ascending); public ArrayList getBasicInfoOfAllActiveAssessmentsByAgent(String orderBy, String siteAgentId); public AssessmentFacade getBasicInfoOfAnAssessment(Long assessmentId); public ArrayList getSettingsOfAllActiveAssessments(String orderBy); public ArrayList getAllAssessments(int pageSize, int pageNumber, String orderBy); public int getQuestionSize(final Long assessmentId); public void deleteAllSecuredIP(AssessmentIfc assessment); public void saveOrUpdate(AssessmentFacade assessment); public void saveOrUpdate(AssessmentTemplateData template); public void deleteTemplate(Long templateId); public SectionFacade addSection(Long assessmentId); public SectionFacade getSection(Long sectionId); public void removeSection(Long sectionId); public SectionData loadSection(Long sectionId); public void saveOrUpdateSection(SectionFacade section); /** * This method move a set of questions form one section to another * * @param sourceSectionId * @param destSectionId */ public void moveAllItems(Long sourceSectionId, Long destSectionId); public ArrayList getBasicInfoOfAllActiveAssessmentTemplates(String orderBy); public void checkForQuestionPoolItem(AssessmentData assessment, HashMap qpItemHash); public void checkForQuestionPoolItem(SectionData section, HashMap qpItemHash); public void removeAllItems(Long sourceSectionId); public boolean assessmentTitleIsUnique(Long assessmentBaseId, String title, Boolean isTemplate); public List getAssessmentByTemplate(Long templateId); public List getDefaultMetaDataSet(); public void deleteAllMetaData(AssessmentBaseIfc assessment); public ItemAttachmentIfc createItemAttachment(ItemDataIfc item, String resourceId, String filename, String protocolboolean, boolean isEditPendingAssessmentFlow); public void removeItemAttachment(Long itemAttachmentId); public void updateAssessmentLastModifiedInfo( AssessmentFacade assessment); public SectionAttachmentIfc createSectionAttachment(SectionDataIfc section, String resourceId, String filename, String protocol); public void removeSectionAttachment(Long sectionAttachmentId); public AssessmentAttachmentIfc createAssessmentAttachment( AssessmentIfc assessment, String resourceId, String filename, String protocol); public void removeAssessmentAttachment(Long assessmentAttachmentId); public AttachmentData createEmailAttachment(String resourceId, String filename, String protocol); public void saveOrUpdateAttachments(List list); public String getAssessmentSiteId (String assessmentId); public String getAssessmentCreatedBy(String assessmentId); public void copyAllAssessments(String fromContext, String toContext); public void copyAssessment(String assessmentId, String apepndCopyTitle); public List getAllActiveAssessmentsByAgent(String fromContext); public Set copyItemAttachmentSet(ItemData newItem, Set itemAttachmentSet); }