public class OrderFulfillmentTools
extends java.lang.Object
OrderFulfiller
,
HardgoodFulfiller
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_VERSION
Class version string
|
Constructor and Description |
---|
OrderFulfillmentTools() |
Modifier and Type | Method and Description |
---|---|
boolean |
areAllGroupsPendingRemove(Order pOrder)
Check if all the groups in this object are PENDING_REMOVE
|
boolean |
areAllGroupsRemoved(Order pOrder)
Check if all the groups in this object are REMOVED
|
boolean |
checkIfAllGroupsAreShipped(Order pOrder)
Loop through all the shipping groups in an order, returning true if the state
of all those groups is set to NO_PENDING_ACTION, otherwise return false
|
GenericAdd |
createGenericAddIdToValueModification(int pTargetType,
java.lang.String pTarget,
int pContainerType,
java.io.Serializable pContainer)
This method creates a GenericAdd message and sets all the
properties accordingly.
|
GenericAdd |
createGenericAddValueToIdModification(int pTargetType,
java.io.Serializable pTarget,
int pContainerType,
java.lang.String pContainer)
This method creates a GenericAdd message and sets all the
properties accordingly.
|
GenericAdd |
createGenericAddValueToValueModification(int pTargetType,
java.io.Serializable pTarget,
int pContainerType,
java.io.Serializable pContainer)
This method creates a GenericAdd message and sets all the
properties accordingly.
|
GenericRemove |
createGenericRemoveModification(int pTargetType,
java.lang.String pTarget,
int pContainerType,
java.lang.String pContainer)
This method creates a GenericRemove message and sets all the
properties accordingly.
|
GenericUpdate |
createGenericUpdateModification(java.lang.String pPropertyName,
java.io.Serializable pOriginalValue,
java.io.Serializable pNewValue,
java.lang.String pTargetId,
int pTargetType,
boolean pSuccess)
This method creates a GenericUpdate message and sets all the
properties accordingly.
|
Modification |
createItemUpdateModification(java.lang.String pPropertyName,
java.io.Serializable pOriginalValue,
java.io.Serializable pNewValue,
java.lang.String pTargetId)
A convenience method which in the reference implementation will return a
GenericuUpdate Modification object targeting items.
|
Modification |
createOrderUpdateModification(java.lang.String pPropertyName,
java.io.Serializable pOriginalValue,
java.io.Serializable pNewValue,
java.lang.String pTargetId)
A convenience method which in the reference implementation will return a
GenericUpdate Modification object targeting order objects.
|
Modification |
createPayUpdateModification(java.lang.String pPropertyName,
java.io.Serializable pOriginalValue,
java.io.Serializable pNewValue,
java.lang.String pTargetId)
A convenience method which in the reference implementation will return a
GenericUpdate Modification object targeting payment groups
|
Modification |
createRelationshipUpdateModification(java.lang.String pPropertyName,
java.io.Serializable pOriginalValue,
java.io.Serializable pNewValue,
java.lang.String pTargetId)
A convenience method which in the reference implementation will return a
GenericuUpdate Modification object targeting items.
|
Modification |
createShipUpdateModification(java.lang.String pPropertyName,
java.io.Serializable pOriginalValue,
java.io.Serializable pNewValue,
java.lang.String pTargetId)
A convenience method which in the reference implementation will return a
GenericUpdate Modification object targeting shipping groups
|
java.util.List |
extractShippingGroupIds(java.util.List pShippingGroups)
Returns a list of shipping group ids from a given list of shipping groups.
|
java.lang.Object |
getCatalogRef(CommerceItem pItem)
This gets a CatalogRef object for a given item.
|
CatalogTools |
getCatalogTools()
The tools for getting items out of the catalog
|
CommerceItemStates |
getCommerceItemStates()
The object containing all the states of an item
|
java.lang.String |
getDefaultFulfiller()
This is the default fulfiller.
|
java.lang.String |
getFulfiller(java.lang.String pSkuId,
java.lang.String pCatalogKey,
CommerceItem pCommerceItem)
First this method finds the sku repository item with the information passed in.
|
java.lang.String |
getFulfillerForItem(CommerceItem pItem)
This method returns the fulfiller for a given CommerceItem.
|
java.lang.String |
getFulfillerForItem(CommerceItem pItem,
ShippingGroup pShippingGroup) |
java.lang.String |
getFulfillerForShippingGroup(ShippingGroup pShippingGroup)
Return the fulfiller for the given shipping group.
|
java.lang.String |
getFulfillerPort(java.lang.String pFulfiller)
Maps the fulfiller name to the port on which it should be sent.
|
java.util.Properties |
getFulfillerPortNameMap()
This mapping defines what ports that messages designated for
certain fulfillers should use.
|
java.util.HashMap |
getFulfillersForShippingGroups(java.util.List pShipGroupList)
This method returns a HashMap whose key is the fulfiller and the value is a List of the
ShippingGroups.
|
java.util.HashMap |
getFulfillerShippingGroupClassHashMap() |
java.util.Properties |
getFulfillerShippingGroupClassMap()
This mapping defines which shipping group classes can be
fulfilled by each fulfiller.
|
java.lang.String |
getGiftCertificateClassType()
The PaymentGroupClassType of gift certificates.
|
java.util.HashMap |
getItemFulfillerMap(Order pOrder,
ShippingGroup pShippingGroup)
Given an order and a shipping group will generate a HashMap where the keys are the
fulfillers an the values are the List of item ids which belong to that fulfiller.
|
IdGenerator |
getMessageIdGenerator()
The service that generates Ids for all messages.
|
java.lang.String |
getMessageIdSpaceName()
The name of the idspace to get our message ids from
|
java.lang.String |
getNextMessageId()
Returns the next unique Id for commerce messages.
|
OrderManager |
getOrderManager()
The order manager controls access to the order and all objects
within an order.
|
OrderStates |
getOrderStates()
The object containing all the states of an order
|
PaymentGroupStates |
getPaymentGroupStates()
The object containing all the states of an payment group
|
ShipItemRelationshipStates |
getShipItemRelationshipStates()
The object containing all the states of a shipping group / item relationship
|
java.util.Map |
getShippingGroupFulfillerOverrideMap() |
ShippingGroupStates |
getShippingGroupStates()
The object containing all the states of an shipping group
|
boolean |
hasAnyGroupShipped(Order pOrder)
Loop through all the shipping groups in an order, returning true if at least one
shipping group has shipped (is in a state of NO_PENDING_ACTION).
|
boolean |
hasOrderSettled(Order pOrder)
This returns true if every payment group in the order has settled.
|
boolean |
isAnyGroupPendingShipment(Order pOrder)
Loop through all the shipping groups in an order, returning false if the state of one of
those groups is set to PENDING_SHIPMENT, otherwise return true
|
boolean |
isOrderFinished(Order pOrder)
This method returns false if there is any work left to be done on
any of the objects within an order.
|
boolean |
isOrderSettleable(Order pOrder,
boolean pSettleOnFirstShipment)
This method is called to determine whether the shipping group should be settled at this
time or not.
|
boolean |
isShippingGroupSingleFulfiller(ShippingGroup pShipGroup)
This method checks how many fulfillers that the items within the
given shipping group are fulfilled by.
|
void |
modificationFailed(Modification pModification,
java.util.List pModificationList,
java.lang.String pStatusText)
Sets the status of the given modification to Modification.STATUS_FAILED
then adds it to the given list.
|
void |
modificationSucceeded(Modification pModification,
java.util.List pModificationList)
Sets the status of the given modification to Modification.STATUS_SUCCESS
then addes it to the given list.
|
void |
printOrder(Order pOrder)
For debugging purposes, print out all the order information for the given order
to standard out
|
void |
sendModifyOrder(java.lang.String pOrderId,
java.util.List pModificationList,
SourceSinkTemplate pMessageSource,
java.lang.String pMessagePort,
ModifyOrder pOriginalMessage)
This method will send an ModifyOrder message
|
void |
sendModifyOrderNotification(java.lang.String pOrderId,
java.util.List pModificationList,
ModifyOrder pModifyOrder,
SourceSinkTemplate pMessageSource,
java.lang.String pMessagePort,
ModifyOrderNotification pOriginalMessage)
This method will send an ModifyOrderNotification message
|
void |
sendShippingGroupUpdateModification(Order pOrder,
java.util.List pShippingGroupList,
SourceSinkTemplate pMessageSource,
ModifyOrderNotification pOriginalMessage)
This method takes a list of shipping groups, and sends a
ShippingGroupUpdate modification to the appropriate fulfillers.
|
void |
setCatalogTools(CatalogTools pCatalogTools) |
void |
setCommerceItemStates(CommerceItemStates pCommerceItemStates) |
void |
setDefaultFulfiller(java.lang.String pDefaultFulfiller) |
void |
setFulfillerPortNameMap(java.util.Properties pFulfillerPortNameMap) |
void |
setFulfillerShippingGroupClassMap(java.util.Properties pFulfillerShippingGroupClassMap) |
void |
setGiftCertificateClassType(java.lang.String pGiftCertificateClassType) |
void |
setItemRelationshipState(ShippingGroupCommerceItemRelationship pShippingGroupItemRelationship,
int pNewState,
java.lang.String pDetail,
java.util.List pModificationList)
Set the state of the item relationship.
|
void |
setItemState(CommerceItem pItem,
int pNewState,
java.lang.String pDetail,
java.util.List pModificationList)
Set the state of the item.
|
void |
setMessageIdGenerator(IdGenerator pMessageIdGenerator) |
void |
setMessageIdSpaceName(java.lang.String pMessageIdSpaceName) |
void |
setOrderManager(OrderManager pOrderManager) |
void |
setOrderState(Order pOrder,
int pNewState,
java.lang.String pDetail,
java.util.List pModificationList)
Set the state of the order.
|
void |
setOrderStates(OrderStates pOrderStates) |
void |
setPaymentGroupState(PaymentGroup pPaymentGroup,
int pNewState,
java.lang.String pDetail,
java.util.List pModificationList)
Set the state of the payment group.
|
void |
setPaymentGroupStates(PaymentGroupStates pPaymentGroupStates) |
void |
setShipItemRelationshipStates(ShipItemRelationshipStates pShipItemRelationshipStates) |
void |
setShippingGroupFulfillerOverrideMap(java.util.Map pShippingGroupFulfillerOverrideMap) |
void |
setShippingGroupState(ShippingGroup pShippingGroup,
int pNewState,
java.lang.String pDetail,
java.util.List pModificationList)
Set the state of the shipping group.
|
void |
setShippingGroupStates(ShippingGroupStates pShippingGroupStates) |
void |
setSubSkuItemState(atg.commerce.order.ConfigurableSubCommerceItem pItem,
ShippingGroup pShippingGroup,
int pNewState,
java.lang.String pDetail,
java.util.List pModificationList)
Set the state of the item.
|
java.util.List |
splitShippingGroupsByFulfiller(Order pOrder,
java.util.List pShippingGroups,
java.util.List pModificationList)
This method will split the shipping groups such that none of the shipping groups will
contain items from multiple shipping groups.
|
void |
verifyOrderFulfillment(Order pOrder)
This method verifies that the order to be fulfilled is in a state which allows it to be
fulfilled.
|
void |
verifyShippingGroupsForFulfiller(Order pOrder,
java.lang.String pFulfiller,
java.util.List pShippingGroupIds)
Using the fulfillerShippingGroupClassMap, this method will verify
that each shipping group is of a type that the fulfiller can handle.
|
public static final java.lang.String CLASS_VERSION
public void setFulfillerPortNameMap(java.util.Properties pFulfillerPortNameMap)
public java.util.Properties getFulfillerPortNameMap()
public void setFulfillerShippingGroupClassMap(java.util.Properties pFulfillerShippingGroupClassMap)
public java.util.Properties getFulfillerShippingGroupClassMap()
public java.util.HashMap getFulfillerShippingGroupClassHashMap()
public void setDefaultFulfiller(java.lang.String pDefaultFulfiller)
public java.lang.String getDefaultFulfiller()
public void setOrderManager(OrderManager pOrderManager)
public OrderManager getOrderManager()
public java.util.Map getShippingGroupFulfillerOverrideMap()
public void setShippingGroupFulfillerOverrideMap(java.util.Map pShippingGroupFulfillerOverrideMap)
public void setCatalogTools(CatalogTools pCatalogTools)
public CatalogTools getCatalogTools()
public void setGiftCertificateClassType(java.lang.String pGiftCertificateClassType)
public java.lang.String getGiftCertificateClassType()
public void setMessageIdGenerator(IdGenerator pMessageIdGenerator)
public IdGenerator getMessageIdGenerator()
public void setMessageIdSpaceName(java.lang.String pMessageIdSpaceName)
public java.lang.String getMessageIdSpaceName()
public void setOrderStates(OrderStates pOrderStates)
public OrderStates getOrderStates()
public void setCommerceItemStates(CommerceItemStates pCommerceItemStates)
public CommerceItemStates getCommerceItemStates()
public void setShippingGroupStates(ShippingGroupStates pShippingGroupStates)
public ShippingGroupStates getShippingGroupStates()
public void setPaymentGroupStates(PaymentGroupStates pPaymentGroupStates)
public PaymentGroupStates getPaymentGroupStates()
public void setShipItemRelationshipStates(ShipItemRelationshipStates pShipItemRelationshipStates)
public ShipItemRelationshipStates getShipItemRelationshipStates()
public Modification createOrderUpdateModification(java.lang.String pPropertyName, java.io.Serializable pOriginalValue, java.io.Serializable pNewValue, java.lang.String pTargetId)
pPropertyName
- the property of the Order object that was modifiedpOriginalValue
- the original value of the property that was modifiedpNewValue
- the new value of the property that was modifiedpTargetId
- the id of the target to be modifiedGenericUpdate
public Modification createShipUpdateModification(java.lang.String pPropertyName, java.io.Serializable pOriginalValue, java.io.Serializable pNewValue, java.lang.String pTargetId)
pPropertyName
- the property of the Order object that was modifiedpOriginalValue
- the original value of the property that was modifiedpNewValue
- the new value of the property that was modifiedpTargetId
- the id of the target to be modifiedGenericUpdate
public Modification createPayUpdateModification(java.lang.String pPropertyName, java.io.Serializable pOriginalValue, java.io.Serializable pNewValue, java.lang.String pTargetId)
pPropertyName
- the property of the Order object that was modifiedpOriginalValue
- the original value of the property that was modifiedpNewValue
- the new value of the property that was modifiedpTargetId
- the id of the target to be modifiedGenericUpdate
public Modification createItemUpdateModification(java.lang.String pPropertyName, java.io.Serializable pOriginalValue, java.io.Serializable pNewValue, java.lang.String pTargetId)
pPropertyName
- the property of the Order object that was modifiedpOriginalValue
- the original value of the property that was modifiedpNewValue
- the new value of the property that was modifiedpTargetId
- the id of the target to be modifiedGenericUpdate
public Modification createRelationshipUpdateModification(java.lang.String pPropertyName, java.io.Serializable pOriginalValue, java.io.Serializable pNewValue, java.lang.String pTargetId)
pPropertyName
- the property of the Order object that was modifiedpOriginalValue
- the original value of the property that was modifiedpNewValue
- the new value of the property that was modifiedpTargetId
- the id of the target to be modifiedGenericUpdate
public GenericUpdate createGenericUpdateModification(java.lang.String pPropertyName, java.io.Serializable pOriginalValue, java.io.Serializable pNewValue, java.lang.String pTargetId, int pTargetType, boolean pSuccess)
pPropertyName
- The name of the property being updated.pOriginalValue
- The original value of the propertypNewValue
- The new value of the propertypTargetId
- The id of the object being updated.pTargetType
- The tpye of the object being updated.pSuccess
- a boolean indicating whether the modification was a successful one or notGenericUpdate
public GenericRemove createGenericRemoveModification(int pTargetType, java.lang.String pTarget, int pContainerType, java.lang.String pContainer)
pTargetType
- the type of the object being removedpTarget
- the id of the object being removedpContainerType
- the type of the container of the object being removedpContainer
- the id of the containerGenericRemove
public GenericAdd createGenericAddValueToValueModification(int pTargetType, java.io.Serializable pTarget, int pContainerType, java.io.Serializable pContainer)
pTargetType
- the type of the object being addedpTarget
- the id of the object being addedpContainerType
- the type of the container of the object being addedpContainer
- the id of the containerGenericAdd
public GenericAdd createGenericAddValueToIdModification(int pTargetType, java.io.Serializable pTarget, int pContainerType, java.lang.String pContainer)
pTargetType
- the type of the object being addedpTarget
- the id of the object being addedpContainerType
- the type of the container of the object being addedpContainer
- the id of the containerGenericAdd
public GenericAdd createGenericAddIdToValueModification(int pTargetType, java.lang.String pTarget, int pContainerType, java.io.Serializable pContainer)
pTargetType
- the type of the object being addedpTarget
- the id of the object being addedpContainerType
- the type of the container of the object being addedpContainer
- the id of the containerGenericAdd
public void setItemRelationshipState(ShippingGroupCommerceItemRelationship pShippingGroupItemRelationship, int pNewState, java.lang.String pDetail, java.util.List pModificationList)
pShippingGroupItemRelationship
- The item to updatepNewState
- The state to set the item to.pDetail
- The state detail message to use. If null, a default will be used.pModificationList
- The place to save the modificationpublic void setSubSkuItemState(atg.commerce.order.ConfigurableSubCommerceItem pItem, ShippingGroup pShippingGroup, int pNewState, java.lang.String pDetail, java.util.List pModificationList)
pItem
- The item to updateShippingGroup
- pShippingGroup The shipping group associated with the item passed in.pNewState
- The state to set the item to.pDetail
- The state detail message to use. If null, a default will be used.pModificationList
- The place to save the modificationpublic void setItemState(CommerceItem pItem, int pNewState, java.lang.String pDetail, java.util.List pModificationList)
pItem
- The item to updatepNewState
- The state to set the item to.pDetail
- The state detail message to use. If null, a default will be used.pModificationList
- The place to save the modificationpublic void setShippingGroupState(ShippingGroup pShippingGroup, int pNewState, java.lang.String pDetail, java.util.List pModificationList)
pShippingGroup
- The shipping group to updatepNewState
- The state to set the shipping group to.pDetail
- The state detail message to use. If null, a default will be used.pModificationList
- The place to save the modificationpublic void setPaymentGroupState(PaymentGroup pPaymentGroup, int pNewState, java.lang.String pDetail, java.util.List pModificationList)
pPaymentGroup
- The shipping group to updatepNewState
- The state to set the shipping group to.pDetail
- The state detail message to use. If null, a default will be used.pModificationList
- The place to save the modificationpublic void setOrderState(Order pOrder, int pNewState, java.lang.String pDetail, java.util.List pModificationList)
pOrder
- The order to updatepNewState
- The state to set the shipping group to.pDetail
- The state detail message to use. If null, a default will be used.pModificationList
- The place to save the modificationpublic boolean isShippingGroupSingleFulfiller(ShippingGroup pShipGroup) throws CommerceException
pShipGroup
- The shipping group being checked.CommerceException
public java.util.HashMap getFulfillersForShippingGroups(java.util.List pShipGroupList)
pShipGroupList
- - a List of the shipping groups to be parsed.public java.lang.String getFulfillerPort(java.lang.String pFulfiller)
Maps the fulfiller name to the port on which it should be sent.
pFulfiller
- - the name of the fulfillerpublic java.util.List extractShippingGroupIds(java.util.List pShippingGroups)
pShippingGroups
- - a List of ShippingGroupsShippingGroup
public java.util.List splitShippingGroupsByFulfiller(Order pOrder, java.util.List pShippingGroups, java.util.List pModificationList) throws CommerceException
This method will split the shipping groups such that none of the shipping groups will contain items from multiple shipping groups. This method assumes that the caller will write the order back to permanent storage.
pOrder
- - the order containing the shipping groupspShippingGroups
- - a List of the shipping groups that require some form of splittingpModificationList
- - A place holder for all new modificationsCommerceException
public java.util.HashMap getItemFulfillerMap(Order pOrder, ShippingGroup pShippingGroup) throws CommerceException, InvalidParameterException
Given an order and a shipping group will generate a HashMap where the keys are the fulfillers an the values are the List of item ids which belong to that fulfiller.
pOrder
- - the order containing the shipping goruppShippingGroup
- - the shipping group passedCommerceException
InvalidParameterException
public void modificationFailed(Modification pModification, java.util.List pModificationList, java.lang.String pStatusText)
pModification
- The modification that failed.pModificationList
- The list to add the modification topStatusText
- The text to set the modifications statusText property toModification.STATUS_FAILED
public void modificationSucceeded(Modification pModification, java.util.List pModificationList)
pModification
- The modification that failed.pModificationList
- The list to add the modification toModification.STATUS_SUCCESS
public java.lang.String getFulfillerForItem(CommerceItem pItem, ShippingGroup pShippingGroup) throws CommerceException
CommerceException
public java.lang.String getFulfillerForItem(CommerceItem pItem) throws CommerceException
This method returns the fulfiller for a given CommerceItem. The standard implementation uses the AuxiliaryData and the catalog ref to get a hold of the fulfiller.
pItem
- the item whose fulfiller is neededCommerceException
public java.lang.String getFulfillerForShippingGroup(ShippingGroup pShippingGroup)
pShippingGroup
- The shipping group whose fulfiller is neededpublic void verifyShippingGroupsForFulfiller(Order pOrder, java.lang.String pFulfiller, java.util.List pShippingGroupIds) throws CommerceException
pOrder
- The order containing the shipping groupspFulfiller
- The name of the fulfillerpShippingGroupIds
- The list of shipping groups destined for this fulfillerInvalidShippingGroupTypeException
- Thrown if the shipping group is of
an incorrect typeCommerceException
public void printOrder(Order pOrder)
pOrder
- The order to printpublic java.lang.Object getCatalogRef(CommerceItem pItem) throws CommerceException
pItem
- The item we want the CatalogRef fromCommerceException
public void sendModifyOrderNotification(java.lang.String pOrderId, java.util.List pModificationList, ModifyOrder pModifyOrder, SourceSinkTemplate pMessageSource, java.lang.String pMessagePort, ModifyOrderNotification pOriginalMessage) throws javax.jms.JMSException
This method will send an ModifyOrderNotification message
pOrderId
- The order that was modifiedpModificationList
- The modifications that were madepModifyOrder
- The request that initiated these modifications. This is null
if these changes were not requested by an incoming message.pMessageSource
- The source of the message.pMessagePort
- the port to send the message out onpOriginalMessage
- if this message is being forwarded, this is the original
message that was received. If method call is creating the
original message, this parameter should be nulljavax.jms.JMSException
public void sendModifyOrder(java.lang.String pOrderId, java.util.List pModificationList, SourceSinkTemplate pMessageSource, java.lang.String pMessagePort, ModifyOrder pOriginalMessage) throws javax.jms.JMSException
This method will send an ModifyOrder message
pOrderId
- The order that was modifiedpModificationList
- The modifications that were madepMessageSource
- The source of the message.pMessagePort
- the port to send the message out onpOriginalMessage
- if this message is being forwarded, this is the original
message that was received. If method call is creating the
original message, this parameter should be nulljavax.jms.JMSException
public void sendShippingGroupUpdateModification(Order pOrder, java.util.List pShippingGroupList, SourceSinkTemplate pMessageSource, ModifyOrderNotification pOriginalMessage) throws javax.jms.JMSException
pOrder
- the order containing all the shipping groups.pShippingGroupList
- The list of shipping groups to sendpMessageSource
- The source of the new message.pOriginalMessage
- The original message, null if irrelevantjavax.jms.JMSException
public boolean areAllGroupsPendingRemove(Order pOrder)
pOrder
- The order we are checkingpublic boolean areAllGroupsRemoved(Order pOrder)
pOrder
- The order we are checkingpublic boolean checkIfAllGroupsAreShipped(Order pOrder)
pOrder
- The order we are interested inpublic boolean hasAnyGroupShipped(Order pOrder)
pOrder
- The order we are interested inpublic boolean isAnyGroupPendingShipment(Order pOrder)
pOrder
- The order we are interested inpublic void verifyOrderFulfillment(Order pOrder) throws IllegalOrderStateException
This method verifies that the order to be fulfilled is in a state which allows it to be fulfilled. If the order is in an incomplete state or a no pending action state then an exception is thrown.
pOrder
- - the order to be verified.atg.commerce.IllegalOrderStateException
- if the order is in an illegal stateIllegalOrderStateException
public boolean isOrderFinished(Order pOrder)
public boolean isOrderSettleable(Order pOrder, boolean pSettleOnFirstShipment)
pOrder
- - the order to be settledpSettleOnFirstShipment
- true if the order should be settle after the first shipping
group ship.public boolean hasOrderSettled(Order pOrder)
pOrder
- The order we are checking.public java.lang.String getNextMessageId()
public java.lang.String getFulfiller(java.lang.String pSkuId, java.lang.String pCatalogKey, CommerceItem pCommerceItem) throws CommerceException
fulfiller
property value is used to return the fulfiller value. If the sku's fulfiller
property is not set, then this method returns the defaultFulfiller
configured value,
otherwise the sku's fulfiller property value is returned.
If the skuId
is passed in, then this method uses the skuId
and optional catalogKey
to get sku repository item.
If the skuId
is not passed in, then this method uses the commerceItem
to get sku repository item.
If both skuId and commerce item values are empty, then this method throws a CommerceException
.
pSkuId
- -- The sku to be looked atpCatalogKey
- -- The catalog in which the sku is availablepCommerceItem
- -- In case if you have access to the commerce item instead of the sku and catalog id, you can pass in this parameter.CommerceException
- -- If there is any exception while finding the sku repository item or sku is not found, then this exception is thrown