package dk.hansen; import java.util.ArrayList; import java.util.Collection; import javax.servlet.http.*; import org.apache.log4j.Logger; import org.apache.struts.action.*; public final class ListCDAction extends CommonCDAction { private static Logger logger = Logger.getLogger(ListCDAction.class.getName()); public ActionForward commonExecute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { ActionErrors errors = new ActionErrors(); // Get the CD manager factory HttpSession session = request.getSession(); CDManagerFactoryIF factory = (CDManagerFactoryIF) session.getAttribute("cdfactory"); CDManagerIF manager = factory.createCDManager(); Collection c = new ArrayList(); try { c = manager.getAll(); } catch (DAOException e) { // Message for the user: errors.add("label", new ActionError("error.listfailed")); saveErrors(request, errors); // Logging the error: String message = "CDs could not be listed"; logger.fatal(message, e); // Save the chained exceptions: request.setAttribute("MYEXCEPTION", new DAOException(message, e)); // Return to the error page return (mapping.findForward("error")); } session.setAttribute("cds", c); return (mapping.findForward("list")); } }