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"));
}
}