public class HandlingInstructionEditHandler extends ListEditHandler
ListEditHandler
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_VERSION |
protected CommerceItemEditHandler |
mCommerceItemEditHandler |
protected GiftlistManager |
mGiftlistManager |
protected HandlingInstructionManager |
mHandlingInstructionManager |
protected ShippingGroupEditHandler |
mShippingGroupEditHandler |
mCollectionPropertyName, mSortPropertyName, mSubPropertyHandlers, mThrowExceptionsForCollectionChanges, STATE_CLONETOORIGINAL_MAP, STATE_ORIGINALTOCLONE_MAP
mFulfillmentMessageSender, mKeyPropertyName, mOrderFulfillmentTools, mPropertiesToCopyOnUpdate, STATE_ADD_ITEMS, STATE_DELETE_ITEMS, STATE_UPDATE_ITEMS
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 |
---|
HandlingInstructionEditHandler() |
Modifier and Type | Method and Description |
---|---|
protected void |
addItem(CloneEditState pCloneEditState,
AddItem pAddItem)
Overrides add item to use the handling group container interfaces to add the
new handling instruction.
|
void |
adjustCloneCommerceIdReferences(CloneEditState pCloneEditState)
Adjusts the commerceItemId and shippingGroupId in eac hclone handling instruction to reference
the clone commerce item and shipping group id.
|
protected void |
adjustCloneHandlingInstructionReferences(CloneEditState pCloneEditState,
HandlingInstruction pHandlingInstruction)
Adjusts the handling instruction's commerce item and shipping group id
properties so they reference the ids of the clone objects.
|
protected void |
adjustHandlingInstructionReferences(CloneEditState pCloneEditState,
HandlingInstruction pHandlingInstruction)
Changes the commerceItemId and shippingGroupId of the handling instruction to their original
order counter parts.
|
void |
adjustOriginalCommerceIdReferences(CloneEditState pCloneEditState)
Adjusts the commerceItemId and shippingGroupId in each original order handling instruction to reference
the original commerce item and shipping group id.
|
void |
applyChanges(CloneEditState pCloneEditState)
Extends the base behavior to update the commerce item and shipping group handling
instruction references to match the original counterparts.
|
protected void |
deleteItem(CloneEditState pCloneEditState,
DeleteItem pDeleteItem)
Overrides delete item to use the handling instruction container interfaces to remove the item
|
protected void |
detectChangesToCollection(CloneEditState pCloneEditState,
java.lang.Object pOriginalCollectionContainer,
java.lang.Object pCloneCollectionContainer)
Extends the base behavior by first getting the shipping group lists from the containers
and calling super with the shipping group lists.
|
protected void |
detectRemovedHandlingInstructions(CloneEditState pCloneEditState)
Iterates over all the handling instructions that were originally mapped and determines
if any of the clone shipping groups contain the counterpart clone handling instruction .
|
protected void |
detectUpdatesForNewShippingGroup(CloneEditState pCloneEditState,
ShippingGroup pNewShippingGroup)
Iterates over all the new shipping groups in the clone order (e.g.
|
protected ShippingGroup |
findCloneShippingGroupForHI(CloneEditState pCloneEditState,
java.lang.String pCloneHIId)
Finds the clone shipping group that contains the given clone handling instruction
|
protected ShippingGroup |
findOriginalShippingGroupForHI(CloneEditState pCloneEditState,
java.lang.String pOriginalHIId)
Finds the original shipping group that contains the given original handling instruction
|
CommerceItemEditHandler |
getCommerceItemEditHandler()
Reference to the CommerceItemEditHandler used to access commerce item
meta-deta generated from the cloning process.
|
GiftlistManager |
getGiftlistManager()
All Giftlist manipulations are done with this.
|
HandlingInstructionManager |
getHandlingInstructionManager()
The HandlingInstruction manager
|
ShippingGroupEditHandler |
getShippingGroupEditHandler()
Reference to the ShippingGroupEditHandler used to access shipping group
meta-deta generated from the cloning process.
|
protected boolean |
handleMissingOriginalObject(CloneEditState pCloneEditState,
java.lang.Object pCloneContainer,
java.lang.Object pCloneObject,
java.lang.Object pOriginalContainer,
java.lang.Object pOriginalCounterPartKey)
If an original handling instruction cannot be found in original shipping group associated with the clone shipping group,
it could mean the handling instruction was moved during updates to a difference clone shipping group.
|
protected void |
mapOriginalToClone(CloneEditState pCloneEditState,
Order pOriginalOrder,
Order pCloneOrder)
Overrides base behavior to process all the shipping groups in the order.
|
protected void |
moveItem(CloneEditState pCloneEditState,
UpdateItem pUpdateItem)
This API is called by
updateItem the original container specified in the UpdateItem
isn't the container that maps to the clone container and handles the move operation. |
void |
reconcileGiftlistRepository(CloneEditState pCloneEditState)
Reconciles the gift list quantity purchased for updated, added and removed giftlist handling instructions.
|
protected void |
reconcileGiftRepositoryForAddedHIs(CloneEditState pCloneEditState)
Reconciles the gift repository based on the
AddItem s generated during
reconcilication. |
protected void |
reconcileGiftRepositoryForDeletedHIs(CloneEditState pCloneEditState)
Reconciles the gift repository based on the
DeleteItem s generated during
reconcilication. |
protected void |
reconcileGiftRepositoryForNewShippingGroups(CloneEditState pCloneEditState)
Reconciles the gift repository for any new gift handling instructions that may have been added to new shipping groups
in the clone order.
|
protected void |
reconcileGiftRepositoryForUpdatedHIs(CloneEditState pCloneEditState)
Reconciles the gift repository based on the
UpdateItem s generated during
reconcilication. |
void |
setCommerceItemEditHandler(CommerceItemEditHandler pCommerceItemEditHandler) |
void |
setGiftlistManager(GiftlistManager pGiftlistManager) |
void |
setHandlingInstructionManager(HandlingInstructionManager pHandlingInstructionManager)
Specifies the HandlingInstructionManager.
|
void |
setShippingGroupEditHandler(ShippingGroupEditHandler pShippingGroupEditHandler) |
protected void |
updateItem(CloneEditState pCloneEditState,
UpdateItem pUpdateItem)
Extends the base behavior to handle the condition where the handling instruction
moved from one shipping group to another.
|
protected void |
validateCollection(Order pOriginalOrder,
Order pCloneOrder)
Validates the handling instruction collections for each shipping group in the order.
|
detectChanges, detectDeletes, executeSubPropertyHandlerInitialization, executeSubPropertyHandlerUpdates, executeSubPropertyHandlerValidation, findCounterpartObject, getCloneToOriginalMap, getCollection, getCollectionPropertyName, getMatchingCloneKey, getMatchingOriginalKey, getOriginalToCloneMap, getSortedCollection, getSortPropertyName, getSubPropertyHandlers, initializeCloneEditState, isSubPropertyHandlers, isThrowExceptionsForCollectionChanges, mapOriginalToCloneCollection, saveOriginalToCloneObjectMappings, setCollectionPropertyName, setSortPropertyName, setSubPropertyHandlers, setThrowExceptionsForCollectionChanges, sortCollection, validateCloneOrder, validateCollection, validateCollectionSize
addAddItem, addDeleteItem, addStateData, addUpdateItem, cloneOrder, copyPricingModels, createAddItem, createDeleteItem, createUpdateItem, generateModifications, getAddItems, getCloneEditManager, getDeleteItems, getFulfillmentMessageSender, getKeyForObject, getKeyPropertyName, getObjectType, getOrderFulfillmentTools, getPropertiesToCopy, getPropertiesToCopyOnUpdate, getStateData, getStateMap, getUpdateItems, initializeReconciliationProcess, isAddedItem, parseConfigString, processAddItems, processDeleteItems, processUpdateItems, reconcileObjectProperties, sendFulfillmentNotifications, sendMessage, setCloneEditManager, setFulfillmentMessageSender, setKeyPropertyName, setOrderFulfillmentTools, setPropertiesToCopyOnUpdate
addLogListener, createAdminServlet, doStartService, 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 final java.lang.String CLASS_VERSION
protected GiftlistManager mGiftlistManager
protected CommerceItemEditHandler mCommerceItemEditHandler
protected ShippingGroupEditHandler mShippingGroupEditHandler
protected HandlingInstructionManager mHandlingInstructionManager
public void setGiftlistManager(GiftlistManager pGiftlistManager)
public GiftlistManager getGiftlistManager()
public CommerceItemEditHandler getCommerceItemEditHandler()
public void setCommerceItemEditHandler(CommerceItemEditHandler pCommerceItemEditHandler)
public ShippingGroupEditHandler getShippingGroupEditHandler()
public void setShippingGroupEditHandler(ShippingGroupEditHandler pShippingGroupEditHandler)
public void setHandlingInstructionManager(HandlingInstructionManager pHandlingInstructionManager)
pHandlingInstructionManager
- a HandlingInstructionManager
valuepublic HandlingInstructionManager getHandlingInstructionManager()
HandlingInstructionManager
valueprotected void mapOriginalToClone(CloneEditState pCloneEditState, Order pOriginalOrder, Order pCloneOrder) throws CommerceException
mapOriginalToClone
in class CollectionEditHandler
CommerceException
CollectionEditHandler.mapOriginalToCloneCollection(CloneEditState, Collection, Collection)
protected void detectChangesToCollection(CloneEditState pCloneEditState, java.lang.Object pOriginalCollectionContainer, java.lang.Object pCloneCollectionContainer) throws CommerceException
detectChangesToCollection
in class CollectionEditHandler
pCloneEditState
- the CloneEditState that was created at the beginning of the clone process.pOriginalCollectionContainer
- the object that has the original collection in the property defined by collectionPropertyName
pCloneCollectionContainer
- the object that has the clone collection in the property defined by collectionPropertyName
CommerceException
protected void detectRemovedHandlingInstructions(CloneEditState pCloneEditState)
If the clone counterpart cannot be found anywhere in the clone order, a DeleteItem
is created for the original handling instruction.
pCloneEditState
- protected void detectUpdatesForNewShippingGroup(CloneEditState pCloneEditState, ShippingGroup pNewShippingGroup)
An UpdateItem
is generated for each one found to be moved to a new shipping group.
pCloneEditState
- pNewShippingGroup
- public void applyChanges(CloneEditState pCloneEditState) throws CommerceException
Also reconciles the gift repository based on updates made to gift handling instructions
applyChanges
in class CollectionEditHandler
CommerceException
reconcileGiftlistRepository(CloneEditState)
protected void addItem(CloneEditState pCloneEditState, AddItem pAddItem) throws CommerceException
addItem
in class ListEditHandler
pCloneEditState
- pAddItem
- CommerceException
protected void deleteItem(CloneEditState pCloneEditState, DeleteItem pDeleteItem) throws CommerceException
deleteItem
in class CollectionEditHandler
pCloneEditState
- pDeleteItem
- the DeleteItem objectCommerceException
protected void adjustHandlingInstructionReferences(CloneEditState pCloneEditState, HandlingInstruction pHandlingInstruction)
pCloneEditState
- pHandlingInstruction
- protected void adjustCloneHandlingInstructionReferences(CloneEditState pCloneEditState, HandlingInstruction pHandlingInstruction)
The clones are the counterparts to the current original commerce item and shipping group ids being referenced.
pCloneEditState
- pHandlingInstruction
- public void reconcileGiftlistRepository(CloneEditState pCloneEditState) throws CommerceException
DeleteItem
s, UpdateItem
s and AddItem
s generated
during the update detected process.
Also reconciles new handling instructions added to new shipping groups.
protected void reconcileGiftRepositoryForAddedHIs(CloneEditState pCloneEditState) throws CommerceException
AddItem
s generated during
reconcilication.pCloneEditState
- CommerceException
protected void reconcileGiftRepositoryForUpdatedHIs(CloneEditState pCloneEditState) throws CommerceException
UpdateItem
s generated during
reconcilication.pCloneEditState
- CommerceException
protected void reconcileGiftRepositoryForDeletedHIs(CloneEditState pCloneEditState) throws CommerceException
DeleteItem
s generated during
reconcilication.pCloneEditState
- CommerceException
protected void reconcileGiftRepositoryForNewShippingGroups(CloneEditState pCloneEditState) throws CommerceException
pCloneEditState
- CommerceException
protected void validateCollection(Order pOriginalOrder, Order pCloneOrder) throws CommerceException
validateCollection
in class CollectionEditHandler
CommerceException
CollectionEditHandler.validateCollectionSize(Object, Object)
public void adjustCloneCommerceIdReferences(CloneEditState pCloneEditState) throws CommerceException
adjustCloneCommerceIdReferences
in class CloneEditHandler
CommerceException
public void adjustOriginalCommerceIdReferences(CloneEditState pCloneEditState) throws CommerceException
adjustOriginalCommerceIdReferences
in class CloneEditHandler
CommerceException
protected boolean handleMissingOriginalObject(CloneEditState pCloneEditState, java.lang.Object pCloneContainer, java.lang.Object pCloneObject, java.lang.Object pOriginalContainer, java.lang.Object pOriginalCounterPartKey) throws CommerceException
This implementation will search for the missing original object in the other original shipping groups. If found,
a new UpdateItem
is generated.
updateItem
is implemented to recognize that the original container specified in the UpdateItem
isn't the container that maps to the clone container and handles the move operation.
handleMissingOriginalObject
in class CollectionEditHandler
pCloneContainer
- the container where the clone object is locatedpCloneObject
- the clone object for which the original object is missingpOriginalContainer
- the original container from which the original object is missingpOriginalCounterPartKey
- the key of the missing original object.CommerceException
updateItem(CloneEditState, UpdateItem)
protected ShippingGroup findOriginalShippingGroupForHI(CloneEditState pCloneEditState, java.lang.String pOriginalHIId)
pCloneEditState
- pOriginalHIId
- the handling instruction id to findprotected ShippingGroup findCloneShippingGroupForHI(CloneEditState pCloneEditState, java.lang.String pCloneHIId)
pCloneEditState
- pCloneHIId
- the handling instruction id to findprotected void updateItem(CloneEditState pCloneEditState, UpdateItem pUpdateItem) throws CommerceException
A move occurs when the original container specified in the UpdateItem
isn't the container that maps to the clone container.
updateItem
in class CloneEditHandler
CommerceException
moveItem(CloneEditState, UpdateItem)
protected void moveItem(CloneEditState pCloneEditState, UpdateItem pUpdateItem) throws CommerceException
updateItem
the original container specified in the UpdateItem
isn't the container that maps to the clone container and handles the move operation.pCloneEditState
- pUpdateItem
- CommerceException