/**********************************************************************************
* $URL: https://source.sakaiproject.org/svn/sam/trunk/samigo-services/src/java/org/sakaiproject/tool/assessment/services/assessment/PublishedAssessmentService.java $
* $Id: PublishedAssessmentService.java 114937 2012-10-22 07:52:33Z david.horwitz@uct.ac.za $
***********************************************************************************
*
* Copyright (c) 2004, 2005, 2006, 2007, 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.services.assessment;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.sakaiproject.tool.assessment.data.dao.assessment.AssessmentAccessControl;
import org.sakaiproject.tool.assessment.data.dao.assessment.PublishedAssessmentData;
import org.sakaiproject.tool.assessment.data.dao.assessment.PublishedAttachmentData;
import org.sakaiproject.tool.assessment.data.dao.assessment.PublishedItemData;
import org.sakaiproject.tool.assessment.data.dao.assessment.PublishedItemText;
import org.sakaiproject.tool.assessment.data.dao.assessment.PublishedMetaData;
import org.sakaiproject.tool.assessment.data.ifc.assessment.AnswerIfc;
import org.sakaiproject.tool.assessment.data.ifc.assessment.AssessmentAccessControlIfc;
import org.sakaiproject.tool.assessment.data.ifc.assessment.AssessmentAttachmentIfc;
import org.sakaiproject.tool.assessment.data.ifc.assessment.AssessmentIfc;
import org.sakaiproject.tool.assessment.data.ifc.assessment.ItemDataIfc;
import org.sakaiproject.tool.assessment.data.ifc.assessment.ItemTextIfc;
import org.sakaiproject.tool.assessment.data.ifc.assessment.PublishedAssessmentIfc;
import org.sakaiproject.tool.assessment.data.ifc.assessment.SectionAttachmentIfc;
import org.sakaiproject.tool.assessment.data.ifc.assessment.SectionDataIfc;
import org.sakaiproject.tool.assessment.data.ifc.shared.TypeIfc;
import org.sakaiproject.tool.assessment.facade.AgentFacade;
import org.sakaiproject.tool.assessment.facade.AssessmentFacade;
import org.sakaiproject.tool.assessment.facade.PublishedAssessmentFacade;
import org.sakaiproject.tool.assessment.facade.PublishedAssessmentFacadeQueriesAPI;
import org.sakaiproject.tool.assessment.facade.PublishedSectionFacade;
import org.sakaiproject.tool.assessment.facade.SectionFacade;
import org.sakaiproject.tool.assessment.services.PersistenceService;
/**
* The QuestionPoolService calls the service locator to reach the
* manager on the back end.
* @author Rachel Gollub <rgollub@stanford.edu>
*/
public class PublishedAssessmentService extends AssessmentService{
private static Log log = LogFactory.getLog(PublishedAssessmentService.class);
/**
* Creates a new QuestionPoolService object.
*/
public PublishedAssessmentService() {
}
/**
* rachelgollub: So takeable is that you have *not* reached the number of
* submissions and you're either before the due date or (you're after the due
* date, you haven't submitted yet, and late handling is enabled).
* - quoted from IM on 1/31/05
* Marc said some of teh assessment do not have any due date, e.g. survey
*/
public ArrayList getBasicInfoOfAllPublishedAssessments(String agentId, String orderBy,
boolean ascending, String siteId) {
// 2. get all takeable assessment available
return PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().
getBasicInfoOfAllPublishedAssessments(orderBy, ascending, siteId);
}
public ArrayList getBasicInfoOfAllPublishedAssessments2(String orderBy,
boolean ascending, String siteId) {
// 2. get all takeable assessment available
return PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().
getBasicInfoOfAllPublishedAssessments2(orderBy, ascending, siteId);
}
/**
public ArrayList getAllReviewableAssessments(String agentId, String orderBy,
boolean ascending) {
// 1. get total no. of submission per assessment by the given agent
HashMap h = getTotalSubmissionPerAssessment(agentId);
ArrayList assessmentList = PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().
getAllReviewableAssessments(orderBy, ascending);
assessmentList.size());
ArrayList reviewableAssessmentList = new ArrayList();
for (int i = 0; i < assessmentList.size(); i++) {
AssessmentGradingFacade f = (AssessmentGradingFacade) assessmentList.get(
i);
Integer NumberOfSubmissions = (Integer) h.get(
f.getPublishedAssessment().getPublishedAssessmentId());
if (NumberOfSubmissions == null) {
NumberOfSubmissions = new Integer(0);
}
try {
if (!PersistenceService.getInstance().getAuthzQueriesFacade().isAuthorized(null, "VIEW_PUBLISHED_ASSESSMENT",
f.getPublishedAssessment().
getPublishedAssessmentId().
toString())) {
break;
}
}
catch (Exception e1) {
log.fatal("Wrapping Error around unhandled Exception: "
+ e1.getMessage());
throw new RuntimeException(e1.getMessage());
}
// for testing only
reviewableAssessmentList.add(f);
}
return reviewableAssessmentList;
}
*/
public ArrayList getAllActivePublishedAssessments(String orderBy) {
return getAllPublishedAssessments(orderBy,
PublishedAssessmentFacade.ACTIVE_STATUS);
}
public ArrayList getAllActivePublishedAssessments(
int pageSize, int pageNumber, String orderBy) {
return getAllPublishedAssessments(
pageSize, pageNumber, orderBy, PublishedAssessmentFacade.ACTIVE_STATUS);
}
public ArrayList getAllInActivePublishedAssessments(String orderBy) {
return getAllPublishedAssessments(orderBy,
PublishedAssessmentFacade.INACTIVE_STATUS);
}
public ArrayList getAllInActivePublishedAssessments(
int pageSize, int pageNumber, String orderBy) {
return getAllPublishedAssessments(
pageSize, pageNumber, orderBy,
PublishedAssessmentFacade.INACTIVE_STATUS);
}
public ArrayList getAllPublishedAssessments(String orderBy, Integer status) {
return PersistenceService.getInstance().getPublishedAssessmentFacadeQueries().
getAllPublishedAssessments(orderBy, status); // signalling all & no paging
}
public ArrayList getAllPublishedAssessments(
int pageSize, int pageNumber, String orderBy, Integer status) {
try {
if (pageSize > 0 && pageNumber > 0) {
return PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().
getAllPublishedAssessments(pageSize, pageNumber, orderBy, status);
}
else {
return PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().
getAllPublishedAssessments(orderBy, status);
}
}
catch (Exception e) {
log.error(e);
throw new RuntimeException(e);
}
}
public PublishedAssessmentFacade getPublishedAssessment(String assessmentId) {
//SAM-1995 if an empty or null id is passed throw and exception
if (assessmentId == null || "".equals(assessmentId)) {
throw new IllegalArgumentException("AssesmentId must be specified");
}
try {
return PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().
getPublishedAssessment(Long.valueOf(assessmentId));
}
catch (Exception e) {
log.error(e);
throw new RuntimeException(e);
}
}
public PublishedAssessmentFacade getPublishedAssessment(String assessmentId, boolean withGroupsInfo) {
try {
return PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().
getPublishedAssessment(Long.valueOf(assessmentId), withGroupsInfo);
}
catch (Exception e) {
log.error(e);
throw new RuntimeException(e);
}
}
public AssessmentIfc getAssessment(Long assessmentId) {
try {
return PersistenceService.getInstance()
.getPublishedAssessmentFacadeQueries().getPublishedAssessment(assessmentId);
} catch (Exception e) {
log.error(e);
throw new RuntimeException(e);
}
}
public Long getPublishedAssessmentId(String assessmentId) {
try {
return PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().
getPublishedAssessmentId(new Long(assessmentId));
}
catch (Exception e) {
log.error(e);
throw new RuntimeException(e);
}
}
public PublishedAssessmentFacade publishAssessment(AssessmentFacade
assessment) throws Exception {
return PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().
publishAssessment(assessment);
}
public PublishedAssessmentFacade publishPreviewAssessment(AssessmentFacade
assessment) {
try {
return PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().
publishPreviewAssessment(assessment);
}
catch (Exception e) {
log.error(e);
throw new RuntimeException(e);
}
}
public void deleteAllSecuredIP(PublishedAssessmentIfc assessment) {
PersistenceService.getInstance().getPublishedAssessmentFacadeQueries()
.deleteAllSecuredIP(assessment);
}
public void saveAssessment(PublishedAssessmentFacade assessment) {
try{
PersistenceService.getInstance().getPublishedAssessmentFacadeQueries().
saveOrUpdate(assessment);
}
catch (Exception e) {
log.error(e);
}
}
public void removeAssessment(String assessmentId) {
this.removeAssessment(assessmentId, null);
}
public void removeAssessment(String assessmentId, String action) {
PersistenceService.getInstance().getPublishedAssessmentFacadeQueries().
removeAssessment(new Long(assessmentId), action);
}
public ArrayList getBasicInfoOfAllActivePublishedAssessments(String orderBy,boolean ascending) {
String siteAgentId = AgentFacade.getCurrentSiteId();
return PersistenceService.getInstance().getPublishedAssessmentFacadeQueries().
getBasicInfoOfAllActivePublishedAssessments(orderBy, siteAgentId, ascending); // signalling all & no paging
}
public ArrayList getBasicInfoOfAllInActivePublishedAssessments(String orderBy,boolean ascending) {
String siteAgentId = AgentFacade.getCurrentSiteId();
return PersistenceService.getInstance().getPublishedAssessmentFacadeQueries().
getBasicInfoOfAllInActivePublishedAssessments(orderBy, siteAgentId, ascending); // signalling all & no paging
}
public PublishedAssessmentFacade getSettingsOfPublishedAssessment(String
assessmentId) {
try {
return PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().
getSettingsOfPublishedAssessment(new Long(assessmentId));
}
catch (Exception e) {
log.error(e);
throw new RuntimeException(e);
}
}
public PublishedItemData loadPublishedItem(String itemId) {
try {
return PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().
loadPublishedItem(new Long(itemId));
}
catch (Exception e) {
log.error(e);
throw new RuntimeException(e);
}
}
public PublishedItemText loadPublishedItemText(String itemTextId) {
try {
return PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().
loadPublishedItemText(new Long(itemTextId));
}
catch (Exception e) {
log.error(e);
throw new RuntimeException(e);
}
}
/**
* return an array list of the last AssessmentGradingFacade per assessment that
* a user has submitted for grade.
* @param agentId
* @param orderBy
* @param ascending
* @return
*/
public ArrayList getBasicInfoOfLastSubmittedAssessments(String agentId,
String orderBy, boolean ascending) {
return PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().
getBasicInfoOfLastSubmittedAssessments(agentId, orderBy, ascending);
}
/** total submitted for grade
* returns HashMap (Long publishedAssessmentId, Integer totalSubmittedForGrade);
*/
public HashMap getTotalSubmissionPerAssessment(String agentId) {
return PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().
getTotalSubmissionPerAssessment(agentId);
}
public HashMap getTotalSubmissionPerAssessment(String agentId, String siteId) {
return PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().
getTotalSubmissionPerAssessment(agentId, siteId);
}
public Integer getTotalSubmission(String agentId, String publishedAssessmentId) {
return PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().
getTotalSubmission(agentId, new Long(publishedAssessmentId));
}
public PublishedAssessmentFacade getPublishedAssessmentIdByAlias(String alias) {
return PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().
getPublishedAssessmentIdByAlias(alias);
}
public void saveOrUpdateMetaData(PublishedMetaData meta) {
PersistenceService.getInstance().getPublishedAssessmentFacadeQueries().
saveOrUpdateMetaData(meta);
}
public HashMap getFeedbackHash(){
return PersistenceService.getInstance().getPublishedAssessmentFacadeQueries().
getFeedbackHash();
}
public HashMap getAllAssessmentsReleasedToAuthenticatedUsers(){
return PersistenceService.getInstance().getPublishedAssessmentFacadeQueries().
getAllAssessmentsReleasedToAuthenticatedUsers();
}
public String getPublishedAssessmentOwner(Long publishedAssessmentId){
return PersistenceService.getInstance().getPublishedAssessmentFacadeQueries().
getPublishedAssessmentOwner(publishedAssessmentId.toString());
}
public boolean publishedAssessmentTitleIsUnique(String assessmentBaseId, String title) {
return PersistenceService.getInstance().getPublishedAssessmentFacadeQueries().
publishedAssessmentTitleIsUnique(new Long(assessmentBaseId), title);
}
public boolean hasRandomPart(String publishedAssessmentId){
return PersistenceService.getInstance().getPublishedAssessmentFacadeQueries().
hasRandomPart(new Long(publishedAssessmentId));
}
public List getContainRandomPartAssessmentIds(final Collection assessmentIds){
return PersistenceService.getInstance().getPublishedAssessmentFacadeQueries().
getContainRandomPartAssessmentIds(assessmentIds);
}
public PublishedItemData getFirstPublishedItem(String publishedAssessmentId){
return PersistenceService.getInstance().getPublishedAssessmentFacadeQueries().
getFirstPublishedItem(new Long(publishedAssessmentId));
}
public List getPublishedItemIds(String publishedAssessmentId){
return PersistenceService.getInstance().getPublishedAssessmentFacadeQueries().
getPublishedItemIds(new Long(publishedAssessmentId));
}
public HashSet getPublishedItemSet(Long publishedAssessmentId, Long sectionId){
return PersistenceService.getInstance().getPublishedAssessmentFacadeQueries().
getPublishedItemSet(publishedAssessmentId, sectionId);
}
public Long getItemType(String publishedItemId){
return PersistenceService.getInstance().getPublishedAssessmentFacadeQueries().
getItemType(new Long(publishedItemId));
}
public HashMap<Long, ItemTextIfc> preparePublishedItemTextHash(PublishedAssessmentIfc publishedAssessment){
HashMap<Long, ItemTextIfc> map = new HashMap<Long, ItemTextIfc>();
ArrayList<SectionDataIfc> sectionArray = publishedAssessment.getSectionArray();
for (int i=0;i<sectionArray.size(); i++){
SectionDataIfc section = sectionArray.get(i);
ArrayList<ItemDataIfc> itemArray = section.getItemArray();
for (int j=0;j<itemArray.size(); j++){
ItemDataIfc item = itemArray.get(j);
ArrayList itemTextArray = item.getItemTextArray();
for (int k=0;k<itemTextArray.size(); k++){
ItemTextIfc itemText = (ItemTextIfc)itemTextArray.get(k);
map.put(itemText.getId(), itemText);
}
}
}
return map;
}
public HashMap<Long, ItemDataIfc> preparePublishedItemHash(PublishedAssessmentIfc publishedAssessment){
HashMap<Long, ItemDataIfc> map = new HashMap<Long, ItemDataIfc>();
ArrayList<SectionDataIfc> sectionArray = publishedAssessment.getSectionArray();
for (int i=0;i<sectionArray.size(); i++){
SectionDataIfc section = sectionArray.get(i);
ArrayList<ItemDataIfc> itemArray = section.getItemArray();
for (int j=0;j<itemArray.size(); j++){
ItemDataIfc item = itemArray.get(j);
map.put(item.getItemId(), item);
}
}
return map;
}
public HashMap<Long, AnswerIfc> preparePublishedAnswerHash(PublishedAssessmentIfc publishedAssessment){
HashMap<Long, AnswerIfc> map = new HashMap<Long, AnswerIfc>();
ArrayList<SectionDataIfc> sectionArray = publishedAssessment.getSectionArray();
for (int i=0;i<sectionArray.size(); i++){
SectionDataIfc section = sectionArray.get(i);
ArrayList<ItemDataIfc> itemArray = section.getItemArray();
for (int j=0;j<itemArray.size(); j++){
ItemDataIfc item = itemArray.get(j);
ArrayList itemTextArray = item.getItemTextArray();
for (int k=0;k<itemTextArray.size(); k++){
ItemTextIfc itemText = (ItemTextIfc)itemTextArray.get(k);
ArrayList answerArray = itemText.getAnswerArraySorted();
for (int m=0;m<answerArray.size(); m++){
AnswerIfc answer = (AnswerIfc)answerArray.get(m);
// SAK-14820: Sync with the scores from item.
if (answer != null) {
answer.setScore(item.getScore());
answer.setDiscount(item.getDiscount());
map.put(answer.getId(), answer);
}
}
}
}
}
return map;
}
public HashMap<Long, ItemDataIfc> prepareFIBItemHash(PublishedAssessmentIfc publishedAssessment){
HashMap<Long, ItemDataIfc> map = new HashMap<Long, ItemDataIfc>();
ArrayList<SectionDataIfc> sectionArray = publishedAssessment.getSectionArray();
for (int i=0;i<sectionArray.size(); i++){
SectionDataIfc section = sectionArray.get(i);
ArrayList<ItemDataIfc> itemArray = section.getItemArray();
for (int j=0;j<itemArray.size(); j++){
ItemDataIfc item = itemArray.get(j);
if (item.getTypeId().equals( Long.valueOf(8))) // FIB question
map.put(item.getItemId(), item);
}
}
return map;
}
public HashMap<Long, ItemDataIfc> prepareFINItemHash(PublishedAssessmentIfc publishedAssessment){
HashMap<Long, ItemDataIfc> map = new HashMap<Long, ItemDataIfc>();
ArrayList<SectionDataIfc> sectionArray = publishedAssessment.getSectionArray();
for (int i=0;i<sectionArray.size(); i++){
SectionDataIfc section = sectionArray.get(i);
ArrayList<ItemDataIfc> itemArray = section.getItemArray();
for (int j=0;j<itemArray.size(); j++){
ItemDataIfc item = itemArray.get(j);
if (item.getTypeId().equals( Long.valueOf(11))) // FIN question
map.put(item.getItemId(), item);
}
}
return map;
}
/**
* CALCULATED_QUESTION
* @param publishedAssessment
* @return the map of item id -> item for calc questions in this map
*/
public Map<Long, ItemDataIfc> prepareCalcQuestionItemHash(PublishedAssessmentIfc publishedAssessment){
// CALCULATED_QUESTION
Map<Long, ItemDataIfc> map = new HashMap<Long, ItemDataIfc>();
List<SectionDataIfc> sectionArray = publishedAssessment.getSectionArray();
for (int i=0;i<sectionArray.size(); i++) {
SectionDataIfc section = sectionArray.get(i);
List<ItemDataIfc> itemArray = section.getItemArray();
for (int j=0;j<itemArray.size(); j++) {
ItemDataIfc item = itemArray.get(j);
if (item.getTypeId().equals(TypeIfc.CALCULATED_QUESTION)) { // CALCULATED_QUESTION
map.put(item.getItemId(), item);
}
}
}
return map;
}
public HashMap<Long, ItemDataIfc> prepareMCMRItemHash(PublishedAssessmentIfc publishedAssessment){
HashMap<Long, ItemDataIfc> map = new HashMap<Long, ItemDataIfc>();
ArrayList<SectionDataIfc> sectionArray = publishedAssessment.getSectionArray();
for (int i=0;i<sectionArray.size(); i++){
SectionDataIfc section = sectionArray.get(i);
ArrayList<ItemDataIfc> itemArray = section.getItemArray();
for (int j=0;j<itemArray.size(); j++){
ItemDataIfc item = itemArray.get(j);
if (item.getTypeId().equals( Long.valueOf(2))) // MCMR question
map.put(item.getItemId(), item);
}
}
return map;
}
public HashSet getSectionSetForAssessment(Long publishedAssessmentId){
return PersistenceService.getInstance().getPublishedAssessmentFacadeQueries().
getSectionSetForAssessment(publishedAssessmentId);
}
public HashSet getSectionSetForAssessment(PublishedAssessmentIfc assessment){
return PersistenceService.getInstance().getPublishedAssessmentFacadeQueries().
getSectionSetForAssessment(assessment);
}
public boolean isRandomDrawPart(Long publishedAssessmentId, Long publishedSectionId){
return PersistenceService.getInstance().getPublishedAssessmentFacadeQueries().
isRandomDrawPart(publishedAssessmentId, publishedSectionId);
}
public PublishedAssessmentData getBasicInfoOfPublishedAssessment(String publishedId) {
return PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().
getBasicInfoOfPublishedAssessment(new Long(publishedId));
}
public String getPublishedAssessmentSiteId(String publishedAssessmentId) {
return PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().
getPublishedAssessmentSiteId(publishedAssessmentId);
}
public Integer getPublishedItemCount(Long publishedAssessmentId) {
return PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().
getPublishedItemCount(publishedAssessmentId);
}
public Integer getPublishedSectionCount(final Long publishedAssessmentId) {
return PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().
getPublishedSectionCount(publishedAssessmentId);
}
public PublishedAttachmentData getPublishedAttachmentData(Long attachmentId) {
return PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().getPublishedAttachmentData(attachmentId);
}
public void updateAssessmentLastModifiedInfo(AssessmentIfc publishedAssessmentFacade) {
PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().
updateAssessmentLastModifiedInfo((PublishedAssessmentFacade) publishedAssessmentFacade);
}
public void saveOrUpdateSection(SectionFacade section) {
PersistenceService.getInstance().getPublishedAssessmentFacadeQueries().saveOrUpdateSection(section);
}
public void removeItemAttachment(String itemAttachmentId) {
PersistenceService.getInstance().getPublishedAssessmentFacadeQueries().removeItemAttachment(Long.valueOf(itemAttachmentId));
}
public PublishedSectionFacade addSection(Long publishedAssessmentId) {
return PersistenceService.getInstance().getPublishedAssessmentFacadeQueries().addSection(publishedAssessmentId);
}
public PublishedSectionFacade getSection(String publishedsectionId) {
return PersistenceService.getInstance().getPublishedAssessmentFacadeQueries().getSection(Long.valueOf(publishedsectionId));
}
public AssessmentAccessControlIfc loadPublishedAccessControl(Long publishedAssessmentId) {
return PersistenceService.getInstance().getPublishedAssessmentFacadeQueries().loadPublishedAccessControl(publishedAssessmentId);
}
public void saveOrUpdatePublishedAccessControl(AssessmentAccessControlIfc publishedAccessControl) {
PersistenceService.getInstance().getPublishedAssessmentFacadeQueries().saveOrUpdatePublishedAccessControl(publishedAccessControl);
}
/**
* added by gopalrc - Jan 2008
* @param publishedAssessmentId
* @return
*/
public boolean isReleasedToGroups(String publishedAssessmentId) {
if (publishedAssessmentId == null) {
return false;
}
// PublishedAssessmentService publishedAssessmentService = new PublishedAssessmentService();
PublishedAssessmentIfc pub = getPublishedAssessment(publishedAssessmentId);
if (pub == null) {
return false;
}
if (pub.getAssessmentAccessControl().getReleaseTo().equals(AssessmentAccessControl.RELEASE_TO_SELECTED_GROUPS)) {
return true;
}
else {
return false;
}
}
public Integer getPublishedAssessmentStatus(Long publishedAssessmentId) {
return PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().getPublishedAssessmentStatus(publishedAssessmentId);
}
public AssessmentAttachmentIfc createAssessmentAttachment(
AssessmentIfc assessment, String resourceId, String filename,
String protocol) {
AssessmentAttachmentIfc attachment = null;
try {
PublishedAssessmentFacadeQueriesAPI queries = PersistenceService
.getInstance().getPublishedAssessmentFacadeQueries();
attachment = queries.createAssessmentAttachment(assessment,
resourceId, filename, protocol);
} catch (Exception e) {
e.printStackTrace();
}
return attachment;
}
public void removeAssessmentAttachment(String attachmentId) {
PersistenceService.getInstance().getPublishedAssessmentFacadeQueries()
.removeAssessmentAttachment(new Long(attachmentId));
}
public SectionAttachmentIfc createSectionAttachment(SectionDataIfc section,
String resourceId, String filename, String protocol) {
SectionAttachmentIfc attachment = null;
try {
PublishedAssessmentFacadeQueriesAPI queries = PersistenceService
.getInstance().getPublishedAssessmentFacadeQueries();
attachment = queries.createSectionAttachment(section, resourceId,
filename, protocol);
} catch (Exception e) {
e.printStackTrace();
}
return attachment;
}
public void removeSectionAttachment(String attachmentId) {
PersistenceService.getInstance().getPublishedAssessmentFacadeQueries()
.removeSectionAttachment(new Long(attachmentId));
}
public void saveOrUpdateAttachments(List list) {
PersistenceService.getInstance().getPublishedAssessmentFacadeQueries()
.saveOrUpdateAttachments(list);
}
public TreeMap getGroupsForSite() {
return PersistenceService.getInstance().getPublishedAssessmentFacadeQueries()
.getGroupsForSite();
}
public PublishedAssessmentFacade getPublishedAssessmentInfoForRemove(Long publishedAssessmentId) {
return PersistenceService.getInstance().getPublishedAssessmentFacadeQueries()
.getPublishedAssessmentInfoForRemove(publishedAssessmentId);
}
public HashMap getToGradebookPublishedAssessmentSiteIdMap() {
return PersistenceService.getInstance().getPublishedAssessmentFacadeQueries()
.getToGradebookPublishedAssessmentSiteIdMap();
}
public ArrayList getBasicInfoOfLastOrHighestOrAverageSubmittedAssessmentsByScoringOption(String agentId, String siteId,boolean allAssessments ){
return PersistenceService.getInstance().
getPublishedAssessmentFacadeQueries().
getBasicInfoOfLastOrHighestOrAverageSubmittedAssessmentsByScoringOption(agentId, siteId, allAssessments);
}
}