KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > springframework > samples > jpetstore > web > struts > OrderActionForm


1 package org.springframework.samples.jpetstore.web.struts;
2
3 import java.util.ArrayList JavaDoc;
4 import java.util.List JavaDoc;
5
6 import javax.servlet.http.HttpServletRequest JavaDoc;
7
8 import org.apache.struts.action.ActionMapping;
9
10 import org.springframework.samples.jpetstore.domain.Order;
11
12 public class OrderActionForm extends BaseActionForm {
13
14   /* Constants */
15
16   private static final List JavaDoc CARD_TYPE_LIST = new ArrayList JavaDoc();
17
18   /* Private Fields */
19
20   private Order order;
21   private boolean shippingAddressRequired;
22   private boolean confirmed;
23   private List JavaDoc cardTypeList;
24
25   /* Static Initializer */
26
27   static {
28     CARD_TYPE_LIST.add("Visa");
29     CARD_TYPE_LIST.add("MasterCard");
30     CARD_TYPE_LIST.add("American Express");
31   }
32
33   /* Constructors */
34
35   public OrderActionForm() {
36     this.order = new Order();
37     this.shippingAddressRequired = false;
38     this.cardTypeList = CARD_TYPE_LIST;
39     this.confirmed = false;
40   }
41
42   /* JavaBeans Properties */
43
44   public boolean isConfirmed() { return confirmed; }
45   public void setConfirmed(boolean confirmed) { this.confirmed = confirmed; }
46
47   public Order getOrder() { return order; }
48   public void setOrder(Order order) { this.order = order; }
49
50   public boolean isShippingAddressRequired() { return shippingAddressRequired; }
51   public void setShippingAddressRequired(boolean shippingAddressRequired) { this.shippingAddressRequired = shippingAddressRequired; }
52
53   public List JavaDoc getCreditCardTypes() { return cardTypeList; }
54
55   /* Public Methods */
56
57   public void doValidate(ActionMapping mapping, HttpServletRequest JavaDoc request, List JavaDoc errors) {
58
59     if (!this.isShippingAddressRequired()) {
60       addErrorIfStringEmpty(errors, "FAKE (!) credit card number required.", order.getCreditCard());
61       addErrorIfStringEmpty(errors, "Expiry date is required.", order.getExpiryDate());
62       addErrorIfStringEmpty(errors, "Card type is required.", order.getCardType());
63
64       addErrorIfStringEmpty(errors, "Shipping Info: first name is required.", order.getShipToFirstName());
65       addErrorIfStringEmpty(errors, "Shipping Info: last name is required.", order.getShipToLastName());
66       addErrorIfStringEmpty(errors, "Shipping Info: address is required.", order.getShipAddress1());
67       addErrorIfStringEmpty(errors, "Shipping Info: city is required.", order.getShipCity());
68       addErrorIfStringEmpty(errors, "Shipping Info: state is required.", order.getShipState());
69       addErrorIfStringEmpty(errors, "Shipping Info: zip/postal code is required.", order.getShipZip());
70       addErrorIfStringEmpty(errors, "Shipping Info: country is required.", order.getShipCountry());
71
72       addErrorIfStringEmpty(errors, "Billing Info: first name is required.", order.getBillToFirstName());
73       addErrorIfStringEmpty(errors, "Billing Info: last name is required.", order.getBillToLastName());
74       addErrorIfStringEmpty(errors, "Billing Info: address is required.", order.getBillAddress1());
75       addErrorIfStringEmpty(errors, "Billing Info: city is required.", order.getBillCity());
76       addErrorIfStringEmpty(errors, "Billing Info: state is required.", order.getBillState());
77       addErrorIfStringEmpty(errors, "Billing Info: zip/postal code is required.", order.getBillZip());
78       addErrorIfStringEmpty(errors, "Billing Info: country is required.", order.getBillCountry());
79     }
80
81     if (errors.size() > 0) {
82       order.setBillAddress1(order.getShipAddress1());
83       order.setBillAddress2(order.getShipAddress2());
84       order.setBillToFirstName(order.getShipToFirstName());
85       order.setBillToLastName(order.getShipToLastName());
86       order.setBillCity(order.getShipCity());
87       order.setBillCountry(order.getShipCountry());
88       order.setBillState(order.getShipState());
89       order.setBillZip(order.getShipZip());
90     }
91
92   }
93
94   public void reset(ActionMapping mapping, HttpServletRequest JavaDoc request) {
95     super.reset(mapping, request);
96     shippingAddressRequired = false;
97   }
98
99 }
100
Popular Tags