atg.commerce.inventory
Class InventoryDroplet

java.lang.Object
  extended by atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
      extended by atg.nucleus.GenericService
          extended by atg.nucleus.TimedOperationService
              extended by atg.nucleus.servlet.ServletService
                  extended by atg.nucleus.servlet.HttpServletService
                      extended by atg.servlet.DynamoServlet
                          extended by atg.commerce.inventory.InventoryDroplet
All Implemented Interfaces:
NameContextBindingListener, NameContextElement, NameResolver, AdminableService, ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, VariableArgumentApplicationLogging, ComponentNameResolver, Service, ServiceListener, ParameterServlet, java.util.EventListener, javax.servlet.Servlet
Direct Known Subclasses:
LocalizingInventoryDroplet

public class InventoryDroplet
extends DynamoServlet

This Dynamo Servlet Bean is an interface into the Inventory management services. A single global instance is defined with the Nucleus name /atg/commerce/inventory/InventoryLookup. This service is intended to be configured with both a caching and non-caching InventoryManager. Therefore with this one service a developer can easily show both cached and uncached inventory information. The useCache property defines the default InventoryManager to use when the servlet is invoked. By default this value is true. This can be overrode by setting the servlet param useCache to true or false.

This servlet requires a single parameter to be set, itemId. This should be the identifier that will be passed through to the InventoryManager services. Typically this would be a SKU id.

Using this id the servlet uses an InventoryManager to set an inventory information object that includes several properties. It is inside the output oparam. The parameters are as follows:

inventoryInfo
An information object that includes property values for the inventory item with the given id.
inventoryInfo.availabilityStatus
A numeric status code that defines the current inventory state/ The Dynamo inventory system defines the following codes:
  • 1000 constant InventoryManager.AVAILABILITY_STATUS_IN_STOCK -> In Stock
  • 1001 constant InventoryManager.AVAILABILITY_STATUS_OUT_OF_STOCK -> Out of Stock
  • 1002 constant InventoryManager.AVAILABILITY_STATUS_PREORDERABLE -> Preorderable
  • 1003 constant InventoryManager.AVAILABILITY_STATUS_BACKORDERABLE -> Backorderable
  • 1005 constant InventoryManager.AVAILABILITY_STATUS_DISCONTINUED -> Discontinued
inventoryInfo.availabilityStatusMsg
A texual representation that maps to the numeric availabilityStatus code. By default this mapping is as follows:
  • 1000 -> "INSTOCK"
  • 1001 -> "OUTOFSTOCK"
  • 1002 -> "PREORDERABLE"
  • 1003 -> "BACKORDERABLE"
  • 1005 -> "DISCONTINUED"
inventoryInfo.availabilityDate
If the product is not in stock, then this indicates a date when the item will be available
inventoryInfo.stockLevel
The total number of units that are currently in stock for the item
inventoryInfo.preorderLevel
The total number of units that are available for preorder
inventoryInfo.backorderLevel
The total number of units that are available for backorder
inventoryInfo.stockThreshold
The threshold for the stock level.
inventoryInfo.preorderThreshold
The threshold for the preorder level.
inventoryInfo.backorderThreshold
The threshold for the backorder level.
error
Any exception that may have occured while looking up the inventory information

See Also:
InventoryManager

Field Summary
static java.lang.String CLASS_VERSION
          Class version string
 
Fields inherited from class atg.servlet.DynamoServlet
mAllowCleanupRequest, mParameters
 
Fields inherited from class atg.nucleus.servlet.ServletService
SERVLET_INFO_KEY
 
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
InventoryDroplet()
          Constructs an instanceof InventoryDroplet
 
Method Summary
 InventoryManager getCachingInventoryManager()
          Returns property CachingInventoryManager
 InventoryManager getInventoryManager()
          Returns property InventoryManager
 boolean isLogMissingInventoryExceptionsAsError()
          Return the logMissingInventoryExceptionsAsError property.
 boolean isUseCache()
          Returns property UseCache
 boolean isUseLocalizedResourceStrings()
          If this is true, then availability status messages are localized.
 void service(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          This method provides the default implementation of service, by dispatching to conventionally named methods which begin with "do".
 void setCachingInventoryManager(InventoryManager pCachingInventoryManager)
          Sets property CachingInventoryManager
 void setInventoryManager(InventoryManager pInventoryManager)
          Sets property InventoryManager
 void setLogMissingInventoryExceptionsAsError(boolean pLogMissingInventoryExceptionsAsError)
          Set the logMissingInventoryExceptionsAsError property.
 void setUseCache(boolean pUseCache)
          Sets property UseCache
 void setUseLocalizedResourceStrings(boolean pUseLocalizedResourceStrings)
           
 
Methods inherited from class atg.servlet.DynamoServlet
doDelete, doGet, doPost, doPut, getParameter, getParameters, getServletContext, service, service, setParameter
 
Methods inherited from class atg.nucleus.servlet.ServletService
destroy, getServletConfig, getServletInfo, init, setServletInfo
 
Methods inherited from class atg.nucleus.TimedOperationService
getAverageRequestHandlingTime, getHandledRequestCount, getRequestStartTime, getTotalRequestHandlingTime, isKeepingStatistics, notifyHandledRequest, resetStatistics, setKeepingStatistics
 
Methods inherited from class atg.nucleus.GenericService
addLogListener, createAdminServlet, doStartService, doStopService, getAbsoluteName, getAdminServlet, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, 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, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
 
Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
vlogDebug, vlogDebug, vlogDebug, vlogDebug, 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

Constructor Detail

InventoryDroplet

public InventoryDroplet()
Constructs an instanceof InventoryDroplet

Method Detail

setLogMissingInventoryExceptionsAsError

public void setLogMissingInventoryExceptionsAsError(boolean pLogMissingInventoryExceptionsAsError)
Set the logMissingInventoryExceptionsAsError property.


isLogMissingInventoryExceptionsAsError

public boolean isLogMissingInventoryExceptionsAsError()
Return the logMissingInventoryExceptionsAsError property.


setUseCache

public void setUseCache(boolean pUseCache)
Sets property UseCache


isUseCache

public boolean isUseCache()
Returns property UseCache


setCachingInventoryManager

public void setCachingInventoryManager(InventoryManager pCachingInventoryManager)
Sets property CachingInventoryManager


getCachingInventoryManager

public InventoryManager getCachingInventoryManager()
Returns property CachingInventoryManager


setInventoryManager

public void setInventoryManager(InventoryManager pInventoryManager)
Sets property InventoryManager


getInventoryManager

public InventoryManager getInventoryManager()
Returns property InventoryManager


setUseLocalizedResourceStrings

public void setUseLocalizedResourceStrings(boolean pUseLocalizedResourceStrings)

isUseLocalizedResourceStrings

public boolean isUseLocalizedResourceStrings()
If this is true, then availability status messages are localized. This will have a slight performance hit so if you are only providing inventory status in a single language, this should be false.


service

public void service(DynamoHttpServletRequest pRequest,
                    DynamoHttpServletResponse pResponse)
             throws javax.servlet.ServletException,
                    java.io.IOException
Description copied from class: DynamoServlet
This method provides the default implementation of service, by dispatching to conventionally named methods which begin with "do".

Overrides:
service in class DynamoServlet
Parameters:
pRequest - the request to be processed
pResponse - the response object for this request
Throws:
javax.servlet.ServletException - an application specific error occurred processing this request
java.io.IOException - an error occurred reading data from the request or writing data to the response.