com.softslate.commerce.customer.core
Interface ActionUtils

All Known Implementing Classes:
ActionUtilsImpl

public interface ActionUtils

Interface for utility methods used by Struts Action classes.

When the application needs to create an instance that implements ActionUtils, it calls BusinessObjectFactory.createUtilsObject(java.lang.String) , which finds the name of the Java class to instantiate from the "actionUtilsImplemeter" setting in the appComponents.properties file.

The default "actionUtilsImplemeter" is ActionUtilsImpl.

Author:
David Tobey

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.lang.String makeFilenameNice(java.lang.String originalFileName)
          Eliminates non-standard characters from a file name so it can be safely saved across various file systems.
 boolean onAdministratorPreRequestEnd(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Runs at the beggining of each request to the administrator interface, after system objects have been initialized.
 boolean onCustomerPreRequestEnd(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Runs at the beggining of each request to the customer interface, after system objects have been initialized.
 boolean onPreRequestEnd(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Runs at the beggining of each request, after system objects have been initialized.
 java.lang.String parseGenericTemplate(BaseForm baseForm, java.lang.String template)
          Parses a string template with variables contained in a given BaseForm.
 java.lang.String parseLostPasswordTemplate(Customer customer, BaseForm baseForm, java.lang.String template)
          Parses a string template with variables contained in a given BaseForm and Customer.
 java.lang.String parseLowStockTemplate(BaseForm baseForm, java.util.Map lowStockEmail, java.lang.String template)
          Parses a string template with variables contained in a given BaseForm and a Map holding information about a SKU.
 boolean saveFile(java.lang.String filename, java.io.InputStream file)
          Saves an input stream as a file at a given location.
 void sendMultipartEmail(java.lang.String toEmails, java.lang.String ccEmails, java.lang.String bccEmails, java.lang.String fromEmail, java.lang.String smtpServer, java.lang.String subject, java.lang.String textMessage, java.lang.String htmlMessage, java.lang.String username, java.lang.String password)
          Sends a multipart text and HTML email from the store.
 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.
 

Method Detail

parseGenericTemplate

java.lang.String parseGenericTemplate(BaseForm baseForm,
                                      java.lang.String template)
Parses a string template with variables contained in a given BaseForm. Used to parse email templates for dynamically generated emails the store generates.

The string template may have a number of placeholders deliniated by "%%". (E.g. "%%STORE_NAME%%"). This method replaces the placeholders with values from the BaseForm, be they settings from the database such as the store's name, or values from the current user's order.

Note that with the release of 2.0, order invoice emails are now generated from JSP templates in the /WEB-INF/layouts/default/order directory, rather than by using this method.

Parameters:
baseForm - Contains variables that will be used to replace the template's placeholders.
template - A String containing placeholders that this method will replace.
Returns:
The parsed template.

parseLostPasswordTemplate

java.lang.String parseLostPasswordTemplate(Customer customer,
                                           BaseForm baseForm,
                                           java.lang.String template)
Parses a string template with variables contained in a given BaseForm and Customer. Used to parse the lost password email template.

The string template may have a number of placeholders deliniated by "%%". (E.g. "%%USERNAME%%"). This method replaces the placeholders with values from the BaseForm and Customer, be they settings from the database such as the store's name, or the current customer's user name and password.

Parameters:
customer - The current Customer whose lost password is being emailed.
baseForm - Contains variables that will be used to replace the template's placeholders.
template - The template for the lost password email, which is being parsed.
Returns:
The parsed template.

parseLowStockTemplate

java.lang.String parseLowStockTemplate(BaseForm baseForm,
                                       java.util.Map lowStockEmail,
                                       java.lang.String template)
Parses a string template with variables contained in a given BaseForm and a Map holding information about a SKU. Used to parse the low stock email template.

Parameters:
baseForm - Contains variables that will be used to replace the template's placeholders.
lowStockEmail - A Map containing information about a SKU that has hit its low stock level.
template - The template for the low stock email, which is being parsed.
Returns:
The parsed template.

sendMultipartEmail

void sendMultipartEmail(java.lang.String toEmails,
                        java.lang.String ccEmails,
                        java.lang.String bccEmails,
                        java.lang.String fromEmail,
                        java.lang.String smtpServer,
                        java.lang.String subject,
                        java.lang.String textMessage,
                        java.lang.String htmlMessage,
                        java.lang.String username,
                        java.lang.String password)
                        throws java.lang.Exception
Sends a multipart text and HTML email from the store. Used for sending order notifications, invoices, lost password emails, and low stock emails.

Parameters:
toEmails - A comma-separated list of email addresses the email is being sent to.
ccEmails - A comma-separated list of email addresses the email is being copied to.
bccEmails - A comma-separated list of email addresses the email is being blind copied to.
fromEmail - The email address used as the email's from address.
smtpServer - The SMTP server to be used to send the email.
subject - The subject used for the email.
textMessage - The message for the text part of the email.
htmlMessage - The message for the HTML part of the email.
username - Username for SMTP authentication, or null if no authentication is required.
password - Password for SMTP authentication, or null if no authentication is required.
Throws:
java.lang.Exception

findCheckoutScreen

java.lang.String findCheckoutScreen(BaseForm baseForm)
                                    throws java.lang.Exception
Determines what checkout screen to direct the user to based on the status of the session and the store's database configuration. The possible screen names returned are:

The above screen names correspond to ActionForwards defined in the "/WEB-INF/conf/order/struts-config-order.xml" file.

Parameters:
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.
Returns:
A string identifying the name of the checkout screen to direct the user to.
Throws:
java.lang.Exception

validateBillingFields

boolean validateBillingFields(BaseForm baseForm)
                              throws java.lang.Exception
Validates the required billing address fields in the user's cart. Loops through the "billingRequired" database setting to check which fields are required.

Parameters:
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.
Returns:
true if all the required billing fields are present in the user's cart. false if not.
Throws:
java.lang.Exception

validateDeliveryFields

boolean validateDeliveryFields(BaseForm baseForm)
                               throws java.lang.Exception
Validates the required delivery address fields in the user's cart. Loops through the "deliveryRequired" database setting to check which fields are required.

Parameters:
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.
Returns:
true if all the required billing fields are present in the user's cart. false if not.
Throws:
java.lang.Exception

makeFilenameNice

java.lang.String makeFilenameNice(java.lang.String originalFileName)
                                  throws java.lang.Exception
Eliminates non-standard characters from a file name so it can be safely saved across various file systems.

Parameters:
originalFileName -
Returns:
A modified version of the file name with non-standard characters eliminated
Throws:
java.lang.Exception

saveFile

boolean saveFile(java.lang.String filename,
                 java.io.InputStream file)
                 throws java.lang.Exception
Saves an input stream as a file at a given location.

Parameters:
filename -
file -
Returns:
true, if saving the file succeeded
Throws:
java.lang.Exception

onPreRequestEnd

boolean onPreRequestEnd(javax.servlet.http.HttpServletRequest request,
                        javax.servlet.http.HttpServletResponse response)
Runs at the beggining of each request, after system objects have been initialized. Called from the BaseRequestProcessor.

Parameters:
request -
response -
Returns:
true, if the request should proceed
Throws:
java.lang.Exception

onCustomerPreRequestEnd

boolean onCustomerPreRequestEnd(javax.servlet.http.HttpServletRequest request,
                                javax.servlet.http.HttpServletResponse response)
Runs at the beggining of each request to the customer interface, after system objects have been initialized. Called from the CustomerRequestProcessor.

Parameters:
request -
response -
Returns:
true, if the request should proceed
Throws:
java.lang.Exception

onAdministratorPreRequestEnd

boolean onAdministratorPreRequestEnd(javax.servlet.http.HttpServletRequest request,
                                     javax.servlet.http.HttpServletResponse response)
Runs at the beggining of each request to the administrator interface, after system objects have been initialized. Called from the CustomerRequestProcessor.

Parameters:
request -
response -
Returns:
true, if the request should proceed
Throws:
java.lang.Exception


Copyright ? SoftSlate, LLC 2003?2005