Class InventoryDroplet

  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:

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:

An information object that includes property values for the inventory item with the given id.
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
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"
If the product is not in stock, then this indicates a date when the item will be available
The total number of units that are currently in stock for the item
The total number of units that are available for preorder
The total number of units that are available for backorder
The threshold for the stock level.
The threshold for the preorder level.
The threshold for the backorder level.
Any exception that may have occured while looking up the inventory information

See Also:

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
Fields inherited from class atg.nucleus.GenericService
Fields inherited from interface atg.nucleus.logging.TraceApplicationLogging
Fields inherited from interface atg.nucleus.logging.ApplicationLogging
Constructor Summary
          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


public static java.lang.String CLASS_VERSION
Class version string

Constructor Detail


public InventoryDroplet()
Constructs an instanceof InventoryDroplet

Method Detail


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


public boolean isLogMissingInventoryExceptionsAsError()
Return the logMissingInventoryExceptionsAsError property.


public void setUseCache(boolean pUseCache)
Sets property UseCache


public boolean isUseCache()
Returns property UseCache


public void setCachingInventoryManager(InventoryManager pCachingInventoryManager)
Sets property CachingInventoryManager


public InventoryManager getCachingInventoryManager()
Returns property CachingInventoryManager


public void setInventoryManager(InventoryManager pInventoryManager)
Sets property InventoryManager


public InventoryManager getInventoryManager()
Returns property InventoryManager


public void setUseLocalizedResourceStrings(boolean pUseLocalizedResourceStrings)


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.


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

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