KickJava   Java API By Example, From Geeks To Geeks.

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


1 package org.apache.tapestry.pets.presentation.pages;
2
3 import java.util.Hashtable JavaDoc;
4
5 import johnmammen.betterpetshop.service.PetshopManager;
6
7 import org.apache.tapestry.IRequestCycle;
8 import org.apache.tapestry.event.PageEvent;
9 import org.apache.tapestry.event.PageRenderListener;
10 import org.apache.tapestry.pets.ProtectedPage;
11 import org.apache.tapestry.pets.Visit;
12
13 import org.apache.tapestry.pets.domain.model.ICustomer;
14 import org.apache.tapestry.valid.ValidationDelegate;
15
16
17 public abstract class OrderBillingPage extends ProtectedPage implements
18         PageRenderListener {
19     
20     //for getting the petshop service
21
public abstract PetshopManager getPetshopService();
22
23     public void pageBeginRender(PageEvent event) {
24         Visit visit = (Visit) getVisit();
25         //ICustomer customer = visit.getCustomer();
26

27         //Follow the MiddleWareCompany specification
28
//and retrive this information from the Database
29

30 // PetshopManager petManager = null;
31
// try {
32
// WebApplicationContext appcontext = WebApplicationContextUtils
33
// .getWebApplicationContext(getRequestCycle()
34
// .getRequestContext().getServlet().getServletContext());
35
// petManager = (PetshopManager) appcontext.getBean("petshopService");
36
// } catch (Exception e) {
37
//
38
// }
39

40         ICustomer customer = getPetshopService().accountInfo(visit.getCustomer()
41         .getUserid());
42
43         if (customer == null) {
44             visit.setCustomer(null);
45             event.getRequestCycle().activate("SignIn");
46         }
47
48         setGivenName(customer.getFirstname());
49         setFamilyName(customer.getLastname());
50         setAddress1(customer.getAddr1());
51         setAddress2(customer.getAddr2());
52         setCity(customer.getCity());
53         setStateOrProvince(customer.getState());
54         setCountry(customer.getCountry());
55         setPostalCode(customer.getZip());
56         setTelephoneNumber(customer.getPhone());
57
58         setShipBillAddr(true);
59         setCreditCardNumber("9999 9999 9999 9999");
60     }
61
62     public void directValidateBillInfo(IRequestCycle cycle) {
63         ValidationDelegate delegate = (ValidationDelegate) getBeans().getBean(
64                 "delegate");
65
66         // If no error message, move forward,
67
// otherwise, stay here and show the error message.
68
if (!delegate.getHasErrors()) {
69             Visit visit = (Visit) getVisit();
70
71             // get address holder
72
Hashtable JavaDoc adr = visit.getOrderInformation();
73
74             if (adr == null) {
75                 // don't have one yet, go ahead and create it
76
adr = new Hashtable JavaDoc();
77                 visit.setOrderInformation(adr);
78             }
79
80             // save credit card info
81
adr.put("CardType", getCreditCard());
82             adr.put("CardNumber", getCreditCardNumber());
83             adr.put("CardExpireMonth", getExpMonths());
84             adr.put("CardExpireYear", getExpYears());
85
86             // save billing address info
87
adr.put("Bill_FirstName", getGivenName());
88             adr.put("Bill_LastName", getFamilyName());
89             adr.put("Bill_Address1", getAddress1());
90             adr.put("Bill_Address2", getAddress2());
91             adr.put("Bill_City", getCity());
92             adr.put("Bill_State", getStateOrProvince());
93             adr.put("Bill_PostalCode", getPostalCode());
94             adr.put("Bill_Country", getCountry());
95             adr.put("Bill_PhoneNumber", getTelephoneNumber());
96
97             // save shipping info if selected to use same address
98
if (isShipBillAddr()) {
99                 adr.put("Ship_FirstName", getGivenName());
100                 adr.put("Ship_LastName", getFamilyName());
101                 adr.put("Ship_Address1", getAddress1());
102                 adr.put("Ship_Address2", getAddress2());
103                 adr.put("Ship_City", getCity());
104                 adr.put("Ship_State", getStateOrProvince());
105                 adr.put("Ship_PostalCode", getPostalCode());
106                 adr.put("Ship_Country", getCountry());
107                 adr.put("Ship_PhoneNumber", getTelephoneNumber());
108             }
109
110             // go to next page
111
cycle.activate(isShipBillAddr() ? "OrderAddressConfirm"
112                     : "OrderShipping");
113         }
114     }
115
116     public abstract String JavaDoc getGivenName();
117
118     public abstract String JavaDoc getAddress1();
119
120     public abstract String JavaDoc getAddress2();
121
122     public abstract String JavaDoc getCity();
123
124     public abstract String JavaDoc getFamilyName();
125
126     public abstract String JavaDoc getPostalCode();
127
128     public abstract String JavaDoc getStateOrProvince();
129
130     public abstract String JavaDoc getTelephoneNumber();
131
132     public abstract String JavaDoc getCountry();
133
134     public abstract void setAddress1(String JavaDoc address_1);
135
136     public abstract void setAddress2(String JavaDoc address_2);
137
138     public abstract void setCity(String JavaDoc city);
139
140     public abstract void setCountry(String JavaDoc country);
141
142     public abstract void setFamilyName(String JavaDoc familyName);
143
144     public abstract void setGivenName(String JavaDoc givenName);
145
146     public abstract void setPostalCode(String JavaDoc postalCode);
147
148     public abstract void setStateOrProvince(String JavaDoc stateOrProvince);
149
150     public abstract void setTelephoneNumber(String JavaDoc telephoneNumber);
151
152     public abstract String JavaDoc getCreditCard();
153
154     public abstract String JavaDoc getCreditCardNumber();
155
156     public abstract String JavaDoc getExpMonths();
157
158     public abstract String JavaDoc getExpYears();
159
160     public abstract boolean isShipBillAddr();
161
162     public abstract void setCreditCard(String JavaDoc cCard);
163
164     public abstract void setCreditCardNumber(String JavaDoc ccardNumber);
165
166     public abstract void setExpMonths(String JavaDoc expMonth);
167
168     public abstract void setExpYears(String JavaDoc expYear);
169
170     public abstract void setShipBillAddr(boolean shipBillAddr);
171
172 }
Popular Tags