KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > tapestry > pets > presentation > pages > CheckOutPage


1 package org.apache.tapestry.pets.presentation.pages;
2
3 import java.math.BigDecimal JavaDoc;
4 import java.text.NumberFormat JavaDoc;
5 import java.util.Iterator JavaDoc;
6
7 import org.apache.tapestry.IRequestCycle;
8 import org.apache.tapestry.event.PageEvent;
9 import org.apache.tapestry.pets.ProtectedPage;
10 import org.apache.tapestry.pets.Visit;
11 import org.apache.tapestry.pets.domain.model.IBasketItem;
12 import org.apache.tapestry.pets.domain.model.IShoppingCart;
13 import org.apache.tapestry.pets.domain.model.pojo.BasketItem;
14 import org.apache.tapestry.pets.domain.model.pojo.ShoppingCart;
15
16 public abstract class CheckOutPage extends ProtectedPage
17 {
18     public void pageBeginRender(PageEvent event)
19     {
20         if (getCurrencyFormat() == null)
21             setCurrencyFormat(NumberFormat.getCurrencyInstance(getEngine().getLocale()));
22     }
23
24     public IBasketItem[] getCartList()
25     {
26         Visit visit = (Visit) getVisit();
27
28         if ((visit == null) || (visit.getUserCart() == null))
29         {
30             visit.setUserCart(new ShoppingCart());
31         }
32
33         IShoppingCart cart = visit.getUserCart();
34         IBasketItem[] bitems = new BasketItem[cart.getCount()];
35
36         int i = 0;
37
38         for (Iterator JavaDoc it = cart.getItems().iterator(); it.hasNext();)
39         {
40             IBasketItem bitem = (IBasketItem) it.next();
41             bitems[i] = bitem;
42             i++;
43         }
44
45         return bitems;
46     }
47
48     public boolean isEmptyCart()
49     {
50         IShoppingCart cart = super.getSessionCart();
51
52         if ((cart == null) || (cart.getCount() == 0))
53             return true;
54         else
55             return false;
56     }
57
58     public void directShowItemDetails(IRequestCycle cycle)
59     {
60         Object JavaDoc[] parameters = cycle.getServiceParameters();
61         ProductDetailsPage prodDetails = (ProductDetailsPage) cycle.getPage("ProductDetails");
62         prodDetails.setItemID(((String JavaDoc) parameters[0]));
63         cycle.activate(prodDetails);
64     }
65
66     public void directContinue(IRequestCycle cycle)
67     {
68         cycle.activate("OrderBilling");
69     }
70
71     public BigDecimal JavaDoc getSubTotal()
72     {
73         return (getCurrentItem().getPrice().multiply(BigDecimal.valueOf(getCurrentItem().getQty())));
74     }
75
76     public double getTotalPrice()
77     {
78         return getSessionCart().getTotal();
79     }
80
81     public abstract boolean isCkout();
82
83     public abstract NumberFormat JavaDoc getCurrencyFormat();
84
85     public abstract IBasketItem getCurrentItem();
86
87     public abstract void setCkout(boolean b);
88
89     public abstract void setCurrencyFormat(NumberFormat JavaDoc format);
90
91     public abstract void setCurrentItem(IBasketItem item);
92
93 }
94
Popular Tags