package cbcc.org.listeners; //imports import cbcc.org.DAO.OrderDAO; import java.util.LinkedList; import java.util.List; import javax.servlet.ServletContext; import javax.servlet.ServletContextListener; import javax.servlet.ServletContextEvent; /** * Class OrderListener - Web application lifecycle listener for orders. * * @author * @version 1.1 */ public class OrderListener implements ServletContextListener { /** * ### Method from ServletContextListener ### * * Called when a Web application is first ready to process requests * (i.e. on Web server startup and when a context is added or reloaded). * * For example, here might be database connections established * and added to the servlet context attributes. */ public void contextInitialized(ServletContextEvent evt) { //get context ServletContext context = evt.getServletContext(); //set filename OrderDAO.setFilename(context.getRealPath("/data/Order.xml")); //create dao OrderDAO orderDAO = new OrderDAO(); //get list from dao List ordersList = (List) orderDAO.retrieveOrders(); //store in context evt.getServletContext().setAttribute("ordersList", ordersList); } /** * ### Method from ServletContextListener ### * * Called when a Web application is about to be shut down * (i.e. on Web server shutdown or when a context is removed or reloaded). * Request handling will be stopped before this method is called. * * For example, the database connections can be closed here. */ public void contextDestroyed(ServletContextEvent evt) { //create dao OrderDAO orderDAO = new OrderDAO(); orderDAO.setOrdersList((LinkedList) evt.getServletContext().getAttribute("ordersList")); //update orderDAO.update((LinkedList) evt.getServletContext().getAttribute("ordersList")); } }