public class HardgoodShipper extends GenericService implements Schedulable
This class is a scheduled service that finds all shipping groups that are PENDING_SHIPMENT and calls the fulfillers shippingGroupHasShipped method. The scheduled job always runs in a separate thread.
Created: Tue Feb 08 10:49:54 2000Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_VERSION |
static java.lang.String |
DEFAULT_ORDER_STATE_PROPERTY |
static java.lang.String |
DEFAULT_SHIPPING_GROUP_ORDER_PROPERTY |
static java.lang.String |
DEFAULT_SHIPPING_GROUP_SHIP_ON_DATE_PROPERTY |
static java.lang.String |
DEFAULT_SHIPPING_GROUP_STATE_PROPERTY |
static java.lang.String |
DEFAULT_SHIPPING_GROUP_SUBMITTED_DATE_PROPERTY |
static java.lang.String |
DEFAULT_SHIPPING_GROUP_VIEW_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 |
---|
HardgoodShipper() |
Modifier and Type | Method and Description |
---|---|
void |
doStartService()
This is called after a Service has been created, placed into the
naming hierarchy, and initialized with its configured property
values.
|
void |
doStopService()
This is called when a Service is required to shut down.
|
HardgoodFulfiller |
getHardgoodFulfiller()
The fulfiller that this thread will be shipping groups for.
|
java.util.Date |
getLastRun()
The last time this service ran
|
java.lang.String |
getOrderStatePropertyName()
The name of the state property in the order
|
OrderStates |
getOrderStates()
The class containing state information for orders
|
Schedule |
getSchedule()
The schedule for this service
|
Scheduler |
getScheduler()
The scheduler for this service.
|
java.lang.String |
getShippingGroupOrderPropertyName()
The name of the order property in the shipping group
|
java.lang.String |
getShippingGroupShipOnDatePropertyName()
The name of the property in ShippingGroups that specifies when a shipping group should be shipped.
|
java.lang.String |
getShippingGroupStatePropertyName()
The name of the state property for ShippingGroups
|
java.lang.String |
getShippingGroupSubmittedDatePropertyName()
The name of the property for ShippingGroups that says when it was submitted.
|
java.lang.String |
getShippingGroupViewName()
The name of the view in the order repository for shipping groups.
|
boolean |
isReuseThread()
If true the thread within which the scheduled job runs will be
reused each time the HardgoodShipper runs.
|
void |
performScheduledTask(Scheduler pScheduler,
ScheduledJob pJob)
The method that gets called at the given schedule.
|
protected java.util.HashMap |
retrieveOrderPendingShipMap()
Returns a HashMap whose ids are the order ids of orders that contain shipping groups and
the values are the shipping group ids that are ready for shipment.
|
void |
setHardgoodFulfiller(HardgoodFulfiller pHardgoodFulfiller) |
void |
setOrderStatePropertyName(java.lang.String pOrderStatePropertyName) |
void |
setOrderStates(OrderStates pOrderStates) |
void |
setReuseThread(boolean pReuseThread) |
void |
setSchedule(Schedule pSchedule) |
void |
setScheduler(Scheduler pScheduler) |
void |
setShippingGroupOrderPropertyName(java.lang.String pShippingGroupOrderPropertyName) |
void |
setShippingGroupShipOnDatePropertyName(java.lang.String pShippingGroupShipOnDatePropertyName) |
void |
setShippingGroupStatePropertyName(java.lang.String pShippingGroupStatePropertyName) |
void |
setShippingGroupSubmittedDatePropertyName(java.lang.String pShippingGroupSubmittedDatePropertyName) |
void |
setShippingGroupViewName(java.lang.String pShippingGroupViewName) |
protected void |
shipShippingGroup(java.lang.String pOrderId,
java.lang.String pShipGroupId)
This method is called when the shipping group pShipGroupId is ready for shipment and is in
a PENDING_SHIPMENT state.
|
addLogListener, createAdminServlet, 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 java.lang.String DEFAULT_SHIPPING_GROUP_ORDER_PROPERTY
public static final java.lang.String DEFAULT_SHIPPING_GROUP_STATE_PROPERTY
public static final java.lang.String DEFAULT_SHIPPING_GROUP_SHIP_ON_DATE_PROPERTY
public static final java.lang.String DEFAULT_SHIPPING_GROUP_SUBMITTED_DATE_PROPERTY
public static final java.lang.String DEFAULT_SHIPPING_GROUP_VIEW_NAME
public static final java.lang.String DEFAULT_ORDER_STATE_PROPERTY
public void setHardgoodFulfiller(HardgoodFulfiller pHardgoodFulfiller)
public HardgoodFulfiller getHardgoodFulfiller()
public void setScheduler(Scheduler pScheduler)
public Scheduler getScheduler()
public void setSchedule(Schedule pSchedule)
public Schedule getSchedule()
public java.util.Date getLastRun()
public void setOrderStates(OrderStates pOrderStates)
public OrderStates getOrderStates()
public void setShippingGroupStatePropertyName(java.lang.String pShippingGroupStatePropertyName)
public java.lang.String getShippingGroupStatePropertyName()
public void setShippingGroupShipOnDatePropertyName(java.lang.String pShippingGroupShipOnDatePropertyName)
public java.lang.String getShippingGroupShipOnDatePropertyName()
public void setShippingGroupSubmittedDatePropertyName(java.lang.String pShippingGroupSubmittedDatePropertyName)
public java.lang.String getShippingGroupSubmittedDatePropertyName()
public void setShippingGroupViewName(java.lang.String pShippingGroupViewName)
public java.lang.String getShippingGroupViewName()
public void setShippingGroupOrderPropertyName(java.lang.String pShippingGroupOrderPropertyName)
public java.lang.String getShippingGroupOrderPropertyName()
public void setOrderStatePropertyName(java.lang.String pOrderStatePropertyName)
public java.lang.String getOrderStatePropertyName()
public void setReuseThread(boolean pReuseThread)
public boolean isReuseThread()
public void performScheduledTask(Scheduler pScheduler, ScheduledJob pJob)
performScheduledTask
in interface Schedulable
pScheduler
- calling the jobpJob
- the ScheduledJobInventoryFulfiller.shippingGroupHasShipped(java.lang.String, java.lang.String)
public void doStartService() throws ServiceException
GenericService
doStartService
in class GenericService
ServiceException
- if the Service had a problem starting uppublic void doStopService() throws ServiceException
GenericService
doStopService
in class GenericService
ServiceException
- if the Service had a problem shutting downprotected void shipShippingGroup(java.lang.String pOrderId, java.lang.String pShipGroupId)
pOrderId
- the order in which this shipping group belongspShipGroupId
- the shipping group id that is to be shipped.protected java.util.HashMap retrieveOrderPendingShipMap()