public class ScheduledOrderTools extends MessageSender
MessageSender
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_VERSION |
static int |
ERROR_MAX_LENGTH |
protected RqlStatement |
mSchedulesByProfileQuery |
protected RqlStatement |
mSchedulesByTemplateQuery |
protected boolean |
mSendMessages
Determines whether to send ScneduledOrder JMS messages
|
protected SiteContextManager |
mSiteContextManager |
protected SiteManager |
mSiteManager |
protected boolean |
mUseOrderPriceListsFirst |
DEFAULT_MESSAGE_SOURCE_NAME
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 |
---|
ScheduledOrderTools()
Constructs an empty ScheduleOrderTools
|
Modifier and Type | Method and Description |
---|---|
void |
activateSchedule(java.lang.String pScheduledOrderItemId)
Activates the given scheduled order item.
|
protected void |
addErrorToScheduledOrderErrorItem(RepositoryItem pScheduledOrderItem,
MutableRepositoryItem pScheduledOrderErrorItem,
java.lang.Object pError)
Creates a new error string from the given error object and adds to the list
of errors contained in the given scheduled order error item.
|
boolean |
areAllDatesSelected(CalendarSchedule pCalendarSchedule)
Returns true if all dates are selected in the schedule
|
boolean |
areAllDaysSelected(CalendarSchedule pCalendarSchedule)
Returns true if all of the days of the week are selected.
|
boolean |
areAllMonthsSelected(CalendarSchedule pCalendarSchedule)
Returns true if all months are selected in the calendar
|
boolean |
areAllOccurrencesSelected(CalendarSchedule pCalendarSchedule)
Returns true if all occurrences are currently selected in the schedule
|
boolean |
areAnyDatesSelected(CalendarSchedule pCalendarSchedule)
Returns true if some dates, but not all are selected in the schedule
|
boolean |
areAnyDaysSelected(CalendarSchedule pCalendarSchedule)
Returns true if some of the days of the week are selected.
|
boolean |
areAnyOccurrencesSelected(CalendarSchedule pCalendarSchedule)
Returns true if only some, but not all occurrences are currently selected in the schedule
|
long |
calculateEndTimeForOccurrences(Schedule pSchedule,
long pNumberOfOccurrences,
long pStartingFrom)
Calculates the time that would result from executing the given schedule for the
given number of occurrences.
|
void |
changeOriginToScheduledOrder(Order pOrder)
This method changes the originOfOrder property of an order to scheduledOrder.
|
protected void |
clearLastError(MutableRepositoryItem pScheduledOrderItem)
Sets the error item property on the scheduled order item to null.
|
Order |
cloneOrder(Order pOrder,
RepositoryItem pProfile,
DynamoHttpServletRequest pRequest)
This method actually makes the current order as the cloned order and create an empty order
as the current order.
|
Order |
cloneOrder(java.lang.String pOrderId)
This method clones an existing order.
|
Order |
cloneOrderObject(java.lang.String pOrderId)
This method prepares the clone order from the given order id.
|
protected java.util.Map |
createMap()
This method is a helper method which is used by the cloneOrder method.
|
java.util.Map |
createParameterMapForCloneOrderPricing(Order pCloneOrder,
Order pParentOrder,
RepositoryItem pProfile)
Creates the extra parameter map that is used to an order created
by the
|
protected java.util.HashMap |
createParameterMapForProcessingScheduledOrder(RepositoryItem pScheduledOrder,
Order pClonedOrder,
java.util.Locale pLocale)
Creates the extra parameter map that is passed to processOrder in
processScheduledOrder |
java.util.Map |
createParameterMapForTemplateOrderPricing(Order pTemplateOrder,
RepositoryItem pProfile)
Creates a parameter map for pricing a template order.
|
RepositoryItem |
createScheduledOrder()
Create a Scheduled Order in the ScheduledOrder Repository
|
void |
deactivateSchedule(java.lang.String pScheduledOrderItemId)
Deactivates the given scheduled order item.
|
void |
deleteScheduledOrder(RepositoryItem pScheduledOrder,
RepositoryItem pProfile)
Delete the Scheduled Order from the scheduled order Repository
|
RepositoryItem |
determineListPriceListForOrderPricing(Order pOrder,
RepositoryItem pProfile)
Determines the list price list to use for pricing the order.
|
protected RepositoryItem |
determinePriceListForOrderPricing(Order pOrder,
RepositoryItem pProfile,
java.lang.String pPriceListPropertyName)
Determines the price list that should be used to pricing the given order.
|
RepositoryItem |
determineSalePriceListForOrderPricing(Order pOrder,
RepositoryItem pProfile)
Determines the sale price list to use for pricing the order.
|
Query |
generateQueryForOrdersCreatedByTemplate(java.lang.String pTemplateOrderId,
QueryBuilder pQueryBuilder)
Generates a Query for all orders created by the template.
|
CommerceProfileTools |
getCommerceProfileTools()
returns the property CommerceProfileTools
|
java.util.Locale |
getDefaultLocale()
Retrieve the default Locale
|
java.util.Properties |
getExcludedOrderProperties()
returns the property ExcludedOrderProperties
|
java.util.Map |
getExcludedOrderPropertiesMap()
returns the property ExcludedOrderPropertiesMap
|
PricingEngineService |
getItemPricingEngineService()
returns the property ItemPricingEngineService
|
Order |
getLastOrderSubmittedFromTemplate(java.lang.String pTemplateOrderId)
Finds the latest order that was submitted from the given template.
|
java.lang.String |
getOrderItemDescriptor()
Returns property OrderItemDescriptor
|
OrderManager |
getOrderManager()
Returns property OrderManager
|
PricingEngineService |
getOrderPricingEngineService()
returns the property OrderPricingEngineService
|
PaymentGroupManager |
getPaymentGroupManager()
Returns property PaymentGroupManager
|
PipelineManager |
getPipelineManager()
Retrieve the PipelineManager
|
protected RepositoryItem |
getPriceListFromOrder(Order pOrder,
java.lang.String pPriceListPropertyName)
Returns a price list from the order
|
protected RepositoryItem |
getPriceListFromSite(Order pOrder,
RepositoryItem pProfile,
java.lang.String pPricelistPropertyName)
Returns a price list that is appropriate for a profile and order's site.
|
PriceListManager |
getPriceListManager()
returns the property PriceListManager
|
java.util.Locale |
getPricingLocale(RepositoryItem pProfile)
Returns the locale that should be used to price the given order.
|
PricingTools |
getPricingTools()
returns the property PricingTools
|
java.lang.String |
getProcessOrderChainId()
returns the property ProcessOrderChainId
|
RepositoryItem |
getProfile(RepositoryItem pScheduledOrder)
Get the Profile information from the Scheduled Order
|
RepositoryItem |
getProfileFromOrder(Order pOrder)
Calls
CommerceProfileTools.getProfileForOrder(atg.commerce.order.Order, boolean) }
in order to extract the profile from the given order. |
java.lang.String |
getProfileType()
Retrieve the Profile Type
|
java.lang.String |
getRepriceOrderChainId()
returns the property RepriceOrderChainId
|
java.lang.String |
getScheduleClassType(RepositoryItem pScheduledOrderItem,
java.util.Locale pLocale)
Returns the schedule class type for the given scheduled order item
|
java.lang.String |
getScheduledOrderErrorItemDescriptor()
Returns property ScheduledOrderErrorItemDescriptor
|
RepositoryItem |
getScheduledOrderItem(java.lang.String pScheduledOrderItemId)
Returns the schedule repository item
|
java.lang.String |
getScheduledOrderItemDescriptor()
Returns property ScheduledOrderItemDescriptor
|
RepositoryItem[] |
getScheduledOrderItemsByProfileId(java.lang.String pProfileId)
Returns all scheduled order items for the given profile id
|
RepositoryItem[] |
getScheduledOrderItemsByProfileId(java.lang.String pProfileId,
java.util.Collection<java.lang.String> pSiteIds)
Returns all scheduled order items for the given profile id in the given sites
|
RepositoryItem[] |
getScheduledOrderItemsByTemplateId(java.lang.String pTemplateId)
Returns all scheduled order items for the given order template id
|
MutableRepository |
getScheduledOrderRepository()
Returns property ScheduledOrderRepository
|
Schedule |
getScheduleFromScheduledOrder(RepositoryItem pScheduledOrderItem) |
Schedule |
getScheduleFromScheduledOrder(RepositoryItem pScheduledOrderItem,
java.util.Locale pLocale)
Returns the schedule object from the given scheduled order repository item
|
Schedule |
getScheduleFromScheduleString(java.lang.String pSchedule,
java.util.Locale pLocale)
Returns a schedule object based on the schedule string provided.
|
java.lang.String |
getScheduleOrderPort()
returns the property ScheduleOrderPort
|
RqlStatement |
getSchedulesByProfileQuery()
Returns property SchedulesByProfileQuery.
|
RqlStatement |
getSchedulesByTemplateQuery()
Returns property SchedulesByTemplateQuery.
|
PricingEngineService |
getShippingPricingEngineService()
returns the property ShippingPricingEngineService
|
SiteContextManager |
getSiteContextManager()
returns SiteContextManager
|
SiteManager |
getSiteManager()
returns SiteManager
|
PricingEngineService |
getTaxPricingEngineService()
returns the property TaxPricingEngineService
|
java.lang.String |
getTemplateOrder(RepositoryItem pScheduledOrder)
Get the template order from the Scheduled Order
|
javax.transaction.TransactionManager |
getTransactionManager()
Returns property TransactionManager
|
boolean |
isApplyGlobalPricingModels()
returns the property ApplyGlobalPricingModels
|
boolean |
isApplyUserPricingModels()
returns the property ApplyUserPricingModels
|
boolean |
isRepriceOnClone()
returns the property RepriceOnClone
|
boolean |
isScheduledForEveryDay(CalendarSchedule pCalendarSchedule)
Determines if the schedule is setup to run every day.
|
boolean |
isScheduledOrderTemplate(Order pOrder)
Determines if an order is a scheduled order template.
|
boolean |
isSendMessages() |
boolean |
isUseOrderPriceListsFirst()
The property controls how the price lists are determined when pricing
a scheduled order.
|
java.util.Collection |
parseString(java.lang.String pString)
Parse a String which is delimited by "|" into a collection of strings.
|
PipelineResult |
processScheduledOrder(RepositoryItem pScheduledOrder,
Order pClonedOrder,
java.util.Locale pLocale)
This method processes the Scheduled Order via executing the processOrder pipeline chain.
|
protected void |
processScheduledOrderErrors(MutableRepositoryItem pScheduledOrderItem,
java.lang.Throwable pThrownException,
PipelineResult pResult)
Processes errors that occurred when processing a scheduled order.
|
void |
repriceCloneOrder(Order pCloneOrder,
Order pParentOrder,
RepositoryItem pProfile,
java.util.Locale pPricingLocale)
Reprices the clone order
|
void |
repriceScheduledOrder(Order pScheduledOrder,
RepositoryItem pProfile,
java.util.Locale pPricingLocale) |
void |
repriceScheduledOrder(Order pScheduledOrder,
RepositoryItem pProfile,
java.util.Locale pPricingLocale,
java.util.Map pExtraParameters)
Reprices the given scheduled order using the available promotions for the profile.
|
protected void |
scheduledOrderAdded(RepositoryItem pScheduledOrder,
RepositoryItem pProfile)
Send the message that the Scheduled Order is Added
|
void |
scheduledOrderDeleted(RepositoryItem pScheduledOrder,
RepositoryItem pProfile)
Send the message that the Scheduled Order is Deleted
|
void |
scheduledOrderProcessed(RepositoryItem pScheduledOrder,
RepositoryItem pProfile)
Send the message that the Scheduled Order is Processed
|
protected void |
scheduledOrderUpdated(RepositoryItem pScheduledOrder,
RepositoryItem pProfile)
Send the message that the Scheduled Order is Updateded
|
void |
sendScheduledOrderMessage(CommerceMessage pMessage)
Send the Scheduled Order Message
|
void |
setApplyGlobalPricingModels(boolean pApplyGlobalPricingModels)
set the property ApplyGlobalPricingModels
|
void |
setApplyUserPricingModels(boolean pApplyUserPricingModels)
set the property ApplyUserPricingModels
|
void |
setCommerceProfileTools(CommerceProfileTools pCommerceProfileTools)
Set property CommerceProfileTools
|
void |
setExcludedOrderProperties(java.util.Properties pExcludedOrderProperties)
set the property ExcludedOrderProperties
|
void |
setItemPricingEngineService(PricingEngineService pItemPricingEngineService)
set the property ItemPricingEngineService
|
void |
setOrderItemDescriptor(java.lang.String pOrderItemDescriptor)
Sets property OrderItemDescriptor
|
void |
setOrderManager(OrderManager pOrderManager)
Sets property OrderManager
|
void |
setOrderPricingEngineService(PricingEngineService pOrderPricingEngineService)
set the property OrderPricingEngineService
|
void |
setPaymentGroupManager(PaymentGroupManager pPaymentGroupManager)
Sets property PaymentGroupManager
|
void |
setPriceListManager(PriceListManager pPriceListManager)
set the property PriceListManager
|
void |
setPricingTools(PricingTools pPricingTools)
set the property PricingTools
|
void |
setProcessOrderChainId(java.lang.String pProcessOrderChainId)
set the property ProcessOrderChainId
|
void |
setRepriceOnClone(boolean pRepriceOnClone)
set the property RepriceOnClone
|
void |
setRepriceOrderChainId(java.lang.String pRepriceOrderChainId)
set the property RepriceOrderChainId
|
void |
setScheduledOrderErrorItemDescriptor(java.lang.String pScheduledOrderErrorItemDescriptor)
Sets property ScheduledOrderErrorItemDescriptor
|
void |
setScheduledOrderItemDescriptor(java.lang.String pScheduledOrderItemDescriptor)
Sets property ScheduledOrderItemDescriptor
|
void |
setScheduledOrderRepository(MutableRepository pScheduledOrderRepository)
Sets property ScheduledOrderRepository
|
void |
setScheduleOrderPort(java.lang.String pScheduleOrderPort)
set the property ScheduleOrderPort
|
void |
setSchedulesByProfileQuery(RqlStatement pSchedulesByProfileQuery)
Sets property SchedulesByProfileQuery
|
void |
setSchedulesByTemplateQuery(RqlStatement pSchedulesByTemplateQuery)
Sets property SchedulesByTemplateQuery
|
void |
setSendMessages(boolean pSendMessages)
set sendMessages flag
|
void |
setShippingPricingEngineService(PricingEngineService pShippingPricingEngineService)
set the property ShippingPricingEngineService
|
void |
setSiteContextManager(SiteContextManager pSiteContextManager)
Set SiteContextManager
|
void |
setSiteManager(SiteManager pSiteManager)
Set SiteManager
|
void |
setTaxPricingEngineService(PricingEngineService pTaxPricingEngineService)
set the property TaxPricingEngineService
|
void |
setUseOrderPriceListsFirst(boolean pUseOrderPriceListsFirst) |
boolean |
shouldProcessOrder(java.lang.String pOrderId)
Checks to see if an order should be processed based on its site's
state (if any).
|
void |
updateScheduledOrder(MutableRepositoryItem pScheduledOrder,
RepositoryItem pProfile)
Update the Scheduled Order in the scheduled order Repository
|
getMessageIdGenerator, getMessageIdSpaceName, getMessageSourceContext, getMessageSourceName, getNextMessageId, getPortName, isAllowMessageSending, sendCommerceMessage, setAllowMessageSending, setMessageIdGenerator, setMessageIdSpaceName, setMessageSourceContext, setMessageSourceName, setPortName, startMessageSource, stopMessageSource
receiveMessage, sendCommerceMessage
beforeSendMessage, getDefaultMessageSourceName, getDelayOnSendRetry, getLimboDeliveryDelay, sendObjectMessage, setDelayOnSendRetry, setLimboDeliveryDelay, setTransactionManager
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 java.lang.String CLASS_VERSION
public static final int ERROR_MAX_LENGTH
protected boolean mUseOrderPriceListsFirst
protected RqlStatement mSchedulesByTemplateQuery
protected RqlStatement mSchedulesByProfileQuery
protected SiteContextManager mSiteContextManager
protected SiteManager mSiteManager
protected boolean mSendMessages
public ScheduledOrderTools()
public boolean isUseOrderPriceListsFirst()
If true, the list and sale price lists will first be extracted from the scheduled order template and will take precedence over the profile's assigned price list.
If false, the list and sale price lists will be determined from the profile's assigned price lists.
Note that extracting the price lists from the scheduled order template requires that its pricing information must be persisted in the order repository.
Default configuration is false
public void setUseOrderPriceListsFirst(boolean pUseOrderPriceListsFirst)
public RqlStatement getSchedulesByTemplateQuery()
public void setSchedulesByTemplateQuery(RqlStatement pSchedulesByTemplateQuery)
pSchedulesByTemplateQuery
- the value to set for property SchedulesByTemplateQuerypublic RqlStatement getSchedulesByProfileQuery()
public void setSchedulesByProfileQuery(RqlStatement pSchedulesByProfileQuery)
pSchedulesByProfileQuery
- the value to set for property SchedulesByProfileQuerypublic void setPaymentGroupManager(PaymentGroupManager pPaymentGroupManager)
pPaymentGroupManager
- the value to set for property PaymentGroupManagerpublic PaymentGroupManager getPaymentGroupManager()
public void setOrderManager(OrderManager pOrderManager)
pOrderManager
- the value to set for property OrderManagerpublic OrderManager getOrderManager()
public MutableRepository getScheduledOrderRepository()
public void setScheduledOrderRepository(MutableRepository pScheduledOrderRepository)
pScheduledOrderRepository
- the value to set for property ScheduledOrderRepositorypublic java.lang.String getScheduledOrderItemDescriptor()
public void setScheduledOrderItemDescriptor(java.lang.String pScheduledOrderItemDescriptor)
pScheduledOrderItemDescriptor
- the value to set for property ScheduledOrderItemDescriptorpublic java.lang.String getScheduledOrderErrorItemDescriptor()
public void setScheduledOrderErrorItemDescriptor(java.lang.String pScheduledOrderErrorItemDescriptor)
pScheduledOrderErrorItemDescriptor
- the value to set for property ScheduledOrderErrorItemDescriptorpublic java.lang.String getOrderItemDescriptor()
public void setOrderItemDescriptor(java.lang.String pOrderItemDescriptor)
pOrderItemDescriptor
- the value to set for property OrderItemDescriptorpublic javax.transaction.TransactionManager getTransactionManager()
getTransactionManager
in class atg.dms.forward.SourceSinkTemplate
public void setCommerceProfileTools(CommerceProfileTools pCommerceProfileTools)
pCommerceProfileTools
- the value to set for property CommerceProfileToolspublic CommerceProfileTools getCommerceProfileTools()
public void setApplyUserPricingModels(boolean pApplyUserPricingModels)
pApplyUserPricingModels
- the value to set for property ApplyUserPricingModelspublic boolean isApplyUserPricingModels()
public void setApplyGlobalPricingModels(boolean pApplyGlobalPricingModels)
pApplyGlobalPricingModels
- the value to set for property ApplyGlobalPricingModelspublic boolean isApplyGlobalPricingModels()
public void setRepriceOnClone(boolean pRepriceOnClone)
pRepriceOnClone
- the value to set for property RepriceOnClonepublic boolean isRepriceOnClone()
public void setRepriceOrderChainId(java.lang.String pRepriceOrderChainId)
pRepriceOrderChainId
- the value to set for proeprty RepriceOrderChainIdpublic java.lang.String getRepriceOrderChainId()
public void setProcessOrderChainId(java.lang.String pProcessOrderChainId)
pProcessOrderChainId
- the value to set for property ProcessOrderChainIdpublic java.lang.String getProcessOrderChainId()
public void setScheduleOrderPort(java.lang.String pScheduleOrderPort)
pScheduleOrderPort
- the value to set for property ScheduleOrderPortpublic java.lang.String getScheduleOrderPort()
public void setExcludedOrderProperties(java.util.Properties pExcludedOrderProperties)
pExcludedOrderProperties
- the value to set for property ExcludedOrderPropertiespublic java.util.Properties getExcludedOrderProperties()
public java.util.Map getExcludedOrderPropertiesMap()
public void setItemPricingEngineService(PricingEngineService pItemPricingEngineService)
pItemPricingEngineService
- the value to set for property ItemPricingEngineServicepublic PricingEngineService getItemPricingEngineService()
public void setShippingPricingEngineService(PricingEngineService pShippingPricingEngineService)
pShippingPricingEngineService
- the value to set for property ShippingPricingEngineServicepublic PricingEngineService getShippingPricingEngineService()
public void setOrderPricingEngineService(PricingEngineService pOrderPricingEngineService)
pOrderPricingEngineService
- the value to set for property OrderPricingEngineServicepublic PricingEngineService getOrderPricingEngineService()
public void setTaxPricingEngineService(PricingEngineService pTaxPricingEngineService)
pTaxPricingEngineService
- the value to set for property TaxPricingEngineServicepublic PricingEngineService getTaxPricingEngineService()
public void setPricingTools(PricingTools pPricingTools)
pPricingTools
- the value to set for property PricingToolspublic PricingTools getPricingTools()
public void setPriceListManager(PriceListManager pPriceListManager)
pPriceListManager
- the value to set for property PriceListManagerpublic PriceListManager getPriceListManager()
public SiteContextManager getSiteContextManager()
public void setSiteContextManager(SiteContextManager pSiteContextManager)
pSiteContextManager
- the SiteContextManager to setpublic SiteManager getSiteManager()
public void setSiteManager(SiteManager pSiteManager)
pSiteManager
- the SiteManager to setpublic boolean isSendMessages()
public void setSendMessages(boolean pSendMessages)
pSendMessages
- true
to send ScheduledOrder messages, false
to suppress thempublic java.util.Collection parseString(java.lang.String pString)
public java.lang.String getProfileType()
public java.util.Locale getDefaultLocale()
public PipelineManager getPipelineManager()
public RepositoryItem createScheduledOrder() throws RepositoryException
RepositoryException
- if there was an error while dealing with the Repositorypublic RepositoryItem getProfile(RepositoryItem pScheduledOrder) throws RepositoryException, CommerceException
pScheduledOrder
- The Scheduled OrderRepositoryException
- if there was an error while dealing with the RepositoryCommerceException
- if there was a general errorpublic RepositoryItem getProfileFromOrder(Order pOrder) throws RepositoryException, CommerceException
CommerceProfileTools.getProfileForOrder(atg.commerce.order.Order, boolean)
}
in order to extract the profile from the given order.pOrder
- RepositoryException
CommerceException
public java.lang.String getTemplateOrder(RepositoryItem pScheduledOrder) throws RepositoryException, CommerceException
pScheduledOrder
- The Scheduled OrderRepositoryException
- if there was an error while dealing with the RepositoryCommerceException
- if there was a general errorpublic void updateScheduledOrder(MutableRepositoryItem pScheduledOrder, RepositoryItem pProfile) throws CommerceException
pScheduledOrder
- The Scheduled OrderpProfile
- The ProfileCommerceException
- if there was a general errorpublic void deleteScheduledOrder(RepositoryItem pScheduledOrder, RepositoryItem pProfile) throws CommerceException
pScheduledOrder
- The Scheduled OrderpProfile
- The ProfileCommerceException
- if there was a general errorpublic void sendScheduledOrderMessage(CommerceMessage pMessage) throws CommerceException
pMessage
- Message related to the action about the scheduled orderCommerceException
- if there was a general errorprotected void scheduledOrderAdded(RepositoryItem pScheduledOrder, RepositoryItem pProfile) throws CommerceException
pScheduledOrder
- The Scheduled OrderpProfile
- The ProfileCommerceException
- if there was a general errorprotected void scheduledOrderUpdated(RepositoryItem pScheduledOrder, RepositoryItem pProfile) throws CommerceException
pScheduledOrder
- The Scheduled OrderpProfile
- The ProfileCommerceException
- if there was a general errorpublic void scheduledOrderProcessed(RepositoryItem pScheduledOrder, RepositoryItem pProfile) throws CommerceException
pScheduledOrder
- The Scheduled OrderpProfile
- The ProfileCommerceException
- if there was a general errorpublic void scheduledOrderDeleted(RepositoryItem pScheduledOrder, RepositoryItem pProfile) throws CommerceException
pScheduledOrder
- The Scheduled OrderpProfile
- The ProfileCommerceException
- if there was a general errorpublic PipelineResult processScheduledOrder(RepositoryItem pScheduledOrder, Order pClonedOrder, java.util.Locale pLocale) throws CommerceException
pScheduledOrder
- the scheduled orderpLocale
- the locale of the userpClonedOrder
- the cloned orderCommerceException
- thrown if an error occurs while checking out the Orderprotected java.util.HashMap createParameterMapForProcessingScheduledOrder(RepositoryItem pScheduledOrder, Order pClonedOrder, java.util.Locale pLocale)
processScheduledOrder
pScheduledOrder
- pClonedOrder
- pLocale
- public void repriceScheduledOrder(Order pScheduledOrder, RepositoryItem pProfile, java.util.Locale pPricingLocale) throws CommerceException
public void repriceScheduledOrder(Order pScheduledOrder, RepositoryItem pProfile, java.util.Locale pPricingLocale, java.util.Map pExtraParameters) throws CommerceException
pScheduledOrder
- pProfile
- pPricingLocale
- pExtraParameters
- CommerceException
public java.util.Map createParameterMapForCloneOrderPricing(Order pCloneOrder, Order pParentOrder, RepositoryItem pProfile)
pCloneOrder
- the new clone orderpParentOrder
- the order from which the clone was createdpProfile
- the order owning profilecreateParameterMapForTemplateOrderPricing(Order, RepositoryItem)
public java.util.Map createParameterMapForTemplateOrderPricing(Order pTemplateOrder, RepositoryItem pProfile)
pTemplateOrder
- pProfile
- determinePriceListForOrderPricing(Order, RepositoryItem, String)
public RepositoryItem determineListPriceListForOrderPricing(Order pOrder, RepositoryItem pProfile)
pOrder
- pProfile
- determinePriceListForOrderPricing(Order, RepositoryItem, String)
public RepositoryItem determineSalePriceListForOrderPricing(Order pOrder, RepositoryItem pProfile)
pOrder
- pProfile
- determinePriceListForOrderPricing(Order, RepositoryItem, String)
protected RepositoryItem determinePriceListForOrderPricing(Order pOrder, RepositoryItem pProfile, java.lang.String pPriceListPropertyName)
The price list is determined by extracting the price list from the order's
current pricing info or from the assigned profile's price list. The precedence is determined
by the configuration of the useOrderPriceListsFirst
property.
pOrder
- pProfile
- pPriceListPropertyName
- the name of the profile property for storing the price listisUseOrderPriceListsFirst()
,
getPriceListFromOrder(atg.commerce.order.Order, String)
protected RepositoryItem getPriceListFromSite(Order pOrder, RepositoryItem pProfile, java.lang.String pPricelistPropertyName)
pOrder
- order instancepProfile
- user profile repository itempPricelistPropertyName
- price list property nameprotected RepositoryItem getPriceListFromOrder(Order pOrder, java.lang.String pPriceListPropertyName)
pOrder
- pPriceListPropertyName
- the configured property name for storing the price list
on the profile.PricingTools.getListPriceListFromOrder(Order)
,
PricingTools.getSalePriceListFromOrder(Order)
public void activateSchedule(java.lang.String pScheduledOrderItemId) throws CommerceException
pScheduledOrderItemId
- CommerceException
public void deactivateSchedule(java.lang.String pScheduledOrderItemId) throws CommerceException
pScheduledOrderItemId
- CommerceException
public Order cloneOrder(java.lang.String pOrderId) throws CommerceException
pOrderId
- the id of the order that will be clonedCommerceException
- if an error occurscloneOrderObject(String)
,
repriceCloneOrder(atg.commerce.order.Order, atg.commerce.order.Order, atg.repository.RepositoryItem, java.util.Locale)
,
RepositoryUtils
public void repriceCloneOrder(Order pCloneOrder, Order pParentOrder, RepositoryItem pProfile, java.util.Locale pPricingLocale) throws CommerceException
pCloneOrder
- pParentOrder
- pProfile
- CommerceException
public java.util.Locale getPricingLocale(RepositoryItem pProfile)
This method will first look on the profile for a locale and if not found return the default locale.
pProfile
- public Order cloneOrderObject(java.lang.String pOrderId) throws CommerceException
pOrderId
- CommerceException
public Order cloneOrder(Order pOrder, RepositoryItem pProfile, DynamoHttpServletRequest pRequest) throws CommerceException
pOrder
- the current orderpProfile
- the user's profilepRequest
- the HttpDynamoRequestCommerceException
- if an error occursprotected java.util.Map createMap()
RepositoryUtils
public void changeOriginToScheduledOrder(Order pOrder) throws RepositoryException
pOrder
- the order that will be changed for its originOfOrder property to scheduledOrderRepositoryException
RepositoryUtils
public boolean isScheduledOrderTemplate(Order pOrder)
pOrder
- public RepositoryItem[] getScheduledOrderItemsByProfileId(java.lang.String pProfileId)
pProfileId
- RepositoryException
public RepositoryItem[] getScheduledOrderItemsByProfileId(java.lang.String pProfileId, java.util.Collection<java.lang.String> pSiteIds)
pProfileId
- pSiteIds
- RepositoryException
public RepositoryItem getScheduledOrderItem(java.lang.String pScheduledOrderItemId)
pScheduledOrderItemId
- public RepositoryItem[] getScheduledOrderItemsByTemplateId(java.lang.String pTemplateId)
pTemplateId
- RepositoryException
public Order getLastOrderSubmittedFromTemplate(java.lang.String pTemplateOrderId)
pTemplateOrderId
- public Schedule getScheduleFromScheduledOrder(RepositoryItem pScheduledOrderItem) throws CommerceException
pScheduledOrderItem
- CommerceException
getScheduleFromScheduledOrder(RepositoryItem, Locale)
public Schedule getScheduleFromScheduledOrder(RepositoryItem pScheduledOrderItem, java.util.Locale pLocale) throws CommerceException
pScheduledOrderItem
- pLocale
- CommerceException
public Schedule getScheduleFromScheduleString(java.lang.String pSchedule, java.util.Locale pLocale) throws CommerceException
pSchedule
- pLocale
- CommerceException
public java.lang.String getScheduleClassType(RepositoryItem pScheduledOrderItem, java.util.Locale pLocale)
pScheduledOrderItem
- pLocale
- public Query generateQueryForOrdersCreatedByTemplate(java.lang.String pTemplateOrderId, QueryBuilder pQueryBuilder) throws RepositoryException
pQueryBuilder
- The querybuilder to use when creating the querypTemplateOrderId
- RepositoryException
public boolean areAllOccurrencesSelected(CalendarSchedule pCalendarSchedule)
pCalendarSchedule
- public boolean areAnyOccurrencesSelected(CalendarSchedule pCalendarSchedule)
pCalendarSchedule
- public boolean areAnyDaysSelected(CalendarSchedule pCalendarSchedule)
pCalendarSchedule
- public boolean areAllDaysSelected(CalendarSchedule pCalendarSchedule)
pCalendarSchedule
- public boolean areAnyDatesSelected(CalendarSchedule pCalendarSchedule)
pCalendarSchedule
- public boolean areAllDatesSelected(CalendarSchedule pCalendarSchedule)
pCalendarSchedule
- public boolean areAllMonthsSelected(CalendarSchedule pCalendarSchedule)
pCalendarSchedule
- public boolean isScheduledForEveryDay(CalendarSchedule pCalendarSchedule)
pCalendarSchedule
- public long calculateEndTimeForOccurrences(Schedule pSchedule, long pNumberOfOccurrences, long pStartingFrom)
pSchedule
- pNumberOfOccurrences
- pStartingFrom
- protected void processScheduledOrderErrors(MutableRepositoryItem pScheduledOrderItem, java.lang.Throwable pThrownException, PipelineResult pResult)
This method will create a new scheduledOrderError item and associate it with the given scheduled order item. It will add the given exception and any errors in the pipeline result object to the list of errors contained in the scheduledOrderError item.
pScheduledOrderItem
- the scheduled order itempThrownException
- A reference to the exception that was thrown when processing the scheduled order item. This can be null.pResult
- A reference to the PipelineResult object returned from the submit order process in OrderManager. This can be null.protected void addErrorToScheduledOrderErrorItem(RepositoryItem pScheduledOrderItem, MutableRepositoryItem pScheduledOrderErrorItem, java.lang.Object pError)
If pError is a Throwable
, StackTraceUtils is
used to provide the source exception and the localizeMessage value is used.
Otherise, toString
is called on the pError object.
All error strings are truncated to 254 bytes
pScheduledOrderItem
- pScheduledOrderErrorItem
- pError
- StackTraceUtils.getSourceException(Throwable)
protected void clearLastError(MutableRepositoryItem pScheduledOrderItem)
pScheduledOrderItem
- the mutable scheduled order itempublic boolean shouldProcessOrder(java.lang.String pOrderId)
pOrderId
- the repository id of the order to examine