atg.commerce.csr.order
Class DuplicateOrder

java.lang.Object
  extended by atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
      extended by atg.nucleus.GenericService
          extended by atg.droplet.EmptyFormHandler
              extended by atg.droplet.GenericFormHandler
                  extended by atg.svc.agent.environment.EnvironmentChangeFormHandler
                      extended by atg.commerce.csr.environment.ChangeOrder
                          extended by atg.commerce.csr.order.DuplicateOrder
All Implemented Interfaces:
atg.droplet.DropletFormHandler, atg.naming.NameContextBindingListener, atg.naming.NameContextElement, atg.naming.NameResolver, atg.nucleus.AdminableService, atg.nucleus.logging.ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, atg.nucleus.logging.VariableArgumentApplicationLogging, atg.nucleus.naming.ComponentNameResolver, atg.nucleus.Service, atg.nucleus.ServiceListener, java.util.EventListener
Direct Known Subclasses:
DuplicateAndSubmit

public class DuplicateOrder
extends ChangeOrder

This form handler is used to duplicate an order and load it as the agent's current working order.


Field Summary
static java.lang.String CLASS_VERSION
          Class version string
protected  java.util.Map mDuplicateOrderExcludedOrderPropertiesMap
           
protected  java.util.Properties mDuplicateOrderExcludedProperties
           
 java.lang.String ORDER_TO_DUPLICATE_INPUT_PARAMETER_NAME
          the name of the input parameter used to pass the order to be duplicated
 
Fields inherited from class atg.commerce.csr.environment.ChangeOrder
ENVRESOURCES, mCSREnvironmentTools
 
Fields inherited from class atg.svc.agent.environment.EnvironmentChangeFormHandler
AGENTRESOURCES, AGENTUSERRESOURCES, mApplicationName, mDoTicketDispositionPrompt, mDoWarnings, mEnvironmentChangeKey, mEnvironmentChangeState, mEnvironmentTools, mInitChangeState, mInputParameters, mMessageTools, mTicketDispositionChangeHandler, mTicketDispositionOptions, mTicketingTools, mTransactionManager, sBundle
 
Fields inherited from class atg.droplet.GenericFormHandler
PARAM_DEFER_FORWARD_OR_REDIRECT, PARAM_USE_FORWARDS
 
Fields inherited from class atg.nucleus.GenericService
SERVICE_INFO_KEY
 
Fields inherited from interface atg.nucleus.logging.TraceApplicationLogging
DEFAULT_LOG_TRACE_STATUS
 
Fields inherited from interface atg.nucleus.logging.ApplicationLogging
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
 
Constructor Summary
DuplicateOrder()
           
 
Method Summary
protected  atg.commerce.order.Order createDuplicateOrder(atg.commerce.order.Order pOrder)
          Creates the duplicate copy of the order
protected  java.util.Map createDuplicateOrderPropExceptionsMap()
          This method is a helper method which is used by the duplicateOrder method.
 java.util.Map getDuplicateOrderExcludedOrderPropertiesMap()
          Generates an the excluded property map based on the duplicateOrderExcludedProperties property.
 java.util.Properties getDuplicateOrderExcludedProperties()
          Returns the excluded order properties when duplicating an order
protected  atg.commerce.order.Order resetPaymentGroupRelationshipAmounts(atg.commerce.order.Order pOrder)
          The order's payment group relationship amount is set to zero.
 void setDuplicateOrderExcludedProperties(java.util.Properties pDuplicateOrderExcludedProperties)
          set the property DuplicateOrderExcludedProperties
protected  void setupInputParameters(java.util.Map pInputParameters, atg.servlet.DynamoHttpServletRequest pRequest, atg.servlet.DynamoHttpServletResponse pResponse)
          This extension creates the duplicate order for the change and adds the necessary input parameters to load the new order as part of the change.
 
Methods inherited from class atg.commerce.csr.environment.ChangeOrder
getCsrEnvironmentTools, postChangeEnvironment, setCsrEnvironmentTools
 
Methods inherited from class atg.svc.agent.environment.EnvironmentChangeFormHandler
addRedirectURLParams, changeEnvironment, conformRedirectURL, getApplicationName, getConfirmPromptURL, getConfirmURL, getEnvironmentChangeKey, getEnvironmentChangeState, getEnvironmentTools, getErrorURL, getInputParameters, getMessageTools, getSuccessURL, getTicketDispositionChangeHandler, getTicketDispositionOptions, getTicketingTools, getTransactionManager, getUserLocale, getUserMessage, getUserMessage, handleChangeEnvironment, initChangeState, initChangeState, isDoTicketDispositionPrompt, isDoWarnings, isInitChangeState, isShowDispositionPrompt, preChangeEnvironment, setApplicationName, setConfirmPromptURL, setConfirmURL, setDoTicketDispositionPrompt, setDoWarnings, setEnvironmentChangeKey, setEnvironmentChangeState, setEnvironmentTools, setErrorURL, setInitChangeState, setInputParameters, setMessageTools, setSuccessURL, setTicketDispositionChangeHandler, setTicketDispositionOptions, setTicketingTools, setTransactionManager
 
Methods inherited from class atg.droplet.GenericFormHandler
addFormException, addUncheckedFormException, afterSet, beforeSet, checkFormRedirect, createFormSubmissionMessage, getCancelURL, getCheckForValidSession, getFormError, getFormExceptions, getFormName, getMessagePort, getMessageSource, getMessageType, getPropertyExceptions, getSendMessages, getUncheckedFormExceptions, handleCancel, handleFormException, handleUncheckedFormException, hasUncheckedFormExceptions, isDeferForwardsAndRedirects, isRestorableForm, isUseForwards, isValidSession, redirectOrForward, resetFormExceptions, setCancelURL, setCheckForValidSession, setDeferForwardsAndRedirects, setFormName, setMessagePort, setMessageSource, setMessageType, setRestorableForm, setSendMessages, setUseForwards
 
Methods inherited from class atg.droplet.EmptyFormHandler
afterGet, beforeGet
 
Methods inherited from class atg.nucleus.GenericService
addLogListener, createAdminServlet, 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

CLASS_VERSION

public static java.lang.String CLASS_VERSION
Class version string


mDuplicateOrderExcludedProperties

protected java.util.Properties mDuplicateOrderExcludedProperties

mDuplicateOrderExcludedOrderPropertiesMap

protected java.util.Map mDuplicateOrderExcludedOrderPropertiesMap

ORDER_TO_DUPLICATE_INPUT_PARAMETER_NAME

public final java.lang.String ORDER_TO_DUPLICATE_INPUT_PARAMETER_NAME
the name of the input parameter used to pass the order to be duplicated

See Also:
Constant Field Values
Constructor Detail

DuplicateOrder

public DuplicateOrder()
Method Detail

setDuplicateOrderExcludedProperties

public void setDuplicateOrderExcludedProperties(java.util.Properties pDuplicateOrderExcludedProperties)
set the property DuplicateOrderExcludedProperties

Parameters:
pDuplicateOrderExcludedProperties - the value to set for property DuplicateOrderExcludedProperties

getDuplicateOrderExcludedProperties

public java.util.Properties getDuplicateOrderExcludedProperties()
Returns the excluded order properties when duplicating an order


createDuplicateOrderPropExceptionsMap

protected java.util.Map createDuplicateOrderPropExceptionsMap()
This method is a helper method which is used by the duplicateOrder method. It creates a Map that will be used by the cloneItem method in RepositoryUtils class as a PropExceptions parameter. The user should override this method if the order item descriptor has changed or some properties which previously requires deep copy now requires shallow copy or vice versa.

This method returns null by default

Returns:
the Map

getDuplicateOrderExcludedOrderPropertiesMap

public java.util.Map getDuplicateOrderExcludedOrderPropertiesMap()
Generates an the excluded property map based on the duplicateOrderExcludedProperties property.

Returns:
returns property DuplicateOrderExcludedOrderPropertiesMap

setupInputParameters

protected void setupInputParameters(java.util.Map pInputParameters,
                                    atg.servlet.DynamoHttpServletRequest pRequest,
                                    atg.servlet.DynamoHttpServletResponse pResponse)
                             throws atg.svc.agent.environment.EnvironmentException
This extension creates the duplicate order for the change and adds the necessary input parameters to load the new order as part of the change.

Overrides:
setupInputParameters in class atg.svc.agent.environment.EnvironmentChangeFormHandler
Throws:
atg.svc.agent.environment.EnvironmentException

createDuplicateOrder

protected atg.commerce.order.Order createDuplicateOrder(atg.commerce.order.Order pOrder)
                                                 throws atg.commerce.CommerceException
Creates the duplicate copy of the order

Parameters:
pOrder -
Returns:
Order
Throws:
atg.commerce.CommerceException
See Also:
CSRAgentTools.duplicateOrder(String, Map, Map), #resetPaymentGroupRelationshipAmounts(Order)}

resetPaymentGroupRelationshipAmounts

protected atg.commerce.order.Order resetPaymentGroupRelationshipAmounts(atg.commerce.order.Order pOrder)
                                                                 throws atg.commerce.CommerceException
The order's payment group relationship amount is set to zero.

Parameters:
pOrder -
Returns:
Throws:
atg.commerce.CommerceException