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    }