KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > xpetstore > web > struts > action > order > CreateOrderAction


1 package xpetstore.web.struts.action.order;
2
3 import java.util.Date JavaDoc;
4 import java.util.HashMap JavaDoc;
5
6 import javax.servlet.http.HttpServletRequest JavaDoc;
7 import javax.servlet.http.HttpServletResponse JavaDoc;
8
9 import org.apache.struts.action.ActionForm;
10 import org.apache.struts.action.ActionForward;
11 import org.apache.struts.action.ActionMapping;
12
13 import xpetstore.domain.order.ejb.Order;
14 import xpetstore.services.cart.ejb.Cart;
15 import xpetstore.services.petstore.ejb.Petstore;
16
17 import xpetstore.web.struts.action.BaseAction;
18
19
20 /**
21  * @author <a HREF="mailto:tchbansi@sourceforge.net">Herve Tchepannou</a>
22  *
23  * @struts.action
24  * name="orderForm"
25  * path="/createOrder"
26  * scope="request"
27  * validate="false"
28  *
29  * @struts.action-forward
30  * name="success"
31  * path="/confirmation.jsp"
32  */

33 public class CreateOrderAction
34     extends BaseAction
35 {
36     //~ Methods ----------------------------------------------------------------
37

38     /**
39      * @see xpetstore.web.struts.action.BaseAction#doExecute(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse)
40      */

41     protected ActionForward doExecute( ActionMapping mapping,
42                                        ActionForm form,
43                                        HttpServletRequest JavaDoc request,
44                                        HttpServletResponse JavaDoc response )
45         throws Exception JavaDoc
46     {
47        try
48        {
49        System.out.println("!!CreateOrderAction.doExecute");
50         OrderForm frm = ( OrderForm ) form;
51         String JavaDoc userId = ( String JavaDoc ) request.getSession( ).getAttribute( USERID_KEY );
52         Petstore petstore = getPetstore( );
53
54         /* Proceed the order */
55         HashMap JavaDoc items = new HashMap JavaDoc( );
56
57         for ( int i = 0, len = frm.getItemId( ).length; i < len; i++ )
58         {
59             items.put( frm.getItemId( )[ i ], new Integer JavaDoc( frm.getQuantity( )[ i ] ) );
60         }
61
62         Integer JavaDoc orderUId = petstore.createOrder( userId, new Date JavaDoc( ), items );
63         frm.getOrder( ).setOrderUId( orderUId );
64
65         /* Invalidating the current cart */
66         Cart cart = getCart( false, request );
67
68         if ( cart != null )
69         {
70             request.getSession( ).removeAttribute( CART_KEY );
71             cart.remove( );
72         }
73
74         return mapping.findForward( SUCCESS );
75        }
76        catch (Exception JavaDoc e)
77        {
78           e.printStackTrace();
79           throw e;
80        }
81     }
82 }
83
Popular Tags