|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectatg.nucleus.logging.VariableArgumentApplicationLoggingImpl
atg.nucleus.GenericService
atg.commerce.order.edit.CloneEditHandler
atg.commerce.order.edit.CollectionEditHandler
atg.commerce.order.edit.ListEditHandler
atg.commerce.order.edit.HandlingInstructionEditHandler
public class HandlingInstructionEditHandler
This handler updates handling instructions between the clone and original order and reconciles the gift repository based on the changes.
ListEditHandler| Field Summary | |
|---|---|
static java.lang.String |
CLASS_VERSION
|
protected CommerceItemEditHandler |
mCommerceItemEditHandler
|
protected atg.commerce.gifts.GiftlistManager |
mGiftlistManager
|
protected atg.commerce.order.HandlingInstructionManager |
mHandlingInstructionManager
|
protected ShippingGroupEditHandler |
mShippingGroupEditHandler
|
| Fields inherited from class atg.commerce.order.edit.CollectionEditHandler |
|---|
mCollectionPropertyName, mSortPropertyName, mSubPropertyHandlers, mThrowExceptionsForCollectionChanges, STATE_CLONETOORIGINAL_MAP, STATE_ORIGINALTOCLONE_MAP |
| Fields inherited from class atg.commerce.order.edit.CloneEditHandler |
|---|
mFulfillmentMessageSender, mKeyPropertyName, mOrderFulfillmentTools, mPropertiesToCopyOnUpdate, STATE_ADD_ITEMS, STATE_DELETE_ITEMS, STATE_UPDATE_ITEMS |
| 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 | |
|---|---|
HandlingInstructionEditHandler()
|
|
| Method Summary | |
|---|---|
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,
atg.commerce.order.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,
atg.commerce.order.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,
atg.commerce.order.ShippingGroup pNewShippingGroup)
Iterates over all the new shipping groups in the clone order (e.g. |
protected atg.commerce.order.ShippingGroup |
findCloneShippingGroupForHI(CloneEditState pCloneEditState,
java.lang.String pCloneHIId)
Finds the clone shipping group that contains the given clone handling instruction |
protected atg.commerce.order.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. |
atg.commerce.gifts.GiftlistManager |
getGiftlistManager()
All Giftlist manipulations are done with this. |
atg.commerce.order.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,
atg.commerce.order.Order pOriginalOrder,
atg.commerce.order.Order pCloneOrder)
Overrides base behavior to process all the CommerceItemContainers starting with 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 AddItems generated during
reconcilication. |
protected void |
reconcileGiftRepositoryForDeletedHIs(CloneEditState pCloneEditState)
Reconciles the gift repository based on the DeleteItems 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 UpdateItems generated during
reconcilication. |
void |
setCommerceItemEditHandler(CommerceItemEditHandler pCommerceItemEditHandler)
|
void |
setGiftlistManager(atg.commerce.gifts.GiftlistManager pGiftlistManager)
|
void |
setHandlingInstructionManager(atg.commerce.order.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(atg.commerce.order.Order pOriginalOrder,
atg.commerce.order.Order pCloneOrder)
Validates the handling instruction collections for each shipping group in the order. |
| Methods inherited from class atg.nucleus.GenericService |
|---|
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 |
| Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl |
|---|
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, 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 |
|---|
public static final java.lang.String CLASS_VERSION
protected atg.commerce.gifts.GiftlistManager mGiftlistManager
protected CommerceItemEditHandler mCommerceItemEditHandler
protected ShippingGroupEditHandler mShippingGroupEditHandler
protected atg.commerce.order.HandlingInstructionManager mHandlingInstructionManager
| Constructor Detail |
|---|
public HandlingInstructionEditHandler()
| Method Detail |
|---|
public void setGiftlistManager(atg.commerce.gifts.GiftlistManager pGiftlistManager)
public atg.commerce.gifts.GiftlistManager getGiftlistManager()
public CommerceItemEditHandler getCommerceItemEditHandler()
public void setCommerceItemEditHandler(CommerceItemEditHandler pCommerceItemEditHandler)
public ShippingGroupEditHandler getShippingGroupEditHandler()
public void setShippingGroupEditHandler(ShippingGroupEditHandler pShippingGroupEditHandler)
public void setHandlingInstructionManager(atg.commerce.order.HandlingInstructionManager pHandlingInstructionManager)
pHandlingInstructionManager - a HandlingInstructionManager valuepublic atg.commerce.order.HandlingInstructionManager getHandlingInstructionManager()
HandlingInstructionManager value
protected void mapOriginalToClone(CloneEditState pCloneEditState,
atg.commerce.order.Order pOriginalOrder,
atg.commerce.order.Order pCloneOrder)
throws atg.commerce.CommerceException
mapOriginalToClone in class CollectionEditHandleratg.commerce.CommerceExceptionCollectionEditHandler.mapOriginalToCloneCollection(CloneEditState, Collection, Collection)
protected void detectChangesToCollection(CloneEditState pCloneEditState,
java.lang.Object pOriginalCollectionContainer,
java.lang.Object pCloneCollectionContainer)
throws atg.commerce.CommerceException
detectChangesToCollection in class CollectionEditHandlerpCloneEditState - 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 collectionPropertyNamepCloneCollectionContainer - the object that has the clone collection in the property defined by collectionPropertyName
atg.commerce.CommerceExceptionprotected 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,
atg.commerce.order.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 atg.commerce.CommerceException
Also reconciles the gift repository based on updates made to gift handling instructions
applyChanges in class CollectionEditHandleratg.commerce.CommerceExceptionreconcileGiftlistRepository(CloneEditState)
protected void addItem(CloneEditState pCloneEditState,
AddItem pAddItem)
throws atg.commerce.CommerceException
addItem in class ListEditHandlerpCloneEditState - pAddItem -
atg.commerce.CommerceException
protected void deleteItem(CloneEditState pCloneEditState,
DeleteItem pDeleteItem)
throws atg.commerce.CommerceException
deleteItem in class CollectionEditHandlerpCloneEditState - pDeleteItem - the DeleteItem object
atg.commerce.CommerceException
protected void adjustHandlingInstructionReferences(CloneEditState pCloneEditState,
atg.commerce.order.HandlingInstruction pHandlingInstruction)
pCloneEditState - pHandlingInstruction -
protected void adjustCloneHandlingInstructionReferences(CloneEditState pCloneEditState,
atg.commerce.order.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 atg.commerce.CommerceException
DeleteItems, UpdateItems and AddItems generated
during the update detected process.
Also reconciles new handling instructions added to new shipping groups.
pCloneEditState -
atg.commerce.CommerceExceptionCloneEditHandler.getDeleteItems(CloneEditState),
CloneEditHandler.getAddItems(CloneEditState),
CloneEditHandler.getUpdateItems(CloneEditState),
reconcileGiftRepositoryForNewShippingGroups(CloneEditState)
protected void reconcileGiftRepositoryForAddedHIs(CloneEditState pCloneEditState)
throws atg.commerce.CommerceException
AddItems generated during
reconcilication.
pCloneEditState -
atg.commerce.CommerceException
protected void reconcileGiftRepositoryForUpdatedHIs(CloneEditState pCloneEditState)
throws atg.commerce.CommerceException
UpdateItems generated during
reconcilication.
pCloneEditState -
atg.commerce.CommerceException
protected void reconcileGiftRepositoryForDeletedHIs(CloneEditState pCloneEditState)
throws atg.commerce.CommerceException
DeleteItems generated during
reconcilication.
pCloneEditState -
atg.commerce.CommerceException
protected void reconcileGiftRepositoryForNewShippingGroups(CloneEditState pCloneEditState)
throws atg.commerce.CommerceException
pCloneEditState -
atg.commerce.CommerceException
protected void validateCollection(atg.commerce.order.Order pOriginalOrder,
atg.commerce.order.Order pCloneOrder)
throws atg.commerce.CommerceException
validateCollection in class CollectionEditHandleratg.commerce.CommerceExceptionCollectionEditHandler.validateCollectionSize(Object, Object)
public void adjustCloneCommerceIdReferences(CloneEditState pCloneEditState)
throws atg.commerce.CommerceException
adjustCloneCommerceIdReferences in class CloneEditHandleratg.commerce.CommerceException
public void adjustOriginalCommerceIdReferences(CloneEditState pCloneEditState)
throws atg.commerce.CommerceException
adjustOriginalCommerceIdReferences in class CloneEditHandleratg.commerce.CommerceException
protected boolean handleMissingOriginalObject(CloneEditState pCloneEditState,
java.lang.Object pCloneContainer,
java.lang.Object pCloneObject,
java.lang.Object pOriginalContainer,
java.lang.Object pOriginalCounterPartKey)
throws atg.commerce.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 CollectionEditHandlerpCloneContainer - 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.
atg.commerce.CommerceExceptionupdateItem(CloneEditState, UpdateItem)
protected atg.commerce.order.ShippingGroup findOriginalShippingGroupForHI(CloneEditState pCloneEditState,
java.lang.String pOriginalHIId)
pCloneEditState - pOriginalHIId - the handling instruction id to find
protected atg.commerce.order.ShippingGroup findCloneShippingGroupForHI(CloneEditState pCloneEditState,
java.lang.String pCloneHIId)
pCloneEditState - pCloneHIId - the handling instruction id to find
protected void updateItem(CloneEditState pCloneEditState,
UpdateItem pUpdateItem)
throws atg.commerce.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 CloneEditHandleratg.commerce.CommerceExceptionmoveItem(CloneEditState, UpdateItem)
protected void moveItem(CloneEditState pCloneEditState,
UpdateItem pUpdateItem)
throws atg.commerce.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 -
atg.commerce.CommerceException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||