1 package org.apache.tapestry.pets.presentation.pages; 2 3 import java.math.BigDecimal ; 4 import java.text.NumberFormat ; 5 import java.util.Iterator ; 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 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 [] parameters = cycle.getServiceParameters(); 61 ProductDetailsPage prodDetails = (ProductDetailsPage) cycle.getPage("ProductDetails"); 62 prodDetails.setItemID(((String ) parameters[0])); 63 cycle.activate(prodDetails); 64 } 65 66 public void directContinue(IRequestCycle cycle) 67 { 68 cycle.activate("OrderBilling"); 69 } 70 71 public BigDecimal 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 getCurrencyFormat(); 84 85 public abstract IBasketItem getCurrentItem(); 86 87 public abstract void setCkout(boolean b); 88 89 public abstract void setCurrencyFormat(NumberFormat format); 90 91 public abstract void setCurrentItem(IBasketItem item); 92 93 } 94 | Popular Tags |