/********************************************************************************** * $URL: https://source.sakaiproject.org/svn/sam/trunk/samigo-app/src/java/org/sakaiproject/tool/assessment/ui/listener/author/RemovePartListener.java $ * $Id: RemovePartListener.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.ui.listener.author; import javax.faces.event.AbortProcessingException; import javax.faces.event.ActionEvent; import javax.faces.event.ActionListener; import org.sakaiproject.event.cover.EventTrackingService; import org.sakaiproject.tool.assessment.facade.AgentFacade; import org.sakaiproject.tool.assessment.facade.AssessmentFacade; import org.sakaiproject.tool.assessment.services.assessment.AssessmentService; import org.sakaiproject.tool.assessment.ui.bean.author.AssessmentBean; import org.sakaiproject.tool.assessment.ui.bean.author.SectionBean; import org.sakaiproject.tool.assessment.ui.listener.util.ContextUtil; /** * <p>Title: Samigo</p> * <p>Description: Sakai Assessment Manager</p> * @author Ed Smiley * @version $Id: RemovePartListener.java 106463 2012-04-02 12:20:09Z david.horwitz@uct.ac.za $ */ public class RemovePartListener implements ActionListener { //private static Log log = LogFactory.getLog(RemovePartListener.class); public RemovePartListener() { } public void processAction(ActionEvent ae) throws AbortProcessingException { AssessmentBean assessmentBean = (AssessmentBean) ContextUtil.lookupBean( "assessmentBean"); SectionBean sectionBean = (SectionBean) ContextUtil.lookupBean( "sectionBean"); // #1. get all the info need from bean String sectionId = sectionBean.getSectionId(); String destSectionId = sectionBean.getDestSectionId(); String removeAllQuestions = sectionBean.getRemoveAllQuestions(); // #2 - check if we are removing all question or we // need to move question to another part AssessmentService assessmentService = new AssessmentService(); //log.info("** removeAll Question="+removeAllQuestions); if (!("1").equals(removeAllQuestions)){ // move questions to destinated Section when removing a section if (destSectionId == null || ("").equals(destSectionId)){ destSectionId = assessmentBean.getFirstSectionId(); } assessmentService.moveAllItems(sectionId,destSectionId); } assessmentService.removeSection(sectionId); EventTrackingService.post(EventTrackingService.newEvent("sam.assessment.revise", "siteId=" + AgentFacade.getCurrentSiteId() + ", removed sectionId=" + sectionId, true)); // #2 - goto editAssessment.jsp, so reset assessmentBean //log.info("** assessmentId in RemovePartListener ="+assessmentBean.getAssessmentId()); AssessmentFacade assessment = assessmentService.getAssessment( assessmentBean.getAssessmentId()); assessmentBean.setAssessment(assessment); } }