OrderActionForm.java
Upload User: jiancairen
Upload Date: 2007-08-27
Package Size: 26458k
Code Size: 4k
Category:

Java Develop

Development Platform:

Java

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