/* * $Id: CoursePackageEditor.java,v 1.2.2.1 2006/10/16 13:41:58 palli Exp $ * Created on Jul 6, 2005 * * Copyright (C) 2005 Idega Software hf. All Rights Reserved. * * This software is the proprietary information of Idega hf. * Use is subject to license terms. */ package se.idega.idegaweb.commune.adulteducation.presentation; import java.rmi.RemoteException; import java.util.Collection; import java.util.Iterator; import javax.ejb.CreateException; import javax.ejb.RemoveException; import se.idega.idegaweb.commune.adulteducation.data.CoursePackage; import com.idega.business.IBORuntimeException; import com.idega.presentation.IWContext; import com.idega.presentation.Table; import com.idega.presentation.text.Break; import com.idega.presentation.text.Link; import com.idega.presentation.ui.Form; import com.idega.presentation.ui.SubmitButton; import com.idega.presentation.ui.TextInput; /** * Last modified: $Date: 2006/10/16 13:41:58 $ by $Author: palli $ * * @author <a href="mailto:laddi@idega.com">laddi</a> * @version $Revision: 1.2.2.1 $ */ public class CoursePackageEditor extends AdultEducationBlock { private static final String PARAMETER_ACTION = "cpe_action"; private static final String PARAMETER_NAME = "cpe_name"; private static final int ACTION_FORM = 1; private static final int ACTION_STORE = 2; private static final int ACTION_REMOVE = 3; /* * (non-Javadoc) * * @see se.idega.idegaweb.commune.adulteducation.presentation.AdultEducationBlock#present(com.idega.presentation.IWContext) */ public void present(IWContext iwc) { try { switch (parseAction(iwc)) { case ACTION_FORM: showForm(); break; case ACTION_STORE: storePackage(iwc); showForm(); break; case ACTION_REMOVE: removePackage(iwc); showForm(); break; } } catch (RemoteException re) { throw new IBORuntimeException(re); } } private void showForm() throws RemoteException { Form form = new Form(); form.addParameter(PARAMETER_ACTION, String.valueOf(ACTION_STORE)); Table table = new Table(2, 3); form.add(table); TextInput name = (TextInput) getStyledInterface(new TextInput( PARAMETER_NAME)); // TextInput localizedKey = (TextInput) getStyledInterface(new // TextInput(PARAMETER_LOCALIZED_KEY)); SubmitButton save = (SubmitButton) getButton(new SubmitButton(localize( "save_package", "Save package"))); table.add( getSmallHeader(localize("package_name", "Package name") + ":"), 1, 1); table.add(name, 2, 1); // table.add(getSmallHeader(localize("localized_key", "Localized key") + // ":"), 1, 2); // table.add(localizedKey, 2, 2); table.add(save, 2, 2); form.add(new Break(2)); form.add(getLocalizedHeader("created_packages", "Created packages")); form.add(new Break()); Table packageTable = new Table(); packageTable.setCellpadding(getCellpadding()); packageTable.setCellspacing(getCellspacing()); packageTable.setColumns(2); packageTable.setRowColor(1, getHeaderColor()); int row = 1; packageTable.add(getLocalizedSmallHeader("course_package", "Course package"), 1, row++); // packageTable.add(getLocalizedSmallHeader("localized_key","Localized // key"), 2, row++); Collection packages = getBusiness().getCoursePackages(); Iterator iter = packages.iterator(); while (iter.hasNext()) { CoursePackage coursePackage = (CoursePackage) iter.next(); packageTable.add(getSmallText(coursePackage.getName()), 1, row); // packageTable.add(getSmallText(coursePackage.getLocalizedKey() != // null ? coursePackage.getLocalizedKey() : "-"), 2, row); if (!getBusiness().hasSchoolPackages(coursePackage)) { Link delete = new Link(getDeleteIcon(localize( "remove_course_package", "Remove course package"))); delete.addParameter(PARAMETER_ACTION, ACTION_REMOVE); delete.addParameter(PARAMETER_COURSE_PACKAGE, coursePackage .getPrimaryKey().toString()); packageTable.add(delete, 2, row); } row++; } form.add(packageTable); add(form); } private void storePackage(IWContext iwc) throws RemoteException { try { getBusiness().storePackage(iwc, iwc.getParameter(PARAMETER_NAME), ""); } catch (CreateException ce) { ce.printStackTrace(); } } private void removePackage(IWContext iwc) throws RemoteException { try { getBusiness().removePackage( iwc.getParameter(PARAMETER_COURSE_PACKAGE)); } catch (RemoveException re) { re.printStackTrace(); } } private int parseAction(IWContext iwc) { int action = ACTION_FORM; if (iwc.isParameterSet(PARAMETER_ACTION)) { action = Integer.parseInt(iwc.getParameter(PARAMETER_ACTION)); } return action; } }