001 /** 002 * 003 */ 004 package org.apache.geronimo.samples.inventory.web; 005 006 import java.io.IOException; 007 008 import javax.servlet.ServletException; 009 import javax.servlet.http.HttpServlet; 010 import javax.servlet.http.HttpServletRequest; 011 import javax.servlet.http.HttpServletResponse; 012 013 import org.apache.geronimo.samples.inventory.exception.NotSufficientQuantityException; 014 import org.apache.geronimo.samples.inventory.services.InventoryManager; 015 016 017 public class IssueingServlet extends HttpServlet { 018 019 020 protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { 021 process(req,res); 022 } 023 024 protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { 025 doGet(req,res); 026 } 027 028 private void process(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException{ 029 String itemNo = req.getParameter("item_no"); 030 031 int quantity = 0; 032 try { 033 quantity = Integer.parseInt(req.getParameter("quantity")); 034 InventoryManager itemManager = new InventoryManager(); 035 itemManager.issueItem(itemNo,quantity); 036 037 getServletContext().getRequestDispatcher("/welcome.jsp").forward(req,res); 038 } catch (NumberFormatException e) { 039 e.printStackTrace(); 040 req.setAttribute("error","Invalid Number Format for Quantity"); 041 getServletContext().getRequestDispatcher("/jsp/error.jsp").forward(req,res); 042 } catch (NotSufficientQuantityException e) { 043 req.setAttribute("error","Not Sufficient Qunatity to Issue Items"); 044 getServletContext().getRequestDispatcher("/jsp/error.jsp").forward(req,res); 045 } 046 } 047 048 049 }