public class ShippingGroupFormHandler extends PurchaseProcessFormHandler
The ShippingGroupFormHandler
is used to associate ShippingGroups with the various
Order pieces. This component is used during the Order checkout process, and any
Order successfully processed by the ShippingGroupFormHandler is ready for the next
checkout phase, which may be Payment.
The ShippingGroupFormHandler is composed of the following containers:
ShippingGroupMapContainer - container for the user's potential ShippingGroups
CommerceItemShippingInfoContainer - container for the user's CommerceItemShippingInfo
associations for a particular Order's CommerceItems
There are 3 main handler methods in the ShippingGroupFormHandler, handleSplitShippingInfos, handleApplyShippingGroups and handleSpecifyDefaultShippingGroup:
In order to conveniently manipulate ShippingGroups and CommerceItemShippingInfo Lists,
you can set the ListId
and ShippingGroupId
properties. This will
automatically expose the corresponding ShippingGroup and List in the CurrentList
and CurrentShippingGroup
properties.
The CommerceItemShippingInfo associations created by the user are scrutinized and the appropriate business methods are called in the OrderManager family. ShippingGroup validation takes place, via a configurable Pipeline chain.
GenericFormHandler
,
PurchaseProcessFormHandler
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_VERSION
Class version string
|
protected java.util.List |
mAllHardgoodCommerceItemShippingInfos |
protected java.util.List |
mAllInStorePickupCommerceItemShippingInfos |
protected CommerceItemShippingInfoTools |
mCommerceItemShippingInfoTools |
protected boolean |
mConsolidateShippingInfosBeforeApply |
protected java.util.List |
mElectronicShippingGroups |
static java.lang.String |
MSG_ERROR_UPDATE_SHIPPINGGROUP |
static java.lang.String |
MSG_INVALID_SHIPPING_SPLIT_NUMBER |
static java.lang.String |
MSG_INVALID_SHIPPING_SPLIT_NUMBER_WITH_FRACTION |
static java.lang.String |
MSG_NO_DEFAULT_SHIPPING_GROUP |
protected boolean |
mValidateShippingGroups |
LOCK_NAME_ATTRIBUTE_NAME, PARAM_TRANSACTION_CREATED, PARAM_VALUE_TRUE
PARAM_DEFER_FORWARD_OR_REDIRECT, PARAM_USE_FORWARDS
SERVICE_INFO_KEY
DEFAULT_LOG_TRACE_STATUS
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
Constructor and Description |
---|
ShippingGroupFormHandler()
Creates a new
ShippingGroupFormHandler instance. |
Modifier and Type | Method and Description |
---|---|
protected void |
addShippingGroupToMap(ShippingGroup pShippingGroup,
java.lang.String pKey)
Adds a shipping groups to the shipping group map container
|
protected void |
applyCommerceItemShippingInfo(CommerceItemShippingInfo pCommerceItemShippingInfo,
Order order)
Deprecated.
|
protected void |
applyDefaultShippingGroup(Order pOrder)
Deprecated.
|
void |
applyShippingGroups(DynamoHttpServletRequest pRequest,
DynamoHttpServletResponse pResponse)
applyShippingGroups removes all non-gift ShippingGroups from
the Order and then iterates over the supplied CommerceItemShippingInfos
for each of the CommerceItems. |
protected void |
consolidateShippingInfos(DynamoHttpServletRequest pRequest,
DynamoHttpServletResponse pResponse)
Deprecated.
|
java.util.List |
getAllHardgoodCommerceItemShippingInfos()
Get the List of all the CommerceItemShippingInfos for hardgoods
from the CommerceItemShippingInfoMap.
|
java.util.List |
getAllInStorePickupCommerceItemShippingInfos()
Get the List of all the CommerceItemShippingInfos for in store pickup
from the CommerceItemShippingInfoMap.
|
java.lang.String |
getApplyShippingGroupsErrorURL()
Return the ApplyShippingGroupsErrorURL property.
|
java.lang.String |
getApplyShippingGroupsSuccessURL()
Return the ApplyShippingGroupsSuccessURL property.
|
CommerceItemShippingInfoTools |
getCommerceItemShippingInfoTools()
Returns the tools component containing the API for modifying
CommerceItemShippingInfos
|
java.util.List |
getCurrentList()
Return the CurrentList property.
|
ShippingGroup |
getCurrentShippingGroup()
Return the CurrentShippingGroup property.
|
java.lang.String |
getDefaultShippingGroupName()
Return the DefaultShippingGroupName property.
|
java.util.List |
getElectronicShippingGroups()
Returns a list of all electronic groups that contain commerce items.
|
HardgoodShippingGroup |
getFirstNonGiftHardgoodShippingGroupWithRels()
Returns the first non-gift hardgood shipping group with relationships from the order
|
java.util.List |
getGiftShippingGroups()
Returns a list of all shipping groups that contain gifts.
|
java.lang.String |
getListId()
Return the ListId property.
|
java.util.Locale |
getLocale()
Return the Locale property.
|
int |
getNonGiftHardgoodShippingGroupCount()
Returns the number of non-gift hardgood shipping groups
with commerce item relationships
|
java.util.List |
getNonGiftHardgoodShippingGroups()
Returns the non-gift hardgood shipping groups
with commerce item relationships
|
protected ShippingGroup |
getShippingGroup(java.lang.String pShippingGroupId)
Deprecated.
|
java.lang.String |
getShippingGroupId()
Return the ShippingGroupId property.
|
ServiceMap |
getShippingGroupInitializers()
Return the ShippingGroupInitializers property.
|
java.lang.String |
getSpecifyDefaultShippingGroupErrorURL()
Return the SpecifyDefaultShippingGroupErrorURL property.
|
java.lang.String |
getSpecifyDefaultShippingGroupSuccessURL()
Return the SpecifyDefaultShippingGroupSuccessURL property.
|
java.lang.String |
getSplitShippingInfosErrorURL()
Return the SplitShippingInfosErrorURL property.
|
java.lang.String |
getSplitShippingInfosSuccessURL()
Return the SplitShippingInfosSuccessURL property.
|
java.lang.String |
getValidateShippingGroupsChainId()
Return the ValidateShippingGroupsChainId property.
|
boolean |
handleApplyShippingGroups(DynamoHttpServletRequest pRequest,
DynamoHttpServletResponse pResponse)
handleApplyShippingGroups is used when the user has supplied the
Shipping information for this order, and is ready to proceed with the next checkout phase. |
boolean |
handleSpecifyDefaultShippingGroup(DynamoHttpServletRequest pRequest,
DynamoHttpServletResponse pResponse)
handleSpecifyDefaultShippingGroup is used to let the user specify
a default ShippingGroup to use. |
boolean |
handleSplitShippingInfos(DynamoHttpServletRequest pRequest,
DynamoHttpServletResponse pResponse)
handleSplitShippingInfos is used when the user is ready to
split a particular CommerceItemShippingInfo by quantity. |
boolean |
isAnyElectronicShippingGroups()
Returns true if the order has at least one electronic shipping group
with commerce item relationships.
|
boolean |
isAnyHardgoodShippingGroups()
Returns true if the order has at least one hargood shipping group
with commerce item relationships.
|
boolean |
isAnyNonGiftHardgoodShippingGroups()
Determines if there are any non-gift hardgood shipping groups with
relationships
|
boolean |
isApplyDefaultShippingGroup()
Return the ApplyDefaultShippingGroup property.
|
boolean |
isConsolidateShippingInfosBeforeApply() |
boolean |
isMultipleHardgoodShippingGroupsWithRelationships()
Returns true if the order has more than one hardgood shipping group
with commerce item relationships
|
boolean |
isMultipleNonGiftHardgoodShippingGroups()
Returns true if the order has more than one non-gift hardgood shipping group
with commerce item relationships
|
protected boolean |
isShippingGroupInOrder(Order pOrder,
java.lang.String pShippingGroupId)
Deprecated.
This method is moved to ShippingGroupManager.
|
boolean |
isValidateShippingGroups()
Returns property ValidateShippingGroups.
|
protected CommerceItemShippingInfo |
mergeCommerceItemShippingInfos(CommerceItemShippingInfo cisi1,
CommerceItemShippingInfo cisi2)
Deprecated.
|
void |
postApplyShippingGroups(DynamoHttpServletRequest pRequest,
DynamoHttpServletResponse pResponse)
postApplyShippingGroups is for work that must happen after
the ShippingGroups are applied. |
void |
postSpecifyDefaultShippingGroup(DynamoHttpServletRequest pRequest,
DynamoHttpServletResponse pResponse)
postSpecifyDefaultShippingGroup is for work that must happen after
the default ShippingGroup is set. |
void |
postSplitShippingInfos(DynamoHttpServletRequest pRequest,
DynamoHttpServletResponse pResponse)
postSplitShippingInfos is for work that must happen after
the ShippingGroups are split. |
void |
preApplyShippingGroups(DynamoHttpServletRequest pRequest,
DynamoHttpServletResponse pResponse)
preApplyShippingGroups is for work that must happen before
the ShippingGroups are applied. |
void |
preSpecifyDefaultShippingGroup(DynamoHttpServletRequest pRequest,
DynamoHttpServletResponse pResponse)
preSpecifyDefaultShippingGroup is for work that must happen before
the default ShippingGroup is set. |
void |
preSplitShippingInfos(DynamoHttpServletRequest pRequest,
DynamoHttpServletResponse pResponse)
preSplitShippingInfos is for work that must happen before
the ShippingGroups are split. |
protected void |
removeShippingGroupFromMap(java.lang.String pKey)
Removes a shipping group from the shipping group map container
|
protected void |
runProcessValidateShippingGroups(Order pOrder,
PricingModelHolder pPricingModels,
java.util.Locale pLocale,
RepositoryItem pProfile,
java.util.Map pExtraParameters)
runProcessValidateShippingGroups runs a configurable Pipeline chain
to validate ShippingGroups or prepare for the next checkout phase. |
void |
setApplyDefaultShippingGroup(boolean pApplyDefaultShippingGroup)
Set the ApplyDefaultShippingGroup property.
|
void |
setApplyShippingGroupsErrorURL(java.lang.String pApplyShippingGroupsErrorURL)
Set the ApplyShippingGroupsErrorURL property.
|
void |
setApplyShippingGroupsSuccessURL(java.lang.String pApplyShippingGroupsSuccessURL)
Set the ApplyShippingGroupsSuccessURL property.
|
void |
setCommerceItemShippingInfoTools(CommerceItemShippingInfoTools pCommerceItemShippingInfoTools) |
void |
setConsolidateShippingInfosBeforeApply(boolean pConsolidateShippingInfosBeforeApply)
Sets the consolidateShippingInfosBeforeApply property.
|
void |
setCurrentList(java.util.List pCurrentList)
Set the CurrentList property.
|
void |
setCurrentShippingGroup(ShippingGroup pCurrentShippingGroup)
Set the CurrentShippingGroup property.
|
void |
setDefaultShippingGroupName(java.lang.String pDefaultShippingGroupName)
Set the DefaultShippingGroupName property.
|
void |
setListId(java.lang.String pListId)
Set the ListId property.
|
void |
setLocale(java.util.Locale pLocale)
Set the Locale property.
|
void |
setShippingGroupId(java.lang.String pShippingGroupId)
Set the ShippingGroupId property.
|
void |
setShippingGroupInitializers(ServiceMap pShippingGroupInitializers)
Set the ShippingGroupInitializers property.
|
void |
setSpecifyDefaultShippingGroupErrorURL(java.lang.String pSpecifyDefaultShippingGroupErrorURL)
Set the SpecifyDefaultShippingGroupErrorURL property.
|
void |
setSpecifyDefaultShippingGroupSuccessURL(java.lang.String pSpecifyDefaultShippingGroupSuccessURL)
Set the SpecifyDefaultShippingGroupSuccessURL property.
|
void |
setSplitShippingInfosErrorURL(java.lang.String pSplitShippingInfosErrorURL)
Set the SplitShippingInfosErrorURL property.
|
void |
setSplitShippingInfosSuccessURL(java.lang.String pSplitShippingInfosSuccessURL)
Set the SplitShippingInfosSuccessURL property.
|
void |
setValidateShippingGroups(boolean pValidateShippingGroups)
Sets property ValidateShippingGroups
|
void |
setValidateShippingGroupsChainId(java.lang.String pValidateShippingGroupsChainId)
Set the ValidateShippingGroupsChainId property.
|
protected void |
specifyDefaultShippingGroup(DynamoHttpServletRequest pRequest,
DynamoHttpServletResponse pResponse)
specifyDefaultShippingGroup sets the defaultShippingGroupName in
the ShippingGroupMapContainer. |
protected void |
splitCommerceItemShippingInfoByQuantity(CommerceItemShippingInfo pCommerceItemShippingInfo,
long pSplitQuantity)
Deprecated.
|
void |
splitShippingInfos(DynamoHttpServletRequest pRequest,
DynamoHttpServletResponse pResponse)
splitShippingInfos is used to split the quantities for the
CommerceItems into different CommerceItemShippingInfos |
acquireTransactionLock, acquireTransactionLock, afterSet, beforeSet, checkFormRedirect, commitTransaction, copyConfiguration, createRepriceParameterMap, defaultLocalLockManager, defaultUserProfile, doStartService, ensureTransaction, formatUserMessage, formatUserMessage, formatUserMessage, formatUserMessage, generatePropertyPath, getClaimableManager, getCommerceIdentifierPaymentInfoContainer, getCommerceItemManager, getCommerceItemShippingInfoContainer, getCommerceProfileTools, getCommercePropertyManager, getConfiguration, getCurrentTransaction, getDefaultLocale, getGiftlistManager, getHandlingInstructionManager, getLocalLockManager, getOrder, getOrderManager, getPaymentGroupManager, getPaymentGroupMapContainer, getPipelineManager, getPriceList, getPriceListId, getPriceListManager, getProfile, getProfileRepository, getPurchaseProcessHelper, getRepeatingRequestMonitor, getRepriceOrderChainId, getResourceBundle, getResourceBundle, getResourceBundleName, getSessionExpirationURL, getShippingGroupManager, getShippingGroupMapContainer, getShoppingCart, getTransactionManager, getUserLocale, getUserLocale, getUserPricingModels, handlePipelineError, isConcurrentUpdate, isEnsureTransaction, isFormSubmission, isTransactionCreated, isTransactionMarkedAsRollBack, isUseLocksAroundTransactions, isUseRequestLocale, processException, processPipelineErrors, releaseTransactionLock, releaseTransactionLock, runProcess, runProcess, runProcess, runProcessRepriceOrder, runProcessRepriceOrder, runRepricingProcess, setClaimableManager, setCommerceIdentifierPaymentInfoContainer, setCommerceItemManager, setCommerceItemShippingInfoContainer, setCommerceProfileTools, setCommercePropertyManager, setConfiguration, setCurrentTransaction, setDefaultLocale, setEnsureTransaction, setGiftlistManager, setHandlingInstructionManager, setLocalLockManager, setOrder, setOrderManager, setPaymentGroupManager, setPaymentGroupMapContainer, setPipelineManager, setPriceListId, setPriceListManager, setProfile, setProfileRepository, setPurchaseProcessHelper, setRepeatingRequestMonitor, setRepriceOrderChainId, setSessionExpirationURL, setShippingGroupManager, setShippingGroupMapContainer, setShoppingCart, setTransactionCreated, setTransactionManager, setTransactionToRollbackOnly, setUseLocksAroundTransactions, setUseRequestLocale, setUserLocale, setUserPricingModels, transactionLockName, unsetTransactionCreated
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
afterGet, beforeGet
addLogListener, createAdminServlet, doStopService, getAbsoluteName, getAdminServlet, getAdminServletOutputStreamEncoding, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isAdminServletUseServletOutputStream, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, reResolveThis, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setAdminServletOutputStreamEncoding, setAdminServletUseServletOutputStream, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
public static java.lang.String CLASS_VERSION
public static final java.lang.String MSG_INVALID_SHIPPING_SPLIT_NUMBER
public static final java.lang.String MSG_INVALID_SHIPPING_SPLIT_NUMBER_WITH_FRACTION
public static final java.lang.String MSG_ERROR_UPDATE_SHIPPINGGROUP
public static final java.lang.String MSG_NO_DEFAULT_SHIPPING_GROUP
protected CommerceItemShippingInfoTools mCommerceItemShippingInfoTools
protected boolean mConsolidateShippingInfosBeforeApply
protected boolean mValidateShippingGroups
protected java.util.List mElectronicShippingGroups
protected java.util.List mAllHardgoodCommerceItemShippingInfos
protected java.util.List mAllInStorePickupCommerceItemShippingInfos
public ShippingGroupFormHandler()
ShippingGroupFormHandler
instance.public CommerceItemShippingInfoTools getCommerceItemShippingInfoTools()
public void setCommerceItemShippingInfoTools(CommerceItemShippingInfoTools pCommerceItemShippingInfoTools)
public void setShippingGroupInitializers(ServiceMap pShippingGroupInitializers)
pShippingGroupInitializers
- a ServiceMap
valuepublic ServiceMap getShippingGroupInitializers()
ServiceMap
valuepublic boolean isConsolidateShippingInfosBeforeApply()
public void setConsolidateShippingInfosBeforeApply(boolean pConsolidateShippingInfosBeforeApply)
This property is used to control is the CommerceItemShippingInfo objects are consolidated prior to being applied to the order.
pConsolidateShippingInfosBeforeApply
- The consolidateShippingInfosBeforeApply to set.consolidateShippingInfos(DynamoHttpServletRequest, DynamoHttpServletResponse)
public void setValidateShippingGroups(boolean pValidateShippingGroups)
public boolean isValidateShippingGroups()
public void setListId(java.lang.String pListId)
Sets the currentList property to the list of commerce item infos mapped by the listId.
pListId
- a String
value. The commerce item id used to look up the list
of commerce item infos in the commerceItemShippingInfoContainer. If pListId is null or empty
the current list is set to all commerce item infos in the container.CommerceItemShippingInfoContainer.getAllCommerceItemShippingInfos()
public java.lang.String getListId()
String
valuepublic void setCurrentList(java.util.List pCurrentList)
pCurrentList
- a List
valuepublic java.util.List getCurrentList()
List
valuepublic void setShippingGroupId(java.lang.String pShippingGroupId)
pShippingGroupId
- a String
valuepublic java.lang.String getShippingGroupId()
String
valuepublic void setCurrentShippingGroup(ShippingGroup pCurrentShippingGroup)
pCurrentShippingGroup
- a ShippingGroup
valuepublic ShippingGroup getCurrentShippingGroup()
ShippingGroup
valuepublic void setApplyShippingGroupsSuccessURL(java.lang.String pApplyShippingGroupsSuccessURL)
pApplyShippingGroupsSuccessURL
- a String
valuepublic java.lang.String getApplyShippingGroupsSuccessURL()
String
valuepublic void setApplyShippingGroupsErrorURL(java.lang.String pApplyShippingGroupsErrorURL)
pApplyShippingGroupsErrorURL
- a String
valuepublic java.lang.String getApplyShippingGroupsErrorURL()
String
valuepublic void setSplitShippingInfosSuccessURL(java.lang.String pSplitShippingInfosSuccessURL)
pSplitShippingInfosSuccessURL
- a String
valuepublic java.lang.String getSplitShippingInfosSuccessURL()
String
valuepublic void setSplitShippingInfosErrorURL(java.lang.String pSplitShippingInfosErrorURL)
pSplitShippingInfosErrorURL
- a String
valuepublic java.lang.String getSplitShippingInfosErrorURL()
String
valuepublic void setSpecifyDefaultShippingGroupErrorURL(java.lang.String pSpecifyDefaultShippingGroupErrorURL)
pSpecifyDefaultShippingGroupErrorURL
- a String
valuepublic java.lang.String getSpecifyDefaultShippingGroupErrorURL()
String
valuepublic void setSpecifyDefaultShippingGroupSuccessURL(java.lang.String pSpecifyDefaultShippingGroupSuccessURL)
pSpecifyDefaultShippingGroupSuccessURL
- a String
valuepublic java.lang.String getSpecifyDefaultShippingGroupSuccessURL()
String
valuepublic void setDefaultShippingGroupName(java.lang.String pDefaultShippingGroupName)
pDefaultShippingGroupName
- a String
valuepublic java.lang.String getDefaultShippingGroupName()
String
valuepublic void setApplyDefaultShippingGroup(boolean pApplyDefaultShippingGroup)
pApplyDefaultShippingGroup
- a boolean
valuepublic boolean isApplyDefaultShippingGroup()
boolean
valuepublic void setLocale(java.util.Locale pLocale)
pLocale
- a Locale
valuepublic java.util.Locale getLocale()
Locale
valuepublic void setValidateShippingGroupsChainId(java.lang.String pValidateShippingGroupsChainId)
pValidateShippingGroupsChainId
- a String
valuepublic java.lang.String getValidateShippingGroupsChainId()
String
valuepublic boolean handleApplyShippingGroups(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse) throws javax.servlet.ServletException, java.io.IOException
handleApplyShippingGroups
is used when the user has supplied the
Shipping information for this order, and is ready to proceed with the next checkout phase.pRequest
- a DynamoHttpServletRequest
valuepResponse
- a DynamoHttpServletResponse
valueboolean
valuejavax.servlet.ServletException
- if an error occursjava.io.IOException
- if an error occurspublic void preApplyShippingGroups(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse) throws javax.servlet.ServletException, java.io.IOException
preApplyShippingGroups
is for work that must happen before
the ShippingGroups are applied.pRequest
- a DynamoHttpServletRequest
valuepResponse
- a DynamoHttpServletResponse
valuejavax.servlet.ServletException
- if an error occursjava.io.IOException
- if an error occurspublic void postApplyShippingGroups(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse) throws javax.servlet.ServletException, java.io.IOException
postApplyShippingGroups
is for work that must happen after
the ShippingGroups are applied.pRequest
- a DynamoHttpServletRequest
valuepResponse
- a DynamoHttpServletResponse
valuejavax.servlet.ServletException
- if an error occursjava.io.IOException
- if an error occurspublic void applyShippingGroups(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse) throws javax.servlet.ServletException, java.io.IOException
applyShippingGroups
removes all non-gift ShippingGroups from
the Order and then iterates over the supplied CommerceItemShippingInfos
for each of the CommerceItems. Each CommerceItemShippingInfo is used
to update the Order.
If property consolidateShippingInfosBeforeApply
is true, the commerce
item shipping info objects are first consolidated by calling the consolidateShippingInfos
method.
pRequest
- a DynamoHttpServletRequest
valuepResponse
- a DynamoHttpServletResponse
valuejavax.servlet.ServletException
- if an error occursjava.io.IOException
- if an error occursprotected void applyCommerceItemShippingInfo(CommerceItemShippingInfo pCommerceItemShippingInfo, Order order)
applyCommerceItemShippingInfo
get the Relatonship type
from the CommerceItemShippingInfo then invoke the business logic in CommerceItemManager
to update the order.pCommerceItemShippingInfo
- a CommerceItemShippingInfo
valueorder
- an Order
valueCommerceItemShippingInfoTools.applyCommerceItemShippingInfo(CommerceItemShippingInfo, Order, ShippingGroupMapContainer)
protected void applyDefaultShippingGroup(Order pOrder)
applyDefaultShippingGroup
checks to see if there is a
defaultShippingGroup. If so, this ShippingGroup is added to the
remaining quantity of each CommerceItem whose quantity is not already
fully assigned to ShippingGroups.pOrder
- an Order
valueCommerceItemShippingInfoTools.applyDefaultShippingGroup(Order, ShippingGroupMapContainer)
protected boolean isShippingGroupInOrder(Order pOrder, java.lang.String pShippingGroupId)
isShippingGroupInOrder
is used to determine if the ShippingGroup
is already in the Order.pOrder
- an Order
valuepShippingGroupId
- a String
valueboolean
valueprotected ShippingGroup getShippingGroup(java.lang.String pShippingGroupId)
getShippingGroup
gets the ShippingGroup with the given name
from the ShippingGroupMapContainer.pShippingGroupId
- a String
valueShippingGroup
valueCommerceItemShippingInfoTools.getShippingGroup(ShippingGroupMapContainer, String)
public boolean handleSplitShippingInfos(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse) throws javax.servlet.ServletException, java.io.IOException
handleSplitShippingInfos
is used when the user is ready to
split a particular CommerceItemShippingInfo by quantity.pRequest
- the servlet's requestpResponse
- the servlet's responseboolean
valuejavax.servlet.ServletException
- if there was an error while executing the codejava.io.IOException
- if there was an error with servlet iopublic void preSplitShippingInfos(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse) throws javax.servlet.ServletException, java.io.IOException
preSplitShippingInfos
is for work that must happen before
the ShippingGroups are split.pRequest
- a DynamoHttpServletRequest
valuepResponse
- a DynamoHttpServletResponse
valuejavax.servlet.ServletException
- if an error occursjava.io.IOException
- if an error occurspublic void postSplitShippingInfos(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse) throws javax.servlet.ServletException, java.io.IOException
postSplitShippingInfos
is for work that must happen after
the ShippingGroups are split.pRequest
- a DynamoHttpServletRequest
valuepResponse
- a DynamoHttpServletResponse
valuejavax.servlet.ServletException
- if an error occursjava.io.IOException
- if an error occurspublic void splitShippingInfos(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse) throws javax.servlet.ServletException, java.io.IOException
splitShippingInfos
is used to split the quantities for the
CommerceItems into different CommerceItemShippingInfospRequest
- a DynamoHttpServletRequest
valuepResponse
- a DynamoHttpServletResponse
valuejavax.servlet.ServletException
- if an error occursjava.io.IOException
- if an error occursprotected void consolidateShippingInfos(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse) throws javax.servlet.ServletException, java.io.IOException
consolidateShippingInfos
consolidates CommerceItemShippingInfos
by ensuring there is no redundant data.pRequest
- a DynamoHttpServletRequest
valuepResponse
- a DynamoHttpServletResponse
valuejavax.servlet.ServletException
- if an error occursjava.io.IOException
- if an error occursCommerceItemShippingInfoTools.consolidateShippingInfos(CommerceItemShippingInfoContainer)
protected CommerceItemShippingInfo mergeCommerceItemShippingInfos(CommerceItemShippingInfo cisi1, CommerceItemShippingInfo cisi2)
mergeCommerceItemShippingInfos
merges 2 CommerceItemShippingInfos
into one by combining their quantities.cisi1
- a CommerceItemShippingInfo
valuecisi2
- a CommerceItemShippingInfo
valueCommerceItemShippingInfo
valueprotected void splitCommerceItemShippingInfoByQuantity(CommerceItemShippingInfo pCommerceItemShippingInfo, long pSplitQuantity)
splitCommerceItemShippingInfoByQuantity
splits a CommerceItemShippingInfo
by quantity.pCommerceItemShippingInfo
- a CommerceItemShippingInfo
valuepSplitQuantity
- a long
valueCommerceItemShippingInfoTools.splitCommerceItemShippingInfoByQuantity(CommerceItemShippingInfoContainer, CommerceItemShippingInfo, long)
,
CommerceItemShippingInfoTools.splitCommerceItemShippingInfoByQuantity(CommerceItemShippingInfoContainer, CommerceItemShippingInfo, long)
protected void runProcessValidateShippingGroups(Order pOrder, PricingModelHolder pPricingModels, java.util.Locale pLocale, RepositoryItem pProfile, java.util.Map pExtraParameters) throws RunProcessException
runProcessValidateShippingGroups
runs a configurable Pipeline chain
to validate ShippingGroups or prepare for the next checkout phase.pOrder
- an Order
valuepPricingModels
- a PricingModelHolder
valuepLocale
- a Locale
valuepProfile
- a RepositoryItem
valuepExtraParameters
- a Map
valueRunProcessException
- if an error occurspublic boolean handleSpecifyDefaultShippingGroup(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse) throws javax.servlet.ServletException, java.io.IOException
handleSpecifyDefaultShippingGroup
is used to let the user specify
a default ShippingGroup to use.pRequest
- a DynamoHttpServletRequest
valuepResponse
- a DynamoHttpServletResponse
valueboolean
valuejavax.servlet.ServletException
- if an error occursjava.io.IOException
- if an error occurspublic void preSpecifyDefaultShippingGroup(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse) throws javax.servlet.ServletException, java.io.IOException
preSpecifyDefaultShippingGroup
is for work that must happen before
the default ShippingGroup is set.pRequest
- a DynamoHttpServletRequest
valuepResponse
- a DynamoHttpServletResponse
valuejavax.servlet.ServletException
- if an error occursjava.io.IOException
- if an error occurspublic void postSpecifyDefaultShippingGroup(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse) throws javax.servlet.ServletException, java.io.IOException
postSpecifyDefaultShippingGroup
is for work that must happen after
the default ShippingGroup is set.pRequest
- a DynamoHttpServletRequest
valuepResponse
- a DynamoHttpServletResponse
valuejavax.servlet.ServletException
- if an error occursjava.io.IOException
- if an error occursprotected void specifyDefaultShippingGroup(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse) throws javax.servlet.ServletException, java.io.IOException
specifyDefaultShippingGroup
sets the defaultShippingGroupName in
the ShippingGroupMapContainer.pRequest
- a DynamoHttpServletRequest
valuepResponse
- a DynamoHttpServletResponse
valuejavax.servlet.ServletException
- if an error occursjava.io.IOException
- if an error occursCommerceItemShippingInfoTools.specifyDefaultShippingGroup(ShippingGroupMapContainer, String)
protected void removeShippingGroupFromMap(java.lang.String pKey)
pKey
- protected void addShippingGroupToMap(ShippingGroup pShippingGroup, java.lang.String pKey)
pShippingGroup
- pKey
- public java.util.List getGiftShippingGroups()
public java.util.List getElectronicShippingGroups()
public int getNonGiftHardgoodShippingGroupCount()
public boolean isAnyHardgoodShippingGroups()
public boolean isAnyElectronicShippingGroups()
public boolean isMultipleNonGiftHardgoodShippingGroups()
public boolean isMultipleHardgoodShippingGroupsWithRelationships()
public boolean isAnyNonGiftHardgoodShippingGroups()
public java.util.List getNonGiftHardgoodShippingGroups()
public HardgoodShippingGroup getFirstNonGiftHardgoodShippingGroupWithRels()
public java.util.List getAllHardgoodCommerceItemShippingInfos()
List
valuepublic java.util.List getAllInStorePickupCommerceItemShippingInfos()
List
value