|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface CheckoutUtils
Interface for utility methods used by Struts Action classes related to the checkout process. Note that some Administrator functions involved in editing orders use these methods as well.
When the application needs to create an instance that implements
CheckoutUtils
, it calls
BusinessObjectFactory.createUtilsObject(java.lang.String)
,
which finds the name of the Java class to instantiate from the
"checkoutUtilsImplemeter" setting in the appComponents.properties
file.
The default "checkoutUtilsImplemeter" is
CheckoutUtilsImpl
.
Method Summary | |
---|---|
java.lang.String |
findCheckoutScreen(BaseForm baseForm)
Determines what checkout screen to direct the user to based on the status of the session and the store's database configuration. |
java.util.Collection |
loadShippingOptions(BaseForm baseForm)
Loads the active shipping options for display to the user. |
void |
prepareCheckoutAddressesForm(CheckoutAddressesForm baseForm)
Initializes an instance of CheckoutAddressesForm with
address and shipping option information. |
void |
prepareCheckoutShippingForm(BaseForm baseForm)
Initializes an instance of CheckoutAddressesForm with
address and shipping option information. |
void |
prepareLoginForm(BaseForm baseForm,
org.apache.struts.action.ActionServlet servlet)
Initializes an instance of LoginForm and populates it from
request parameters. |
void |
preparePaymentForm(org.apache.struts.action.ActionForm paymentForm,
BaseForm baseForm,
org.apache.struts.action.ActionServlet servlet)
Prepares a given payment form by populating its properties from the request's parameters. |
void |
preparePaymentForms(BaseForm baseForm,
org.apache.struts.action.ActionServlet servlet)
Creates payment form instances and populates them from the request parameters. |
void |
prepareRegisterForm(BaseForm baseForm,
org.apache.struts.action.ActionServlet servlet)
Initializes an instance of RegisterForm and populates it
from request parameters. |
org.apache.struts.action.ActionForward |
processCheckoutAddresses(BaseForm baseForm)
Processes submissions to record addresses in the current user's cart. |
org.apache.struts.action.ActionForward |
processCheckoutAddresses(BaseForm baseForm,
javax.servlet.http.HttpServletResponse response)
Processes submissions to record addresses in the current user's cart. |
org.apache.struts.action.ActionForward |
processCheckoutConfirm(BaseForm baseForm)
Processes a request to confirm an order. |
org.apache.struts.action.ActionForward |
processCheckoutLogin(BaseForm baseForm,
javax.servlet.http.HttpServletResponse response)
Processes a login request during the checkout process. |
org.apache.struts.action.ActionForward |
processCheckoutPayment(BaseForm baseForm,
org.apache.struts.action.ActionServlet servlet)
Processes submissions of payment information by the current user. |
org.apache.struts.action.ActionForward |
processCheckoutRegister(BaseForm baseForm)
Processes a request to register a new customer account during the checkout process. |
org.apache.struts.action.ActionForward |
processCheckoutShipping(BaseForm baseForm)
Processes submissions to record shipping options in the current user's cart. |
org.apache.struts.action.ActionForward |
processDeclineLogin(BaseForm baseForm)
Processes a request to continue the checkout process without logging in or creating an account. |
java.util.Map |
processInventoryDiscountCheck(BaseForm baseForm)
Performs a check on the inventory and processes discounting for the current user's cart. |
java.util.Map |
processOrderComplete(BaseForm baseForm)
Invoked when a order has just been completed. |
int |
processPayment(PaymentProcessor paymentProcessor,
org.apache.struts.action.ActionForm paymentForm,
BaseForm baseForm)
Processes payment information for a request with a given payment processor. |
java.util.Map |
processShipping(BaseForm baseForm)
Processes shipping charges for the current user's cart. |
java.util.Map |
processTax(BaseForm baseForm)
Processes tax charges for the current user's cart. |
boolean |
validateBillingFields(BaseForm baseForm)
Validates the required billing address fields in the user's cart. |
boolean |
validateDeliveryFields(BaseForm baseForm)
Validates the required delivery address fields in the user's cart. |
boolean |
validatePaymentForm(org.apache.struts.action.ActionForm paymentForm,
BaseForm baseForm)
Validates a given payment form for a given request. |
Method Detail |
---|
java.lang.String findCheckoutScreen(BaseForm baseForm) throws java.lang.Exception
The above screen names correspond to
ActionForwards defined in the
"/WEB-INF/conf/order/struts-config-order.xml" file.
baseForm
- The form class corresponding to the current request. Holds
various properties of the request to help action classes
communicate with the rest of the application.
java.lang.Exception
boolean validateBillingFields(BaseForm baseForm) throws java.lang.Exception
baseForm
- The form class corresponding to the current request. Holds
various properties of the request to help action classes
communicate with the rest of the application.
true
if all the required billing fields are
present in the user's cart. false
if not.
java.lang.Exception
boolean validateDeliveryFields(BaseForm baseForm) throws java.lang.Exception
baseForm
- The form class corresponding to the current request. Holds
various properties of the request to help action classes
communicate with the rest of the application.
true
if all the required billing fields are
present in the user's cart. false
if not.
java.lang.Exception
void prepareLoginForm(BaseForm baseForm, org.apache.struts.action.ActionServlet servlet) throws java.lang.Exception
LoginForm
and populates it from
request parameters. Used on the invite login screen and the force login
screen.
baseForm
- The form class corresponding to the current request. Holds
various properties of the request to help action classes
communicate with the rest of the application.
java.lang.Exception
void prepareRegisterForm(BaseForm baseForm, org.apache.struts.action.ActionServlet servlet) throws java.lang.Exception
RegisterForm
and populates it
from request parameters. Used on the checkout register screen.
baseForm
- The form class corresponding to the current request. Holds
various properties of the request to help action classes
communicate with the rest of the application.
java.lang.Exception
org.apache.struts.action.ActionForward processCheckoutLogin(BaseForm baseForm, javax.servlet.http.HttpServletResponse response) throws java.lang.Exception
The method runs
CustomerProcessor.processLogin(Map)
to process the login request.
baseForm
- The form class corresponding to the current request. Holds
various properties of the request to help action classes
communicate with the rest of the application.
ActionForward
corresponding to the results of
the processing. The ActionForward
will be named
"failureInvalidLogin" or "success".
java.lang.Exception
org.apache.struts.action.ActionForward processCheckoutRegister(BaseForm baseForm) throws java.lang.Exception
This method runs
CustomerProcessor.processRegister(Map)
to process the register request.
baseForm
- The form class corresponding to the current request. Holds
various properties of the request to help action classes
communicate with the rest of the application.
ActionForward
corresponding to the results of
the processing. The ActionForward
will be named
"failureUserName" if the user name is already taken, or
"success".
java.lang.Exception
org.apache.struts.action.ActionForward processDeclineLogin(BaseForm baseForm) throws java.lang.Exception
This method places an attribute in the user's session named "declinedLoginBeforeCheckout".
baseForm
- The form class corresponding to the current request. Holds
various properties of the request to help action classes
communicate with the rest of the application.
ActionForward
corresponding to the results of
the processing. Always returns the "success"
ActionForward
.
java.lang.Exception
java.util.Collection loadShippingOptions(BaseForm baseForm) throws java.lang.Exception
loadShippingOptions
method in each to get the available
options.
baseForm
- The form class corresponding to the current request. Holds
various properties of the request to help action classes
communicate with the rest of the application.
Collection
containing each of the shipping
option available for the user to select.
java.lang.Exception
ShippingProcessor.loadShippingOptions(Map)
void prepareCheckoutAddressesForm(CheckoutAddressesForm baseForm) throws java.lang.Exception
CheckoutAddressesForm
with
address and shipping option information. Used on the checkout addresses
screen. If the current user is a logged in customer, populates the form
with the account's address information.
baseForm
- The form class corresponding to the current request. Holds
various properties of the request to help action classes
communicate with the rest of the application.
java.lang.Exception
void prepareCheckoutShippingForm(BaseForm baseForm) throws java.lang.Exception
CheckoutAddressesForm
with
address and shipping option information. Used on the checkout addresses
screen. If the current user is a logged in customer, populates the form
with the account's address information.
baseForm
- The form class corresponding to the current request. Holds
various properties of the request to help action classes
communicate with the rest of the application.
java.lang.Exception
org.apache.struts.action.ActionForward processCheckoutAddresses(BaseForm baseForm) throws java.lang.Exception
Invokes
CartProcessor.processCheckoutAddresses(Map)
to process the submitted address information. Then invokes
processInventoryDiscountCheck(BaseForm)
to perform a check on
inventory and discounts for items in the cart.
baseForm
- The form class corresponding to the current request. Holds
various properties of the request to help action classes
communicate with the rest of the application.
ActionForward
corresponding to the results of
the processing. The ActionForward
will be named
"failureItemsAdjusted", "failureAllItemsRemoved", or "success".
java.lang.Exception
org.apache.struts.action.ActionForward processCheckoutAddresses(BaseForm baseForm, javax.servlet.http.HttpServletResponse response) throws java.lang.Exception
Invokes
CartProcessor.processCheckoutAddresses(Map)
to process the submitted address information. Then invokes
processInventoryDiscountCheck(BaseForm)
to perform a check on
inventory and discounts for items in the cart.
baseForm
- The form class corresponding to the current request. Holds
various properties of the request to help action classes
communicate with the rest of the application.response
- The HttpServletResponse object associated with the request. If
present and the "autoSavedCartToken" cookie is present, that
cookie will be removed so no personal information is
retrievable through the cookie.
ActionForward
corresponding to the results of
the processing. The ActionForward
will be named
"failureItemsAdjusted", "failureAllItemsRemoved", or "success".
java.lang.Exception
java.util.Map processInventoryDiscountCheck(BaseForm baseForm) throws java.lang.Exception
baseForm
- The form class corresponding to the current request. Holds
various properties of the request to help action classes
communicate with the rest of the application.
java.lang.Exception
org.apache.struts.action.ActionForward processCheckoutShipping(BaseForm baseForm) throws java.lang.Exception
Invokes processShipping(BaseForm)
to process shipping charges
and processTax(BaseForm)
to process tax charges.
baseForm
- The form class corresponding to the current request. Holds
various properties of the request to help action classes
communicate with the rest of the application.
ActionForward
corresponding to the results of
the processing. The ActionForward
will be named
"failureShippingProcess", "failureTaxProcess", "success",
"successNoPaymentRequired", or "successNoPaymentRequiredConfirm".
java.lang.Exception
java.util.Map processShipping(BaseForm baseForm) throws java.lang.Exception
Goes through the classes in the "activeShippingProcessors" database
setting and invokes the processShipping(Map)
method in
each to process the charges. The incoming baseForm
should
have a property named shippingOption
containing the
shipping option selected by the user.
baseForm
- The form class corresponding to the current request. Holds
various properties of the request to help action classes
communicate with the rest of the application.
java.lang.Exception
ShippingProcessor.processShipping(Map)
java.util.Map processTax(BaseForm baseForm) throws java.lang.Exception
Goes through the classes in the "activeTaxProcessors" database setting
and invokes the processTax(Map)
method in each to process
the charges.
baseForm
- The form class corresponding to the current request. Holds
various properties of the request to help action classes
communicate with the rest of the application.
java.lang.Exception
void preparePaymentForms(BaseForm baseForm, org.apache.struts.action.ActionServlet servlet) throws java.lang.Exception
baseForm
- The form class corresponding to the current request. Holds
various properties of the request to help action classes
communicate with the rest of the application.
java.lang.Exception
void preparePaymentForm(org.apache.struts.action.ActionForm paymentForm, BaseForm baseForm, org.apache.struts.action.ActionServlet servlet) throws java.lang.Exception
paymentForm
- The payment form being populated from the request.baseForm
- The form class corresponding to the current request. Holds
various properties of the request to help action classes
communicate with the rest of the application.
java.lang.Exception
org.apache.struts.action.ActionForward processCheckoutPayment(BaseForm baseForm, org.apache.struts.action.ActionServlet servlet) throws java.lang.Exception
Loops through each of the classes in the "activePaymentForms" and
"activePaymentProcessors" database settings to find the payment form that
was used to submit payment information, and its corresponding
PaymentProcessor
.
Uses the "paymentFormCount" request parameter to determine which form was
submitted.
Invokes validatePaymentForm(ActionForm, BaseForm)
to validate
the submission, and if valid,
processPayment(PaymentProcessor, ActionForm, BaseForm)
to
process it.
If a confirmation screen must be displayed, this method places the
payment form and the name of the payment processor in the customer's
session, so that the processCheckoutConfirm
method can
retrieve them.
baseForm
- The form class corresponding to the current request. Holds
various properties of the request to help action classes
communicate with the rest of the application.
ActionForward
corresponding to the results of
the processing. The ActionForward
will be named
"failureFormValidation", "failurePaymentProcess", "success", or
"successCheckoutConfirm".
java.lang.Exception
boolean validatePaymentForm(org.apache.struts.action.ActionForm paymentForm, BaseForm baseForm) throws java.lang.Exception
validate
method of the payment form, saving any validation
errors to the request.
paymentForm
- The payment form that was used by the user to submit payment
information.baseForm
- The form class corresponding to the current request. Holds
various properties of the request to help action classes
communicate with the rest of the application.
true
if the submission passes validation.
false
if not.
java.lang.Exception
int processPayment(PaymentProcessor paymentProcessor, org.apache.struts.action.ActionForm paymentForm, BaseForm baseForm) throws java.lang.Exception
This method runs the processPayment(Map)
method of the
incoming PaymentProcessor
, which returns a Map that
includes a key named resultCode. This method returns the int value of
that resultCode.
If the resultCode is not equal to zero, it indicates an error in the
processing of the payment. This method will look up an error message in
the "/WEB-INF/classes/resources/payment/application.properties" file
corresponding to the resultCode and the name of the payment processor.
For example, the error message for the message key
payment.errorPayflowProProcessor10000
will be placed in
the request, if the payment processor was PayflowProProcessor and the
resultCode was 10000. Additional error messages that follow the same
naming pattern can be placed in the
"/WEB-INF/classes/resources/payment/application.properties" file.
paymentProcessor
- The PaymentProcessor
corresponding to the
payment form used by the user to submit payment information.baseForm
- The form class corresponding to the current request. Holds
various properties of the request to help action classes
communicate with the rest of the application.
true
if the submission passes validation.
false
if not.
java.lang.Exception
org.apache.struts.action.ActionForward processCheckoutConfirm(BaseForm baseForm) throws java.lang.Exception
processOrderComplete
method is run.
baseForm
- The form class corresponding to the current request. Holds
various properties of the request to help action classes
communicate with the rest of the application.
java.lang.Exception
java.util.Map processOrderComplete(BaseForm baseForm) throws java.lang.Exception
User
object, as well as
the baseForm
object in the request scope, for use by the
JSP templates that display the invoice and send out the notification and
confirmation emails.
baseForm
- The form class corresponding to the current request. Holds
various properties of the request to help action classes
communicate with the rest of the application.
java.lang.Exception
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |