atg.commerce.order
Class SoftGoodFormHandler

java.lang.Object
  extended by atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
      extended by atg.nucleus.GenericService
          extended by atg.droplet.EmptyFormHandler
              extended by atg.droplet.GenericFormHandler
                  extended by atg.commerce.order.OrderModifierFormHandler
                      extended by atg.commerce.order.ShoppingCartFormHandler
                          extended by atg.commerce.order.FullShoppingCartFormHandler
                              extended by atg.commerce.order.SoftGoodFormHandler
All Implemented Interfaces:
atg.commerce.util.PipelineErrorHandler, DropletFormHandler, NameContextBindingListener, NameContextElement, NameResolver, AdminableService, ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, atg.nucleus.logging.VariableArgumentApplicationLogging, ComponentNameResolver, Service, ServiceListener, java.util.EventListener
Direct Known Subclasses:
B2BShoppingCartFormHandler

public class SoftGoodFormHandler
extends FullShoppingCartFormHandler

This class layers additional functionality on top of the FullShoppingCartFormHandler by allowing another type of good to be added to the shopping cart, soft goods. The FullShoppingCartFormHandler allows users to add goods to their cart that will be added to a hardgood shipping group. This class adds items to the current order and additionally associates these items with an atg.commerce.order.ElectronicShippingGroup object.

Extra information needs to be gathered for an ElectronicShippingGroup since it will be delivered in a different manner than hard goods. i.e. something will be emailed to the user instead of using traditional mail.


Field Summary
static java.lang.String CLASS_VERSION
           
protected static java.lang.String MSG_NO_EMAIL_ADDR
           
protected static java.lang.String MSG_UNABLE_TO_CREATE_SG
           
protected static java.lang.String MSG_UNABLE_TO_INIT_SG
           
protected static java.lang.String NO_SG_TO_INIT
           
 
Fields inherited from class atg.commerce.order.FullShoppingCartFormHandler
BILLING_ADDR_PROP_NAME, CONTACT_INFO_ITEM_NAME, CREDIT_CARD_PROPERTIES, DEFAULT_CREDIT_CARD, ERROR_MISSING_BILLING_ADDRESS, ERROR_MISSING_CREDIT_CARD, GIFT_CERTIFICATE_PROPERTIES, MSG_ADDRESS_ALREADY_EXISTS, MSG_ERROR_ADDING_ADDRESS, MSG_ERROR_MOVING_ITEM_TO_NEW_ADDRESS, MSG_ERROR_UNABLE_TO_ADD_CC, MSG_NO_CREDIT_CARD_NUMBER, MSG_NO_NEW_ADDRESS_ENTERED, MSG_NO_NICKNAME, MSG_UNABLE_TO_COPY_CREDIT_CARD, NEW, NO_CREDIT_CARD, REDUNDANT_CREDIT_CARD, SECONDARY_ADDRESS_PROPERTY_NAME, UNEQUAL_GC_SIZE, UNSUPPORTED_PAYMENTGROUP
 
Fields inherited from class atg.commerce.order.ShoppingCartFormHandler
CC_PAYMENT_GROUP_TYPE_NAME, GC_PAYMENT_GROUP_TYPE_NAME, MSG_DUPLICATE_ORDER_DESCRIPTION, MSG_ERROR_ADDING_ITEM, MSG_ERROR_EDIT_ITEM, MSG_ERROR_MOVE_TO_CONFIRMATION, MSG_ERROR_MOVE_TO_ORDER_COMMIT, MSG_ERROR_MOVE_TO_PAYMENT, MSG_ERROR_MOVE_TO_PURCHASE_INFO, MSG_ERROR_REMOVING_ITEM, MSG_ERROR_REPRICE_ORDER, MSG_ERROR_UPDATE_ORDER, MSG_INVALID_QUANTITY, MSG_ORDER_ALREADY_SUBMITTED, MSG_UNABLE_TO_COPY_ADDRESS, MSG_UNSUPPORTED_RELATIONSHIP, NO_GIFTCERTIFICATE_FOUND
 
Fields inherited from class atg.commerce.order.OrderModifierFormHandler
ERROR_MISSING_LOCK_MANAGER, ERROR_MISSING_LOCK_PROFILE, ERROR_MISSING_TRANSACTION_MANAGER, MSG_CONCURRENT_UPDATE_ATTEMPT, MSG_ERROR_ADDING_TO_ORDER, MSG_ERROR_REMOVING_FROM_ORDER, MSG_ERROR_REMOVING_RROM_ORDER, MSG_NO_ITEM_FOUND, MSG_NO_ITEMS_TO_ADD, MSG_NO_ORDER_TO_MODIFY, MSG_NO_SKU_WITH_ID, MSG_QUANTITY_LESSTHAN_OR_EQUALTO_ZERO, PARAM_TRANSACTION_CREATED, PARAM_VALUE_TRUE
 
Fields inherited from class atg.droplet.GenericFormHandler
PARAM_DEFER_FORWARD_OR_REDIRECT, PARAM_USE_FORWARDS
 
Fields inherited from class atg.nucleus.GenericService
SERVICE_INFO_KEY
 
Fields inherited from interface atg.nucleus.logging.TraceApplicationLogging
DEFAULT_LOG_TRACE_STATUS
 
Fields inherited from interface atg.nucleus.logging.ApplicationLogging
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
 
Constructor Summary
SoftGoodFormHandler()
          Empty Constructor
 
Method Summary
protected  void addSoftGoodToOrder(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          To add a soft good to the users order, the OrderManager first needs to create a shipping group named by the softGoodShippingGroupName property.
 java.lang.String getAddSoftGoodToOrderErrorURL()
          Return the addSoftGoodToOrderErrorURL property.
 java.lang.String getAddSoftGoodToOrderSuccessURL()
          Return the addSoftGoodToOrderSuccessURL property.
 java.lang.String getSoftGoodRecipientEmailAddress()
          Return the SoftGoodRecipientEmailAddress property.
 java.lang.String getSoftGoodShippingGroupName()
          Return the softGoodShippingGroupName property.
 boolean handleAddSoftGoodToOrder(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          Does all processing needed to add a soft good to a users order.
protected  boolean initializeElectronicShippingGroup(ShippingGroup pShippingGroup, DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          This method will initialize an electronic shipping group.
protected  boolean initializeShippingGroup(ShippingGroup pShippingGroup, DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          This method initializes the shipping group that was created by the OrderManager for us.
 void postAddSoftGoodToOrder(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          Empty method that can be overriden to provide additional functionality if desired.
 void preAddSoftGoodToOrder(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          Empty method that can be overriden to provide additional functionality if desired.
 void setAddSoftGoodToOrderErrorURL(java.lang.String pAddSoftGoodToOrderErrorURL)
          Set the addSoftGoodToOrderErrorURL property.
 void setAddSoftGoodToOrderSuccessURL(java.lang.String pAddSoftGoodToOrderSuccessURL)
          Set the addSoftGoodToOrderSuccessURL property.
 void setConfiguration(ShoppingCartModifierConfiguration pConfiguration)
          Sets property Configuration, and in the process configures the following properties: SoftGoodShippingGroupName Plus the properties in the super-class.
 void setSoftGoodRecipientEmailAddress(java.lang.String pSoftGoodRecipientEmailAddress)
          Set the SoftGoodRecipientEmailAddress property.
 void setSoftGoodShippingGroupName(java.lang.String pSoftGoodShippingGroupName)
          Set the softGoodShippingGroupName property.
 
Methods inherited from class atg.commerce.order.FullShoppingCartFormHandler
addNewShippingAddress, copyAddressesToProfile, copyCreditCard, copyCreditCard, copyCreditCardToPaymentGroup, copyCreditCardToProfile, copyExistingAddress, copyProfileAddressToShippingGroupAddress, copyShallowCreditCardProperties, createGiftCertificatePaymentGroups, getAddGiftItemToOrderErrorURL, getAddGiftItemToOrderSuccessURL, getAddressesToCopy, getClaimableManager, getClaimableTools, getCommerceProfileTools, getCreateAddressErrorURL, getCreateAddressSuccessURL, getCreditCardProperties, getExpressCheckoutErrorURL, getExpressCheckoutSuccessURL, getGiftCertificateProperties, getMoveToNewShippingAddressErrorURL, getMoveToNewShippingAddressSuccessURL, getNewShippingAddressName, getOriginalShippingAddressName, getProfileAddressNames, getPropertyManager, getQuantityToMove, getSelectedCreditCardName, getShipToAddressName, getShipToDoneErrorURL, getShipToDoneSuccessURL, getShipToMultipleDoneErrorURL, getShipToMultipleDoneSuccessURL, getShipToMultipleErrorURL, getShipToMultipleSuccessURL, getValidateShippingGroupsChainId, handleAddGiftItemToOrder, handleCreateAddress, handleExpressCheckout, handleMoveToNewShippingAddress, handleShipToDone, handleShipToMultiple, handleShipToMultipleDone, isCreditCardEmpty, isGiftCertificateEmpty, isNewCreditCards, isNewGiftCertificates, isOrderRelationshipExists, isPaymentGroupEmpty, isSingletonRelationship, mergePaymentGroupsToOrder, moveCommerceItemsToNewShippingGroup, postAddGiftItemToOrder, postCreateAddress, postExpressCheckout, postMoveToConfirmation, postMoveToNewShippingAddress, postShipToDone, postShipToMultiple, postShipToMultipleDone, preAddGiftItemToOrder, preCreateAddress, preExpressCheckout, preMoveToConfirmation, preMoveToNewShippingAddress, preShipToDone, preShipToMultiple, preShipToMultipleDone, removeAddedNickNameEntries, removeCreditCardPaymentGroupsFromOrder, removePaymentGroupsFromOrder, runProcessValidateShippingGroups, setAddGiftItemToOrderErrorURL, setAddGiftItemToOrderSuccessURL, setAddressesToCopy, setClaimableManager, setClaimableTools, setCommerceProfileTools, setCreateAddressErrorURL, setCreateAddressSuccessURL, setCreditCardProperties, setExpressCheckoutErrorURL, setExpressCheckoutSuccessURL, setGiftCertificateProperties, setMoveToNewShippingAddressErrorURL, setMoveToNewShippingAddressSuccessURL, setNewShippingAddressName, setOriginalShippingAddressName, setPaymentMethodsInOrder, setPropertyManager, setQuantityToMove, setSelectedCreditCardName, setShipToAddressName, setShipToDoneErrorURL, setShipToDoneSuccessURL, setShipToMultipleDoneErrorURL, setShipToMultipleDoneSuccessURL, setShipToMultipleErrorURL, setShipToMultipleSuccessURL, setValidateShippingGroupsChainId, updateShippingAddress
 
Methods inherited from class atg.commerce.order.ShoppingCartFormHandler
addConfigurableItemToOrder, addItemToOrder, addMoreParams, checkDuplicateDescription, checkFormRedirect, copyBillingAddrToShippingAddr, deleteItems, deleteItemsByRelationshipId, doStartService, getAddItemToOrderChainId, getAddItemToOrderErrorURL, getAddItemToOrderPricingOp, getAddItemToOrderSuccessURL, getCatalogKey, getCommerceItemIdToEdit, getCommerceItemToEdit, getConfigurableItemTypeName, getConfiguration, getCopyBillingAddrToShippingAddr, getCreditCardPaymentGroups, getCreditCardPaymentTypeName, getDeletedSkus, getDeleteItemsFromOrderPricingOp, getDescription, getEditItem, getEditItemErrorURL, getEditItemSuccessURL, getGiftCertificateNumbers, getGiftCertificatePaymentGroups, getGiftCertificatePaymentTypeName, getGiftlistId, getGiftlistItemId, getGiftlistManager, getItemAddedToOrderEventType, getItemRemovedFromOrderEventType, getLastOrder, getModifyOrderPricingOp, getMoveToConfirmationChainId, getMoveToConfirmationErrorURL, getMoveToConfirmationSuccessURL, getMoveToOrderCommitErrorURL, getMoveToOrderCommitSuccessURL, getMoveToPurchaseInfoByRelIdErrorURL, getMoveToPurchaseInfoByRelIdSuccessURL, getMoveToPurchaseInfoChainId, getMoveToPurchaseInfoErrorURL, getMoveToPurchaseInfoSuccessURL, getOrder, getOrderId, getOrderSavedEventType, getPaymentGroup, getRemovalCatalogRefIds, getRemovalCommerceIds, getRemovalRelationshipIds, getRemoveAndAddItemToOrderErrorURL, getRemoveAndAddItemToOrderSuccessURL, getRemoveItemFromOrderByRelationshipIdErrorURL, getRemoveItemFromOrderByRelationshipIdSuccessURL, getRemoveItemFromOrderErrorURL, getRemoveItemFromOrderSuccessURL, getRepriceOrder, getRepriceOrderChainId, getRepriceOrderErrorURL, getRepriceOrderSuccessURL, getSaveOrderErrorURL, getSaveOrderSuccessURL, getSessionExpirationURL, getSetOrderByRelationshipIdErrorURL, getSetOrderByRelationshipIdSuccessURL, getSetOrderChainId, getSetOrderErrorURL, getSetOrderSuccessURL, getShippingGroup, getShippingGroupCommerceItemRelationships, getShoppingCart, getUserPricingModels, handleAddConfigurableItemToOrder, handleAddItemToOrder, handleCheckForExpiredSession, handleEditItem, handleMoveToConfirmation, handleMoveToOrderCommit, handleMoveToPurchaseInfo, handleMoveToPurchaseInfoByRelId, handleRemoveAndAddItemToOrder, handleRemoveItemFromOrder, handleRemoveItemFromOrderByRelationshipId, handleRepriceOrder, handleSaveOrder, handleSetOrder, handleSetOrderByRelationshipId, haveId, isCheckForChangedQuantity, isFormSubmission, isFormSubmition, modifyOrder, modifyOrderByRelationshipId, postAddItemToOrder, postEditItem, postMoveToOrderCommit, postMoveToPurchaseInfo, postRemoveAndAddItemToOrder, postRemoveItemFromOrder, postRemoveItemFromOrderByRelationshipId, postRepriceOrder, postSaveOrder, postSetOrder, postSetOrderByRelationshipId, preAddItemToOrder, preEditItem, preMoveToOrderCommit, preMoveToPurchaseInfo, preRemoveAndAddItemToOrder, preRemoveItemFromOrder, preRemoveItemFromOrderByRelationshipId, preRepriceOrder, preSaveOrder, preSetOrder, preSetOrderByRelationshipId, runProcessAddItemToOrder, runProcessAddItemToOrder, runProcessMoveToConfirmation, runProcessMoveToPurchaseInfo, runProcessRepriceOrder, runProcessRepriceOrder, runProcessSendScenarioEvent, runProcessSendScenarioEvent, runProcessSetOrder, runRepricingProcess, saveOrder, setAddItemToOrderChainId, setAddItemToOrderErrorURL, setAddItemToOrderPricingOp, setAddItemToOrderSuccessURL, setCheckForChangedQuantity, setCommerceItemIdToEdit, setCommerceItemProperties, setConfigurableItemTypeName, setCopyBillingAddrToShippingAddr, setCreditCardPaymentGroups, setCreditCardPaymentTypeName, setDeletedSkus, setDeleteItemsFromOrderPricingOp, setDescription, setEditItem, setEditItemErrorURL, setEditItemSuccessURL, setGiftCertificateNumbers, setGiftCertificatePaymentGroups, setGiftCertificatePaymentTypeName, setGiftlistId, setGiftlistItemId, setGiftlistManager, setItemAddedToOrderEventType, setItemRemovedFromOrderEventType, setModifyOrderPricingOp, setMoveToConfirmationChainId, setMoveToConfirmationErrorURL, setMoveToConfirmationSuccessURL, setMoveToOrderCommitErrorURL, setMoveToOrderCommitSuccessURL, setMoveToPurchaseInfoByRelIdErrorURL, setMoveToPurchaseInfoByRelIdSuccessURL, setMoveToPurchaseInfoChainId, setMoveToPurchaseInfoErrorURL, setMoveToPurchaseInfoSuccessURL, setOrderId, setOrderSavedEventType, setPaymentGroup, setRemovalCatalogRefIds, setRemovalCommerceIds, setRemovalRelationshipIds, setRemoveAndAddItemToOrderErrorURL, setRemoveAndAddItemToOrderSuccessURL, setRemoveItemFromOrderByRelationshipIdErrorURL, setRemoveItemFromOrderByRelationshipIdSuccessURL, setRemoveItemFromOrderErrorURL, setRemoveItemFromOrderSuccessURL, setRepriceOrder, setRepriceOrderChainId, setRepriceOrderErrorURL, setRepriceOrderSuccessURL, setSaveOrderErrorURL, setSaveOrderSuccessURL, setSessionExpirationURL, setSetOrderByRelationshipIdErrorURL, setSetOrderByRelationshipIdSuccessURL, setSetOrderChainId, setSetOrderErrorURL, setSetOrderSuccessURL, setShippingGroup, setShoppingCart, setUserPricingModels
 
Methods inherited from class atg.commerce.order.OrderModifierFormHandler
acquireTransactionLock, addNewItemToOrder, afterSet, beforeSet, commitTransaction, createCommerceItem, defaultLocalLockManager, defaultUserProfile, ensureTransaction, findCommerceItem, formatUserMessage, formatUserMessage, formatUserMessage, formatUserMessage, generatePropertyPath, getAddress, getCatalogRefIds, getCatalogTools, getCreditCard, getCurrentTransaction, getDefaultLocale, getGeneralFailureURL, getGeneralSuccessURL, getGiftCertificate, getHardgoodShippingGroup, getLocalLockManager, getOrderManager, getPipelineManager, getProductId, getProfile, getQuantity, getQuantity, getResourceBundle, getResourceBundleName, getTransactionLockFactory, getTransactionManager, getUserLocale, handlePipelineError, isEnsureTransaction, isStringEmpty, isTransactionCreated, isTransactionMarkedAsRollBack, isUseLocksAroundTransactions, isUseRequestLocale, processException, processPipelineErrors, releaseTransactionLock, removeItemFromOrder, runProcess, runProcess, runProcess, setAddress, setCatalogRefIds, setCatalogTools, setCreditCard, setCurrentTransaction, setDefaultLocale, setEnsureTransaction, setGeneralFailureURL, setGeneralSuccessURL, setGiftCertificate, setHardgoodShippingGroup, setLocalLockManager, setOrder, setOrderManager, setPipelineManager, setProductId, setProfile, setQuantity, setTransactionCreated, setTransactionLockFactory, setTransactionManager, setTransactionToRollbackOnly, setUseLocksAroundTransactions, setUseRequestLocale, transactionLockName, unsetTransactionCreated
 
Methods inherited from class atg.droplet.GenericFormHandler
addFormException, addUncheckedFormException, createFormSubmissionMessage, getCancelURL, getCheckForValidSession, getFormError, getFormExceptions, getFormName, getMessagePort, getMessageSource, getMessageType, getPropertyExceptions, getSendMessages, getUncheckedFormExceptions, handleCancel, handleFormException, handleUncheckedFormException, hasUncheckedFormExceptions, isDeferForwardsAndRedirects, isRestorableForm, isUseForwards, isValidSession, redirectOrForward, resetFormExceptions, setCancelURL, setCheckForValidSession, setDeferForwardsAndRedirects, setFormName, setMessagePort, setMessageSource, setMessageType, setRestorableForm, setSendMessages, setUseForwards
 
Methods inherited from class atg.droplet.EmptyFormHandler
afterGet, beforeGet
 
Methods inherited from class atg.nucleus.GenericService
addLogListener, createAdminServlet, doStopService, getAbsoluteName, getAdminServlet, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
 
Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLASS_VERSION

public static java.lang.String CLASS_VERSION

MSG_UNABLE_TO_CREATE_SG

protected static final java.lang.String MSG_UNABLE_TO_CREATE_SG
See Also:
Constant Field Values

NO_SG_TO_INIT

protected static final java.lang.String NO_SG_TO_INIT
See Also:
Constant Field Values

MSG_UNABLE_TO_INIT_SG

protected static final java.lang.String MSG_UNABLE_TO_INIT_SG
See Also:
Constant Field Values

MSG_NO_EMAIL_ADDR

protected static final java.lang.String MSG_NO_EMAIL_ADDR
See Also:
Constant Field Values
Constructor Detail

SoftGoodFormHandler

public SoftGoodFormHandler()
Empty Constructor

Method Detail

setConfiguration

public void setConfiguration(ShoppingCartModifierConfiguration pConfiguration)
Sets property Configuration, and in the process configures the following properties: Plus the properties in the super-class.

Overrides:
setConfiguration in class FullShoppingCartFormHandler

setSoftGoodShippingGroupName

public void setSoftGoodShippingGroupName(java.lang.String pSoftGoodShippingGroupName)
Set the softGoodShippingGroupName property.


getSoftGoodShippingGroupName

public java.lang.String getSoftGoodShippingGroupName()
Return the softGoodShippingGroupName property.


setAddSoftGoodToOrderErrorURL

public void setAddSoftGoodToOrderErrorURL(java.lang.String pAddSoftGoodToOrderErrorURL)
Set the addSoftGoodToOrderErrorURL property.


getAddSoftGoodToOrderErrorURL

public java.lang.String getAddSoftGoodToOrderErrorURL()
Return the addSoftGoodToOrderErrorURL property.


setAddSoftGoodToOrderSuccessURL

public void setAddSoftGoodToOrderSuccessURL(java.lang.String pAddSoftGoodToOrderSuccessURL)
Set the addSoftGoodToOrderSuccessURL property.


getAddSoftGoodToOrderSuccessURL

public java.lang.String getAddSoftGoodToOrderSuccessURL()
Return the addSoftGoodToOrderSuccessURL property.


setSoftGoodRecipientEmailAddress

public void setSoftGoodRecipientEmailAddress(java.lang.String pSoftGoodRecipientEmailAddress)
Set the SoftGoodRecipientEmailAddress property.


getSoftGoodRecipientEmailAddress

public java.lang.String getSoftGoodRecipientEmailAddress()
Return the SoftGoodRecipientEmailAddress property.


preAddSoftGoodToOrder

public void preAddSoftGoodToOrder(DynamoHttpServletRequest pRequest,
                                  DynamoHttpServletResponse pResponse)
                           throws javax.servlet.ServletException,
                                  java.io.IOException
Empty method that can be overriden to provide additional functionality if desired. Called before any processing is done by the handleAddSoftGoodToOrder method.

Parameters:
pRequest - the request object
pResponse - the response object
Throws:
javax.servlet.ServletException - if an error occurs
java.io.IOException - if an error occurs

postAddSoftGoodToOrder

public void postAddSoftGoodToOrder(DynamoHttpServletRequest pRequest,
                                   DynamoHttpServletResponse pResponse)
                            throws javax.servlet.ServletException,
                                   java.io.IOException
Empty method that can be overriden to provide additional functionality if desired. Called after all processing is done by the handleAddSoftGoodToOrder method.

Parameters:
pRequest - the request object
pResponse - the response object
Throws:
javax.servlet.ServletException - if an error occurs
java.io.IOException - if an error occurs

handleAddSoftGoodToOrder

public boolean handleAddSoftGoodToOrder(DynamoHttpServletRequest pRequest,
                                        DynamoHttpServletResponse pResponse)
                                 throws javax.servlet.ServletException,
                                        java.io.IOException
Does all processing needed to add a soft good to a users order. This means calling the addSoftGoodToOrder method, and surrounding it with the proper pre/post methods.

Parameters:
pRequest - the request object
pResponse - the response object
Returns:
true if the request was properly handled
Throws:
javax.servlet.ServletException - if an error occurs
java.io.IOException - if an error occurs

addSoftGoodToOrder

protected void addSoftGoodToOrder(DynamoHttpServletRequest pRequest,
                                  DynamoHttpServletResponse pResponse)
                           throws javax.servlet.ServletException,
                                  java.io.IOException
To add a soft good to the users order, the OrderManager first needs to create a shipping group named by the softGoodShippingGroupName property. This shipping group will then be initialized by the initializeShippingGroup method. Finally, set the property shippingGroup to be the newly created shipping group and then call addItemToOrder method. Since the addItemToOrder method creates relationships by default between the shippingGroup returned by getShippingGroup and the item being added, this allows the two to be associated.

Parameters:
pRequest - the request object
pResponse - the response object
Throws:
javax.servlet.ServletException - if an error occurs
java.io.IOException - if an error occurs

initializeShippingGroup

protected boolean initializeShippingGroup(ShippingGroup pShippingGroup,
                                          DynamoHttpServletRequest pRequest,
                                          DynamoHttpServletResponse pResponse)
                                   throws javax.servlet.ServletException,
                                          java.io.IOException
This method initializes the shipping group that was created by the OrderManager for us. This means that it checks to make sure that it is not null and then call the method initializeElectronicShippingGroup.

Parameters:
pShippingGroup - a value of type 'ShippingGroup'
pRequest - a value of type 'DynamoHttpServletRequest'
pResponse - a value of type 'DynamoHttpServletResponse'
Returns:
true if the shipping group was properly initialized
Throws:
javax.servlet.ServletException - if an error occurs
java.io.IOException - if an error occurs

initializeElectronicShippingGroup

protected boolean initializeElectronicShippingGroup(ShippingGroup pShippingGroup,
                                                    DynamoHttpServletRequest pRequest,
                                                    DynamoHttpServletResponse pResponse)
                                             throws javax.servlet.ServletException,
                                                    java.io.IOException
This method will initialize an electronic shipping group. By initialize we mean that the email address specified by the softGoodRecipientEmailAddress property will be placed into the emailAddress property of the electronicShippingGroup.

Parameters:
pShippingGroup - the shippingGroup that the OrderManager created for us and is to be initialized
pRequest - the request object
pResponse - the response object
Returns:
true if we were successfully able to initialized the shipping group
Throws:
javax.servlet.ServletException - if an error occurs
java.io.IOException - if an error occurs