/**********************************************************************************
* $URL: https://source.sakaiproject.org/svn/sam/trunk/samigo-app/src/java/org/sakaiproject/tool/assessment/ui/listener/author/ActionSelectListener.java $
* $Id: ActionSelectListener.java 106463 2012-04-02 12:20:09Z david.horwitz@uct.ac.za $
***********************************************************************************
*
* Copyright (c) 2004, 2005, 2006 The Sakai Foundation.
*
* Licensed under the Educational Community License, Version 1.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/ecl1.php
*
* 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.ValueChangeEvent;
import javax.faces.event.ValueChangeListener;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.sakaiproject.tool.assessment.ui.bean.author.AuthorBean;
import org.sakaiproject.tool.assessment.ui.bean.delivery.DeliveryBean;
import org.sakaiproject.tool.assessment.ui.bean.print.PDFAssessmentBean;
import org.sakaiproject.tool.assessment.ui.bean.shared.PersonBean;
import org.sakaiproject.tool.assessment.ui.listener.delivery.BeginDeliveryActionListener;
import org.sakaiproject.tool.assessment.ui.listener.evaluation.ResetTotalScoreListener;
import org.sakaiproject.tool.assessment.ui.listener.evaluation.TotalScoreListener;
import org.sakaiproject.tool.assessment.ui.listener.util.ContextUtil;
/**
* <p>Title: Samigo</p>
* <p>Description: Sakai Assessment Manager</p>
* <p>Copyright: Copyright (c) 2004 Sakai Project</p>
* <p>Organization: Sakai Project</p>
* @version $Id: ActionSelectListener.java 106463 2012-04-02 12:20:09Z david.horwitz@uct.ac.za $
*/
public class ActionSelectListener implements ValueChangeListener {
private static Log log = LogFactory.getLog(ActionSelectListener.class);
/**
* Standard process action method.
* @param ae ValueChangeEvent
* @throws AbortProcessingException
*/
public void processValueChange(ValueChangeEvent ae)
throws AbortProcessingException {
AuthorBean author = (AuthorBean) ContextUtil.lookupBean("author");
DeliveryBean delivery = (DeliveryBean) ContextUtil.lookupBean("delivery");
PersonBean person = (PersonBean) ContextUtil.lookupBean("person");
String newValue = ae.getNewValue().toString();
log.debug("**** ae.getNewValue : " + newValue);
if ("edit_pending".equals(newValue)) {
EditAssessmentListener editAssessmentListener = new EditAssessmentListener();
editAssessmentListener.processAction(null);
author.setFirstFromPage("editAssessment");
author.setJustPublishedAnAssessment(false);
}
else if ("preview_pending".equals(newValue)) {
delivery.setActionString("previewAssessment");
delivery.setIsFromPrint(false);
author.setIsEditPendingAssessmentFlow(true);
person.setPreviewFromPage("author");
BeginDeliveryActionListener beginDeliveryActionListener = new BeginDeliveryActionListener();
beginDeliveryActionListener.processAction(null);
author.setOutcome("beginAssessment");
author.setJustPublishedAnAssessment(false);
}
else if ("print_pending".equals(newValue) || "print_published".equals(newValue)) {
delivery.setActionString("previewAssessment");
delivery.setIsFromPrint(true);
author.setIsEditPendingAssessmentFlow(true);
if ("print_published".equals(newValue)) {
author.setIsEditPendingAssessmentFlow(false);
author.setJustPublishedAnAssessment(true);
}
else {
author.setJustPublishedAnAssessment(false);
}
PDFAssessmentBean pdfBean = (PDFAssessmentBean)ContextUtil.lookupBean("pdfAssessment");
pdfBean.prepPDF();
pdfBean.setActionString("author");
author.setOutcome("print");
}
else if ("settings_pending".equals(newValue)) {
AuthorSettingsListener authorSettingsListener = new AuthorSettingsListener();
authorSettingsListener.processAction(null);
author.setFromPage("author");
author.setFirstFromPage("author");
author.setJustPublishedAnAssessment(false);
}
else if ("publish".equals(newValue)) {
AuthorSettingsListener authorSettingsListener = new AuthorSettingsListener();
authorSettingsListener.processAction(null);
author.setIsErrorInSettings(false);
ConfirmPublishAssessmentListener confirmPublishAssessmentListener = new ConfirmPublishAssessmentListener();
confirmPublishAssessmentListener.setIsFromActionSelect(true);
confirmPublishAssessmentListener.processAction(null);
if (author.getIsErrorInSettings()) {
author.setOutcome("editAssessmentSettings");
}
else {
PublishAssessmentListener publishAssessmentListener = new PublishAssessmentListener();
publishAssessmentListener.processAction(null);
author.setOutcome("saveSettingsAndConfirmPublish");
}
author.setFromPage("author");
author.setFirstFromPage("author");
}
else if ("duplicate".equals(newValue)) {
ConfirmCopyAssessmentListener confirmCopyAssessmentListener = new ConfirmCopyAssessmentListener();
confirmCopyAssessmentListener.processAction(null);
author.setOutcome("confirmCopyAssessment");
author.setJustPublishedAnAssessment(false);
}
else if ("export".equals(newValue)) {
ChooseExportTypeListener chooseExportTypeListener = new ChooseExportTypeListener();
chooseExportTypeListener.processAction(null);
author.setOutcome("chooseExportType");
author.setJustPublishedAnAssessment(false);
}
else if ("remove_pending".equals(newValue)) {
ConfirmRemoveAssessmentListener confirmRemoveAssessmentListener = new ConfirmRemoveAssessmentListener();
confirmRemoveAssessmentListener.processAction(null);
author.setJustPublishedAnAssessment(false);
}
else if ("scores".equals(newValue)) {
delivery.setActionString("gradeAssessment");
ResetTotalScoreListener resetTotalScoreListener = new ResetTotalScoreListener();
resetTotalScoreListener.processAction(null);
TotalScoreListener totalScoreListener = new TotalScoreListener();
totalScoreListener.processAction(null);
author.setJustPublishedAnAssessment(true);
}
if ("edit_published".equals(newValue)) {
ConfirmEditPublishedAssessmentListener confirmEditPublishedAssessmentListener = new ConfirmEditPublishedAssessmentListener();
confirmEditPublishedAssessmentListener.processAction(null);
author.setOutcome("confirmEditPublishedAssessment");
author.setFromPage("author");
author.setJustPublishedAnAssessment(true);
}
else if ("preview_published".equals(newValue)) {
delivery.setActionString("previewAssessment");
author.setIsEditPendingAssessmentFlow(false);
person.setPreviewFromPage("author");
BeginDeliveryActionListener beginDeliveryActionListener = new BeginDeliveryActionListener();
beginDeliveryActionListener.processAction(null);
author.setOutcome("beginAssessment");
author.setJustPublishedAnAssessment(true);
}
else if ("settings_published".equals(newValue)) {
EditPublishedSettingsListener editPublishedSettingsListener = new EditPublishedSettingsListener();
editPublishedSettingsListener.processAction(null);
author.setJustPublishedAnAssessment(true);
}
else if ("remove_published".equals(newValue)) {
ConfirmRemovePublishedAssessmentListener confirmRemovePublishedAssessmentListener = new ConfirmRemovePublishedAssessmentListener();
confirmRemovePublishedAssessmentListener.processAction(null);
author.setJustPublishedAnAssessment(true);
}
}
}