| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectatg.nucleus.logging.VariableArgumentApplicationLoggingImpl
atg.nucleus.GenericService
atg.commerce.messaging.SourceSinkTemplate
atg.commerce.inventory.RepositoryInventoryManager
public class RepositoryInventoryManager
This is a repository based implementation of InventoryManager. It implements all the methods defined by the InventoryManager API. It is a thin wrapper around a repository that contains the inventory information. This allows a maximum amount of flexibility for potential third party integrators. Integrators can simply implement a repository containing the required properties for cooperation with the RepositoryInventoryManager. The Repository InventoryManager can then be configured to extract inventory manager information from the third party repository.
This class also is a message source. It can send UpdateInventory messages if there is new inventory available for a previously unavailable item.
| Field Summary | |
|---|---|
| static java.lang.String | CLASS_VERSION | 
| 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 | |
|---|---|
| RepositoryInventoryManager() | |
| Method Summary | |
|---|---|
|  void | acquireInventoryLocks(java.util.List pItemIds)Acquires locks for the inventory items that apply to the given ids. | 
|  void | acquireInventoryLocks(java.util.List pItemIds,
                      java.lang.String pLocationId)For each item in the list, call lockThe locks are acquired in sorted order. | 
|  int | backorder(java.lang.String pId,
          long pHowMany)Backorder an item. | 
|  int | backorder(java.lang.String pId,
          long pHowMany,
          java.lang.String pLocationId)decrement the item's backorder count, If the item is a bundle backorderBundle is called. | 
| protected  int | backorderBundle(java.lang.String pBundleId,
                long pHowMany,
                java.lang.String pLocationId)Backorders a bundle. | 
|  int | decreaseBackorderLevel(java.lang.String pId,
                       long pNumber)Decrease an item's backorder level by the specified amount. | 
|  int | decreaseBackorderLevel(java.lang.String pId,
                       long pNumber,
                       java.lang.String pLocationId)decrease the item's backorder level by pNumber, If the item is a bundle, this method does nothing and returns INVENTORY_STATUS_SUCCEED. | 
|  int | decreasePreorderLevel(java.lang.String pId,
                      long pNumber)Decrease an item's preorder level by the specified amount. | 
|  int | decreasePreorderLevel(java.lang.String pId,
                      long pNumber,
                      java.lang.String pLocationId)decrease the item's preorder level by pNumber, If the item is a bundle, this method does nothing and returns INVENTORY_STATUS_SUCCEED. | 
|  int | decreaseStockLevel(java.lang.String pId,
                   long pNumber)Decrease an item's stock level by the specified amount. | 
|  int | decreaseStockLevel(java.lang.String pId,
                   long pNumber,
                   java.lang.String pLocationId)decrease the item's stock level by pNumber, If the item is a bundle, this method does nothing and returns INVENTORY_STATUS_SUCCEED. | 
| protected  int | decrementSKULevel(MutableRepositoryItem pItem,
                  long pHowMany,
                  java.lang.String pLevelName,
                  java.lang.String pThresholdName)Decrement the given level by the given amount. | 
| protected  int | decrementSKULevel(MutableRepositoryItem pItem,
                  java.lang.String pLocationId,
                  long pHowMany,
                  java.lang.String pLevelName,
                  java.lang.String pThresholdName) | 
| protected  int | deriveAvailabilityStatus(java.lang.String pId)Derive the availabilityStatus based on the properties of the item Always derives the status, does not check the current value of availabilityStatus. | 
| protected  int | deriveAvailabilityStatus(java.lang.String pId,
                         java.lang.String pLocationId)Derive the availabilityStatus based on the properties of the item Always derives the status, does not check the current value of availabilityStatus. | 
| protected  int | deriveBundleAvailabilityStatus(java.lang.String pBundleId)Derives the availability status for a bundle. | 
| protected  int | deriveBundleAvailabilityStatus(java.lang.String pBundleId,
                               java.lang.String pLocationId)Derives the availability status for a bundle. | 
|  java.lang.String | getATPDatePropertyName()Returns property ATPDatePropertyName | 
|  java.lang.String | getATPInformationPropertyName()Returns property ATPInformationPropertyName | 
|  java.lang.String | getATPQuantityPropertyName()Returns property ATPQuantityPropertyName | 
|  java.lang.String | getAvailabilityDatePropertyName()Returns property AvailabilityDatePropertyName | 
|  int | getAvailabilityStatusBackorderableValue()The integer value for the availabilityStatus of BACKORDERABLE | 
|  int | getAvailabilityStatusDerivedValue()The integer value for the availabilityStatus of DERIVED | 
|  int | getAvailabilityStatusDiscontinuedValue()The integer value for the availabilityStatus of DISCONTINUED | 
|  int | getAvailabilityStatusInStockValue()The integer value for the availabilityStatus of IN_STOCK | 
|  int | getAvailabilityStatusOutOfStockValue()The integer value for the availabilityStatus of OUT_OF_STOCK | 
|  int | getAvailabilityStatusPreorderableValue()The integer value for the availabilityStatus of PREORDERABLE | 
|  java.lang.String | getAvailabilityStatusPropertyName()Returns property AvailabilityStatusPropertyName | 
|  java.lang.String | getBackorderLevelPropertyName()Returns property BackorderLevelPropertyName | 
|  java.lang.String | getBackorderThresholdPropertyName()Returns property BackorderThresholdPropertyName | 
|  java.util.List | getBundledIds(java.lang.String pBundleId)Return the list of catalog ref ids contained in the bundle. | 
| protected  java.util.List | getBundleLinks(RepositoryItem pBundle)Return the List of bundle links for the given id. | 
| protected  java.util.List | getBundleLinks(java.lang.String pId)Return the List of bundle links for the given id. | 
|  java.lang.String | getBundleLinksPropertyName()The name of the property bundleLinks | 
|  RqlStatement | getCatalogRefIdMatchQuery()Returns property CatalogRefIdMatchQuery | 
|  java.lang.String | getCatalogRefIdPropertyName()Returns property CatalogRefIdPropertyName | 
| protected  RepositoryItem | getCatalogRefItem(java.lang.String pId)Return the RepositoryItem which represents the catalog ref (aka SKU) | 
|  java.lang.String | getCatalogRefItemType()Returns property CatalogRefItemType | 
|  Repository | getCatalogRefRepository()Returns property CatalogRefRepository | 
|  ClientLockManager | getClientLockManager()Deprecated. locks are no longer used | 
|  long | getDefaultBackorderLevel()The default value if the backorder level of an item is not defined | 
|  long | getDefaultPreorderLevel()The default value if the preorder level of an item is not defined | 
|  long | getDefaultStockLevel()The default value if the stock level of an item is not defined | 
|  java.lang.String | getInventoryEventPort()The port to which all inventory scenario events are sent. | 
| protected  RepositoryItem | getInventoryItem(java.lang.String pId)Return the RepositoryItem which represents the inventory information | 
| protected  RepositoryItem | getInventoryItem(java.lang.String pId,
                 java.lang.String pLocationId)Return the RepositoryItem which represents the inventory information | 
| protected  MutableRepositoryItem | getInventoryItemForUpdate(java.lang.String pId)Return the MutableRepositoryItem which represents the inventory information | 
| protected  MutableRepositoryItem | getInventoryItemForUpdate(java.lang.String pId,
                          java.lang.String pLocationId)Return the MutableRepositoryItem which represents the inventory information | 
|  java.lang.String | getInventoryName()A displayable name for this inventory manager. | 
|  java.lang.String | getInventoryRowLockProperty()The name of the property of inventory that is used to grab a row lock | 
|  java.lang.String | getInventoryRowLockSQL()The sql command that is used to grab the row lock | 
|  java.lang.String | getItemType()Returns property ItemType | 
|  RqlStatement | getLocationCatalogRefIdMatchQuery()Returns property CatalogRefIdMatchQuery | 
|  java.lang.String | getLocationInventoryRowLockSQL()The sql command that is used to grab the row lock for a non-null inventory location. | 
|  int | getMaximumRetriesPerRowLock() | 
|  IdGenerator | getMessageIdGenerator()The service that generates Ids for all messages. | 
|  java.lang.String | getMessageIdSpaceName()The name of the idspace to get our message ids from | 
|  int | getMillisecondDelayBeforeLockRetry() | 
|  java.lang.String | getNextMessageId()Returns the next unique Id for commerce messages. | 
|  java.lang.String | getPreorderLevelPropertyName()Returns property PreorderLevelPropertyName | 
|  java.lang.String | getPreorderThresholdPropertyName()Returns property PreorderThresholdPropertyName | 
|  MutableRepository | getRepository()Returns property Repository | 
|  java.lang.String | getSkuLinkItemPropertyName()the name of the item property in a sku link. | 
|  java.lang.String | getSkuLinkQuantityPropertyName()The name of the quantity property in a sku link | 
|  java.lang.String | getStockLevelPropertyName()Returns property StockLevelPropertyName | 
|  java.lang.String | getStockThresholdPropertyName()Returns property StockThresholdPropertyName | 
|  java.lang.String | getUpdateInventoryPort()The port to which all UpdateInventory messages are sent. | 
|  int | increaseBackorderLevel(java.lang.String pId,
                       long pNumber)Increase an item's backorder level by the specified number. | 
|  int | increaseBackorderLevel(java.lang.String pId,
                       long pNumber,
                       java.lang.String pLocationId)increase the item's backorder level by pNumber, If the item is a bundle, this method does nothing and returns INVENTORY_STATUS_SUCCEED. | 
|  int | increasePreorderLevel(java.lang.String pId,
                      long pNumber)Increase an item's preorder level by the specified number. | 
|  int | increasePreorderLevel(java.lang.String pId,
                      long pNumber,
                      java.lang.String pLocationId)increase the item's preorder level by pNumber, If the item is a bundle, this method does nothing and returns INVENTORY_STATUS_SUCCEED. | 
|  int | increaseStockLevel(java.lang.String pId,
                   long pNumber)Increase an item's stock level by the specified number. | 
|  int | increaseStockLevel(java.lang.String pId,
                   long pNumber,
                   java.lang.String pLocationId)increase the item's stock level by pNumber, If the item is a bundle, this method does nothing and returns INVENTORY_STATUS_SUCCEED. | 
|  int | inventoryWasUpdated(java.util.List pItemIds)Informs the inventory manager that the given ids are now available. | 
|  int | inventoryWasUpdated(java.util.List pItemIds,
                    java.lang.String pLocationId)Send an UpdateInventory message out the UpdateInventoryPort. | 
| protected  boolean | isBundle(java.lang.String pId)Checks to see if the given id refers to a bundle. | 
| protected  void | lock(java.lang.String pItemId)To allow multiple instance of Dynamo to simultaneously edit inventory items, we need to make sure the repository item we load is current. | 
| protected  void | lock(java.lang.String pItemId,
     java.lang.String pLocationId)To allow multiple instance of Dynamo to simultaneously edit inventory items, we need to make sure the repository item we load is current. | 
|  int | preorder(java.lang.String pId,
         long pHowMany)Preorder an item. | 
|  int | preorder(java.lang.String pId,
         long pHowMany,
         java.lang.String pLocationId)decrement the item's preorder count, If the item is a bundle preorderBundle is called. | 
| protected  int | preorderBundle(java.lang.String pBundleId,
               long pHowMany)Preorders a bundle. | 
| protected  int | preorderBundle(java.lang.String pBundleId,
               long pHowMany,
               java.lang.String pLocationId) | 
|  int | purchase(java.lang.String pId,
         long pHowMany)Actually purchases a product. | 
|  int | purchase(java.lang.String pId,
         long pHowMany,
         java.lang.String pLocationId)Check the availability status (queryAvailabilityStatus). | 
| protected  int | purchaseBundle(java.lang.String pBundleId,
               long pHowMany)Purchases a bundle by purchase each of its bundle items. | 
| protected  int | purchaseBundle(java.lang.String pBundleId,
               long pHowMany,
               java.lang.String pLocationId)Purchases a bundle by purchase each of its bundle items. | 
| protected  int | purchaseBundleOffBackorder(java.lang.String pBundleId,
                           long pHowMany)Purchases the bundle then increments the backorderLevel of each item in the bundle. | 
| protected  int | purchaseBundleOffBackorder(java.lang.String pBundleId,
                           long pHowMany,
                           java.lang.String pLocationId)Purchases the bundle then increments the backorderLevel of each item in the bundle. | 
| protected  int | purchaseBundleOffPreorder(java.lang.String pBundleId,
                          long pHowMany)Purchases the bundle and increments the preorderLevel of each item in the bundle. | 
| protected  int | purchaseBundleOffPreorder(java.lang.String pBundleId,
                          long pHowMany,
                          java.lang.String pLocationId)Purchases the bundle and increments the preorderLevel of each item in the bundle. | 
|  int | purchaseOffBackorder(java.lang.String pId,
                     long pHowMany)Actually purchases a product. | 
|  int | purchaseOffBackorder(java.lang.String pId,
                     long pHowMany,
                     java.lang.String pLocationId)Check the availability status (queryAvailabilityStatus). | 
|  int | purchaseOffPreorder(java.lang.String pId,
                    long pHowMany)Actually purchases a product. | 
|  int | purchaseOffPreorder(java.lang.String pId,
                    long pHowMany,
                    java.lang.String pLocationId)Check the availability status (queryAvailabilityStatus). | 
|  java.util.Date | queryAvailabilityDate(java.lang.String pId)Return the availability date of an item. | 
|  java.util.Date | queryAvailabilityDate(java.lang.String pId,
                      java.lang.String pLocationId)query the availability date of an item. | 
|  int | queryAvailabilityStatus(java.lang.String pId)Return the availability status of a given item. | 
|  int | queryAvailabilityStatus(java.lang.String pId,
                        java.lang.String pLocationId)Returns the availability status of the item. | 
|  atg.commerce.inventory.AvailableToPromise | queryAvailableToPromise(java.lang.String pId,
                        java.lang.String pLocationId) | 
|  long | queryBackorderLevel(java.lang.String pId)Return how many of a given item can be backorder. | 
|  long | queryBackorderLevel(java.lang.String pId,
                    java.lang.String pLocationId)query the number of items available for backorder. | 
|  long | queryBackorderThreshold(java.lang.String pId)Return the threshold associated with backorderLevel | 
|  long | queryBackorderThreshold(java.lang.String pId,
                        java.lang.String pLocationId)Return the threshold associated with backorderLevel | 
|  java.util.Date | queryBundleAvailabilityDate(java.lang.String pBundleId,
                            java.lang.String pLocationId)Cycles through each item in a bundle and calls queryAvailabilityDate on each. | 
| protected  long | queryBundleBackorderLevel(java.lang.String pId)Cycles through the items in a bundle and returns the greatest quantity of bundles that could be allocated given each items backorder level. | 
| protected  long | queryBundleBackorderLevel(java.lang.String pId,
                          java.lang.String pLocationId)Cycles through the items in a bundle and returns the greatest quantity of bundles that could be allocated given each items backorder level. | 
| protected  long | queryBundleBackorderThreshold(java.lang.String pId,
                              java.lang.String pLocationId)Currently all bundles have thresholds of 0. | 
| protected  long | queryBundlePreorderLevel(java.lang.String pId,
                         java.lang.String pLocationId)Cycles through the items in a bundle and returns the greatest quantity of bundles that could be preordered given each items backorder level. | 
| protected  long | queryBundlePreorderThreshold(java.lang.String pId,
                             java.lang.String pLocationId)Currently all bundles have thresholds of 0. | 
| protected  long | queryBundleStockLevel(java.lang.String pId,
                      java.lang.String pLocationId)Cycles through the items in a bundle and returns the greatest quantity of bundles that could be allocated given each items stock level. | 
| protected  long | queryBundleStockThreshold(java.lang.String pId,
                          java.lang.String pLocationId)Currently all bundles have thresholds of 0. | 
|  java.util.Collection<InventoryInfo> | queryInventoryInformation(java.util.Collection<java.lang.String> pItemIds,
                          java.util.Collection<java.lang.String> pLocationIds) | 
|  java.util.Collection<InventoryInfo> | queryInventoryInformation(java.util.Collection<java.lang.String> pItemIds,
                          java.lang.String pLocationId) | 
|  java.util.Collection<InventoryInfo> | queryInventoryInformation(java.lang.String pId,
                          java.util.Collection<java.lang.String> pLocationIds) | 
|  InventoryInfo | queryInventoryInformation(java.lang.String pId,
                          java.lang.String pLocationId) | 
|  long | queryPreorderLevel(java.lang.String pId)Return how many of a given item can be preorder. | 
|  long | queryPreorderLevel(java.lang.String pId,
                   java.lang.String pLocationId)query the number of items in available in preorder. | 
|  long | queryPreorderThreshold(java.lang.String pId)Return the threshold associated with preorderLevel | 
|  long | queryPreorderThreshold(java.lang.String pId,
                       java.lang.String pLocationId)Return the threshold associated with preorderLevel | 
|  long | queryStockLevel(java.lang.String pId)Return how many of a given item are in the system. | 
|  long | queryStockLevel(java.lang.String pId,
                java.lang.String pLocationId)query the number of items in stock. | 
|  long | queryStockThreshold(java.lang.String pId)Return the threshold associated with stockLevel. | 
|  long | queryStockThreshold(java.lang.String pId,
                    java.lang.String pLocationId)Return the threshold associated with stockLevel. | 
|  void | releaseInventoryLocks(java.util.List pItemIds)Release locks for the inventory items that apply to the given ids. | 
|  void | releaseInventoryLocks(java.util.List pItemIds,
                      java.lang.String pLocationId)Release locks for the inventory items that apply to the given ids. | 
|  void | setATPDatePropertyName(java.lang.String pATPDatePropertyName)Sets property ATPDatePropertyName | 
|  void | setATPInformationPropertyName(java.lang.String pATPInformationPropertyName)Sets property ATPInformationPropertyName | 
|  void | setATPQuantityPropertyName(java.lang.String pATPQuantityPropertyName)Sets property ATPQuantityPropertyName | 
|  int | setAvailabilityDate(java.lang.String pId,
                    java.util.Date pDate)Set an item's availability date. | 
|  int | setAvailabilityDate(java.lang.String pId,
                    java.util.Date pDate,
                    java.lang.String pLocationId)Set an item's availability date. | 
|  void | setAvailabilityDatePropertyName(java.lang.String pAvailabilityDatePropertyName)Sets property AvailabilityDatePropertyName | 
|  int | setAvailabilityStatus(java.lang.String pId,
                      int pStatus)Set an item's availability status. | 
|  int | setAvailabilityStatus(java.lang.String pId,
                      int pStatus,
                      java.lang.String pLocationId)Set an item's availability status. | 
|  void | setAvailabilityStatusBackorderableValue(int pAvailabilityStatusBackorderableValue) | 
|  void | setAvailabilityStatusDerivedValue(int pAvailabilityStatusDerivedValue) | 
|  void | setAvailabilityStatusDiscontinuedValue(int pAvailabilityStatusDiscontinuedValue) | 
|  void | setAvailabilityStatusInStockValue(int pAvailabilityStatusInStockValue) | 
|  void | setAvailabilityStatusOutOfStockValue(int pAvailabilityStatusOutOfStockValue) | 
|  void | setAvailabilityStatusPreorderableValue(int pAvailabilityStatusPreorderableValue) | 
|  void | setAvailabilityStatusPropertyName(java.lang.String pAvailabilityStatusPropertyName)Sets property AvailabilityStatusPropertyName | 
|  int | setBackorderLevel(java.lang.String pId,
                  long pNumber)Set an item's backorder level to the specified number. | 
|  int | setBackorderLevel(java.lang.String pId,
                  long pNumber,
                  java.lang.String pLocationId)set the item's backorder level to pNumber, If the item is a bundle, this method does nothing and returns INVENTORY_STATUS_SUCCEED. | 
|  void | setBackorderLevelPropertyName(java.lang.String pBackorderLevelPropertyName)Sets property BackorderLevelPropertyName | 
|  int | setBackorderThreshold(java.lang.String pId,
                      long pNumber)Set an item's backorder level threshold. | 
|  int | setBackorderThreshold(java.lang.String pId,
                      long pNumber,
                      java.lang.String pLocationId)Set an item's backorder level threshold. | 
|  void | setBackorderThresholdPropertyName(java.lang.String pBackorderThresholdPropertyName)Sets property BackorderThresholdPropertyName | 
|  void | setBundleLinksPropertyName(java.lang.String pBundleLinksPropertyName) | 
|  void | setCatalogRefIdMatchQuery(RqlStatement pCatalogRefIdMatchQuery)Sets property CatalogRefIdMatchQuery | 
|  void | setCatalogRefIdPropertyName(java.lang.String pCatalogRefIdPropertyName)Sets property CatalogRefIdPropertyName | 
|  void | setCatalogRefItemType(java.lang.String pCatalogRefItemType)Sets property CatalogRefItemType | 
|  void | setCatalogRefRepository(Repository pCatalogRefRepository)Sets property CatalogRefRepository | 
|  void | setClientLockManager(ClientLockManager pClientLockManager)Deprecated. locks are no longer used | 
|  void | setDefaultBackorderLevel(long pDefaultBackorderLevel) | 
|  void | setDefaultPreorderLevel(long pDefaultPreorderLevel) | 
|  void | setDefaultStockLevel(long pDefaultStockLevel) | 
|  void | setInventoryEventPort(java.lang.String pInventoryEventPort) | 
|  void | setInventoryName(java.lang.String pInventoryName) | 
|  void | setInventoryRowLockProperty(java.lang.String pInventoryRowLockProperty) | 
|  void | setInventoryRowLockSQL(java.lang.String pInventoryRowLockSQL) | 
|  void | setItemType(java.lang.String pItemType)Sets property ItemType | 
|  void | setLocationCatalogRefIdMatchQuery(RqlStatement pLocationCatalogRefIdMatchQuery)Sets property CatalogRefIdMatchQuery | 
|  void | setLocationInventoryRowLockSQL(java.lang.String pLocationInventoryRowLockSQL) | 
|  void | setMaximumRetriesPerRowLock(int pMaximumRetriesPerRowLock) | 
|  void | setMessageIdGenerator(IdGenerator pMessageIdGenerator) | 
|  void | setMessageIdSpaceName(java.lang.String pMessageIdSpaceName) | 
|  void | setMillisecondDelayBeforeLockRetry(int pMillisecondDelayBeforeLockRetry) | 
|  int | setPreorderLevel(java.lang.String pId,
                 long pNumber)Set an item's preorder level to the specified number. | 
|  int | setPreorderLevel(java.lang.String pId,
                 long pNumber,
                 java.lang.String pLocationId)set the item's preorder level to pNumber, If the item is a bundle, this method does nothing and returns INVENTORY_STATUS_SUCCEED. | 
|  void | setPreorderLevelPropertyName(java.lang.String pPreorderLevelPropertyName)Sets property PreorderLevelPropertyName | 
|  int | setPreorderThreshold(java.lang.String pId,
                     long pNumber)Set an item's preorder level threshold. | 
|  int | setPreorderThreshold(java.lang.String pId,
                     long pNumber,
                     java.lang.String pLocationId)Set an item's preorder level threshold. | 
|  void | setPreorderThresholdPropertyName(java.lang.String pPreorderThresholdPropertyName)Sets property PreorderThresholdPropertyName | 
|  void | setRepository(MutableRepository pRepository)Sets property Repository | 
|  void | setSkuLinkItemPropertyName(java.lang.String pSkuLinkItemPropertyName) | 
|  void | setSkuLinkQuantityPropertyName(java.lang.String pSkuLinkQuantityPropertyName) | 
|  int | setStockLevel(java.lang.String pId,
              long pNumber)Set an item's stock level to the specified number. | 
|  int | setStockLevel(java.lang.String pId,
              long pNumber,
              java.lang.String pLocationId)set the item's stock level to pNumber, If the item is a bundle, this method does nothing and returns INVENTORY_STATUS_SUCCEED. | 
|  void | setStockLevelPropertyName(java.lang.String pStockLevelPropertyName)Sets property StockLevelPropertyName | 
|  int | setStockThreshold(java.lang.String pId,
                  long pNumber)Set an item's stock level threshold. | 
|  int | setStockThreshold(java.lang.String pId,
                  long pNumber,
                  java.lang.String pLocationId)Set an item's stock level threshold. | 
|  void | setStockThresholdPropertyName(java.lang.String pStockThresholdPropertyName)Sets property StockThresholdPropertyName | 
|  void | setUpdateInventoryPort(java.lang.String pUpdateInventoryPort) | 
| protected  void | thresholdHasBeenReached(java.lang.String pId,
                        java.lang.String pLevelPropertyName,
                        java.lang.String pThresholdPropertyName,
                        long pCurrentValue,
                        long pThreshold)This gets called when some level sinks below the threshold. | 
| protected  void | thresholdHasBeenReached(java.lang.String pId,
                        java.lang.String pLocationId,
                        java.lang.String pLevelPropertyName,
                        java.lang.String pThresholdPropertyName,
                        long pCurrentValue,
                        long pThreshold)This gets called when some level sinks below the threshold. | 
| protected  void | unlock(java.lang.String pItemId)Release the lock for the given id. | 
| protected  void | unlock(java.lang.String pItemId,
       java.lang.String pLocationId) | 
| protected  void | updateItem(MutableRepositoryItem pItem)Update the item in the inventory | 
| Methods inherited from class atg.commerce.messaging.SourceSinkTemplate | 
|---|
| getDelayOnSendRetry, getMessageSourceContext, getMessageSourceName, getTransactionManager, isAllowMessageSending, receiveMessage, sendCommerceMessage, sendObjectMessage, setAllowMessageSending, setDelayOnSendRetry, setMessageSourceContext, setMessageSourceName, setTransactionManager, startMessageSource, stopMessageSource | 
| 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 | 
|---|
public static final java.lang.String CLASS_VERSION
| Constructor Detail | 
|---|
public RepositoryInventoryManager()
| Method Detail | 
|---|
public void setStockLevelPropertyName(java.lang.String pStockLevelPropertyName)
public java.lang.String getStockLevelPropertyName()
public void setBackorderLevelPropertyName(java.lang.String pBackorderLevelPropertyName)
public java.lang.String getBackorderLevelPropertyName()
public void setPreorderLevelPropertyName(java.lang.String pPreorderLevelPropertyName)
public java.lang.String getPreorderLevelPropertyName()
public void setStockThresholdPropertyName(java.lang.String pStockThresholdPropertyName)
public java.lang.String getStockThresholdPropertyName()
public void setBackorderThresholdPropertyName(java.lang.String pBackorderThresholdPropertyName)
public java.lang.String getBackorderThresholdPropertyName()
public void setPreorderThresholdPropertyName(java.lang.String pPreorderThresholdPropertyName)
public java.lang.String getPreorderThresholdPropertyName()
public void setAvailabilityStatusPropertyName(java.lang.String pAvailabilityStatusPropertyName)
public java.lang.String getAvailabilityStatusPropertyName()
public void setAvailabilityDatePropertyName(java.lang.String pAvailabilityDatePropertyName)
public java.lang.String getAvailabilityDatePropertyName()
public void setATPInformationPropertyName(java.lang.String pATPInformationPropertyName)
public java.lang.String getATPInformationPropertyName()
public void setATPDatePropertyName(java.lang.String pATPDatePropertyName)
public java.lang.String getATPDatePropertyName()
public void setATPQuantityPropertyName(java.lang.String pATPQuantityPropertyName)
public java.lang.String getATPQuantityPropertyName()
public void setCatalogRefIdPropertyName(java.lang.String pCatalogRefIdPropertyName)
public java.lang.String getCatalogRefIdPropertyName()
public void setBundleLinksPropertyName(java.lang.String pBundleLinksPropertyName)
public java.lang.String getBundleLinksPropertyName()
public void setSkuLinkItemPropertyName(java.lang.String pSkuLinkItemPropertyName)
public java.lang.String getSkuLinkItemPropertyName()
public void setSkuLinkQuantityPropertyName(java.lang.String pSkuLinkQuantityPropertyName)
public java.lang.String getSkuLinkQuantityPropertyName()
public void setAvailabilityStatusDerivedValue(int pAvailabilityStatusDerivedValue)
public int getAvailabilityStatusDerivedValue()
public void setAvailabilityStatusInStockValue(int pAvailabilityStatusInStockValue)
public int getAvailabilityStatusInStockValue()
public void setAvailabilityStatusBackorderableValue(int pAvailabilityStatusBackorderableValue)
public int getAvailabilityStatusBackorderableValue()
public void setAvailabilityStatusPreorderableValue(int pAvailabilityStatusPreorderableValue)
public int getAvailabilityStatusPreorderableValue()
public void setAvailabilityStatusOutOfStockValue(int pAvailabilityStatusOutOfStockValue)
public int getAvailabilityStatusOutOfStockValue()
public void setAvailabilityStatusDiscontinuedValue(int pAvailabilityStatusDiscontinuedValue)
public int getAvailabilityStatusDiscontinuedValue()
public void setDefaultStockLevel(long pDefaultStockLevel)
public long getDefaultStockLevel()
public void setDefaultBackorderLevel(long pDefaultBackorderLevel)
public long getDefaultBackorderLevel()
public void setDefaultPreorderLevel(long pDefaultPreorderLevel)
public long getDefaultPreorderLevel()
public void setMessageIdGenerator(IdGenerator pMessageIdGenerator)
public IdGenerator getMessageIdGenerator()
public void setMessageIdSpaceName(java.lang.String pMessageIdSpaceName)
public java.lang.String getMessageIdSpaceName()
public void setRepository(MutableRepository pRepository)
public MutableRepository getRepository()
public void setItemType(java.lang.String pItemType)
public java.lang.String getItemType()
public void setCatalogRefIdMatchQuery(RqlStatement pCatalogRefIdMatchQuery)
public RqlStatement getCatalogRefIdMatchQuery()
public void setLocationCatalogRefIdMatchQuery(RqlStatement pLocationCatalogRefIdMatchQuery)
public RqlStatement getLocationCatalogRefIdMatchQuery()
public void setCatalogRefRepository(Repository pCatalogRefRepository)
public Repository getCatalogRefRepository()
public void setCatalogRefItemType(java.lang.String pCatalogRefItemType)
public java.lang.String getCatalogRefItemType()
public void setClientLockManager(ClientLockManager pClientLockManager)
public ClientLockManager getClientLockManager()
public void setUpdateInventoryPort(java.lang.String pUpdateInventoryPort)
public java.lang.String getUpdateInventoryPort()
public void setInventoryEventPort(java.lang.String pInventoryEventPort)
public java.lang.String getInventoryEventPort()
protected RepositoryItem getCatalogRefItem(java.lang.String pId)
                                    throws RepositoryException
RepositoryException - if there was a problem accessing the itempublic void setMaximumRetriesPerRowLock(int pMaximumRetriesPerRowLock)
public int getMaximumRetriesPerRowLock()
public void setMillisecondDelayBeforeLockRetry(int pMillisecondDelayBeforeLockRetry)
public int getMillisecondDelayBeforeLockRetry()
public void setInventoryRowLockProperty(java.lang.String pInventoryRowLockProperty)
public java.lang.String getInventoryRowLockProperty()
public void setInventoryRowLockSQL(java.lang.String pInventoryRowLockSQL)
public java.lang.String getInventoryRowLockSQL()
public void setLocationInventoryRowLockSQL(java.lang.String pLocationInventoryRowLockSQL)
public java.lang.String getLocationInventoryRowLockSQL()
protected MutableRepositoryItem getInventoryItemForUpdate(java.lang.String pId)
                                                   throws RepositoryException
RepositoryException - if there was a problem accessing the item
protected MutableRepositoryItem getInventoryItemForUpdate(java.lang.String pId,
                                                          java.lang.String pLocationId)
                                                   throws RepositoryException
RepositoryException - if there was a problem accessing the item
protected RepositoryItem getInventoryItem(java.lang.String pId)
                                   throws RepositoryException
RepositoryException - if there was a problem accessing the item
protected RepositoryItem getInventoryItem(java.lang.String pId,
                                          java.lang.String pLocationId)
                                   throws RepositoryException
RepositoryException - if there was a problem accessing the itempublic void setInventoryName(java.lang.String pInventoryName)
public java.lang.String getInventoryName()
getInventoryName in interface InventoryManager
public int purchase(java.lang.String pId,
                    long pHowMany,
                    java.lang.String pLocationId)
             throws InventoryException
purchase in interface atg.commerce.inventory.LocationInventoryManagerpId - The id of the SKU being purchased.pLocation - the location id of where the SKU is being purchased from.pHowMany - The amount of the SKU being purchased.
InventoryExceptionqueryAvailabilityStatus(java.lang.String, java.lang.String), 
purchaseBundle(java.lang.String, long)
public int purchaseOffBackorder(java.lang.String pId,
                                long pHowMany,
                                java.lang.String pLocationId)
                         throws InventoryException
purchaseOffBackorder in interface atg.commerce.inventory.LocationInventoryManagerpId - The id of the SKU being purchased.pLocationId - The location of the SKU being purchased.pHowMany - The amount of the SKU being purchased.
InventoryExceptionqueryAvailabilityStatus(java.lang.String, java.lang.String), 
purchaseBundleOffBackorder(java.lang.String, long)
public int purchaseOffPreorder(java.lang.String pId,
                               long pHowMany,
                               java.lang.String pLocationId)
                        throws InventoryException
purchaseOffPreorder in interface atg.commerce.inventory.LocationInventoryManagerpId - The id of the SKU being purchased.pLocationId - the location where the SKU is being purchased from.pHowMany - The amount of the SKU being purchased.
InventoryExceptionqueryAvailabilityStatus(java.lang.String, java.lang.String), 
purchaseBundleOffPreorder(java.lang.String, long)
public int preorder(java.lang.String pId,
                    long pHowMany,
                    java.lang.String pLocationId)
             throws InventoryException
preorder in interface atg.commerce.inventory.LocationInventoryManagerpId - The id of the SKU being preordered.pLocationId - the location of the SKU being preordered.pHowMany - The amount of the SKU being preordered.
InventoryExceptionpreorderBundle(java.lang.String, long)
public int backorder(java.lang.String pId,
                     long pHowMany,
                     java.lang.String pLocationId)
              throws InventoryException
backorder in interface atg.commerce.inventory.LocationInventoryManagerpId - The id of the SKU being backordered.pLocationId - the location of the sku being backordered.pHowMany - The amount of the SKU being backordered..
InventoryExceptionbackorderBundle(java.lang.String, long, java.lang.String)
protected int decrementSKULevel(MutableRepositoryItem pItem,
                                long pHowMany,
                                java.lang.String pLevelName,
                                java.lang.String pThresholdName)
                         throws InventoryException
pItem - The id of the SKU being changed.pHowMany - The amount the level should be decreased by.pLevelName - The name of the level that should be decreased.
                   (one of stockLevel, backorderLevel, preorderLevel)pThresholdName - The name of the threshold associated with pLevelName
InventoryExceptionthresholdHasBeenReached(java.lang.String, java.lang.String, java.lang.String, long, long)
protected int decrementSKULevel(MutableRepositoryItem pItem,
                                java.lang.String pLocationId,
                                long pHowMany,
                                java.lang.String pLevelName,
                                java.lang.String pThresholdName)
                         throws InventoryException
InventoryException
public int setStockLevel(java.lang.String pId,
                         long pNumber,
                         java.lang.String pLocationId)
                  throws InventoryException
setStockLevel in interface atg.commerce.inventory.LocationInventoryManagerpId - The id of the SKU whose stockLevel is being setpNumber - The amount to set the stockLevel to.pLocationId - the location where the SKU's stock level is being set.
InventoryException
public int setBackorderLevel(java.lang.String pId,
                             long pNumber,
                             java.lang.String pLocationId)
                      throws InventoryException
setBackorderLevel in interface atg.commerce.inventory.LocationInventoryManagerpId - The id of the SKU whose backorderLevel is being setpLocationId - the location where the SKU's backorderLevel is being setpNumber - The amount to set the backorderLevel to.
InventoryException
public int setPreorderLevel(java.lang.String pId,
                            long pNumber,
                            java.lang.String pLocationId)
                     throws InventoryException
setPreorderLevel in interface atg.commerce.inventory.LocationInventoryManagerpId - The id of the SKU whose preorderLevel is being setpLocationId - The location id where the SKU's preorderLevel is being setpNumber - The amount to set the preorderLevel to.
InventoryException
public int increaseStockLevel(java.lang.String pId,
                              long pNumber,
                              java.lang.String pLocationId)
                       throws InventoryException
increaseStockLevel in interface atg.commerce.inventory.LocationInventoryManagerpId - The id of the SKU whose stockLevel is being increased.pLocationId - the Location Id where the SKU's stock level is being increased.pNumber - The amount to increase the stockLevel to.
InventoryException
public int decreaseStockLevel(java.lang.String pId,
                              long pNumber,
                              java.lang.String pLocationId)
                       throws InventoryException
decreaseStockLevel in interface atg.commerce.inventory.LocationInventoryManagerpId - The id of the SKU whose stockLevel is being decreased.pNumber - The amount to decrease the stockLevel to.pLocationId - the Location Id where the SKU's stock level is being decreased.
InventoryException
public int increaseBackorderLevel(java.lang.String pId,
                                  long pNumber,
                                  java.lang.String pLocationId)
                           throws InventoryException
increaseBackorderLevel in interface atg.commerce.inventory.LocationInventoryManagerpId - The id of the SKU whose backorderLevel is being increased.pLocationId - the Location Id where the SKU's backorder level is being increased.pNumber - The amount to increase the backorderLevel to.
InventoryException
public int decreaseBackorderLevel(java.lang.String pId,
                                  long pNumber,
                                  java.lang.String pLocationId)
                           throws InventoryException
decreaseBackorderLevel in interface atg.commerce.inventory.LocationInventoryManagerpId - The id of the SKU whose backorderLevel is being decreased.pLocationId - the Location Id where the SKU's backorderLevel is being decreased.pNumber - The amount to decrease the backorderLevel to.
InventoryException
public int increasePreorderLevel(java.lang.String pId,
                                 long pNumber,
                                 java.lang.String pLocationId)
                          throws InventoryException
increasePreorderLevel in interface atg.commerce.inventory.LocationInventoryManagerpId - The id of the SKU whose preorderLevel is being increased.pLocationId - the Location Id where the SKU's preorderLevel is being increased.pNumber - The amount to increase the preorderLevel to.
InventoryException
public int decreasePreorderLevel(java.lang.String pId,
                                 long pNumber,
                                 java.lang.String pLocationId)
                          throws InventoryException
decreasePreorderLevel in interface atg.commerce.inventory.LocationInventoryManagerpId - The id of the SKU whose preorderLevel is being decreased.pLocationId - the Location Id where the SKU's preorderLevel is being decreased.pNumber - The amount to decrease the preorderLevel to.
InventoryException
public int setAvailabilityStatus(java.lang.String pId,
                                 int pStatus,
                                 java.lang.String pLocationId)
                          throws InventoryException
setAvailabilityStatus in interface atg.commerce.inventory.LocationInventoryManagerpId - the id of the item involvedpStatus - the new status (one of AVAILABILITY_STATUS_IN_STOCK,
                                       AVAILABILITY_STATUS_BACKORDERABLE,
                                       AVAILABILITY_STATUS_PREORDERABLE,
                                       AVAILABILITY_STATUS_OUT_OF_STOCK,
                                       AVAILABILITY_STATUS_DISCONTINUED,
                                    or AVAILABILITY_STATUS_DERIVED)pLocationId - the Location Id where the SKU's availability status is being set.
InventoryException
public int setAvailabilityDate(java.lang.String pId,
                               java.util.Date pDate,
                               java.lang.String pLocationId)
                        throws InventoryException
setAvailabilityDate in interface atg.commerce.inventory.LocationInventoryManagerpId - the id of the item involvedpLocationId - the location of the item involved.pDate - The new availability date for the item.
InventoryException
public int queryAvailabilityStatus(java.lang.String pId,
                                   java.lang.String pLocationId)
                            throws InventoryException
queryAvailabilityStatus in interface atg.commerce.inventory.LocationInventoryManagerpId - The id of the SKU whose status is being queriedpLocationId - the location of the item involved.
InventoryExceptionderiveAvailabilityStatus(java.lang.String), 
deriveBundleAvailabilityStatus(java.lang.String)
public long queryStockLevel(java.lang.String pId,
                            java.lang.String pLocationId)
                     throws InventoryException
queryStockLevel in interface atg.commerce.inventory.LocationInventoryManagerpId - The id of the SKU whose stockLevel is returnedpLocationId - the location of the item involved.
InventoryExceptionqueryBundleStockLevel(java.lang.String, java.lang.String)
public long queryBackorderLevel(java.lang.String pId,
                                java.lang.String pLocationId)
                         throws InventoryException
queryBackorderLevel in interface atg.commerce.inventory.LocationInventoryManagerpId - The id of the SKU whose backorderLevel is returnedpLocationId - the location of the item involved.
InventoryExceptionqueryBundleBackorderLevel(java.lang.String)
public long queryPreorderLevel(java.lang.String pId,
                               java.lang.String pLocationId)
                        throws InventoryException
queryPreorderLevel in interface atg.commerce.inventory.LocationInventoryManagerpId - The id of the SKU whose preorderLevel is returnedpLocationId - the location of the item involved.
InventoryExceptionqueryBundlePreorderLevel(java.lang.String, java.lang.String)
public java.util.Date queryAvailabilityDate(java.lang.String pId,
                                            java.lang.String pLocationId)
                                     throws InventoryException
queryAvailabilityDate in interface atg.commerce.inventory.LocationInventoryManagerpId - The id of the SKU whose availabilityDate is returnedpLocationId - the location of the item involved.
InventoryExceptionqueryBundleAvailabilityDate(java.lang.String, java.lang.String)
public int inventoryWasUpdated(java.util.List pItemIds,
                               java.lang.String pLocationId)
                        throws InventoryException
inventoryWasUpdated in interface atg.commerce.inventory.LocationInventoryManagerpItemIds - The items with recently added inventorypLocationId - the location of the items involved.
MissingInventoryItemException - if a given id does not exist.
InventoryExceptionJMSException
public int setStockThreshold(java.lang.String pId,
                             long pNumber,
                             java.lang.String pLocationId)
                      throws InventoryException
setStockThreshold in interface atg.commerce.inventory.LocationInventoryManagerpId - the id of the SKU involvedpNumber - the number to set the threshold to
InventoryException
public int setBackorderThreshold(java.lang.String pId,
                                 long pNumber,
                                 java.lang.String pLocationId)
                          throws InventoryException
setBackorderThreshold in interface atg.commerce.inventory.LocationInventoryManagerpId - the id of the SKU involvedpNumber - the number to set the threshold topLocationId - the location of the item involved
InventoryException
public int setPreorderThreshold(java.lang.String pId,
                                long pNumber,
                                java.lang.String pLocationId)
                         throws InventoryException
setPreorderThreshold in interface atg.commerce.inventory.LocationInventoryManagerpId - the id of the SKU involvedpNumber - the number to set the threshold topLocationId - the location of the item involved.
InventoryException
public long queryStockThreshold(java.lang.String pId,
                                java.lang.String pLocationId)
                         throws InventoryException
queryStockThreshold in interface atg.commerce.inventory.LocationInventoryManagerpId - the id of the SKU involvedpLocationId - the location of the item involved.
InventoryException
public long queryBackorderThreshold(java.lang.String pId,
                                    java.lang.String pLocationId)
                             throws InventoryException
queryBackorderThreshold in interface atg.commerce.inventory.LocationInventoryManagerpId - the id of the SKU involvedpLocationId - the location of the item involved.
InventoryException
public long queryPreorderThreshold(java.lang.String pId,
                                   java.lang.String pLocationId)
                            throws InventoryException
queryPreorderThreshold in interface atg.commerce.inventory.LocationInventoryManagerpId - the id of the SKU involvedpLocationId - the location of the item involved.
InventoryException
protected void thresholdHasBeenReached(java.lang.String pId,
                                       java.lang.String pLevelPropertyName,
                                       java.lang.String pThresholdPropertyName,
                                       long pCurrentValue,
                                       long pThreshold)
                                throws InventoryException
pId - The id of the SKU at a critical inventory level.pLevelPropertyName - The name of the property that is at a critical levelpThresholdPropertyName - The name of the threshold that has been reached.pCurrentValue - The current value of pLevelPropertyNamepThreshold - The vale of pThresholdPropertyName
InventoryExceptionInventoryThresholdReached, 
getInventoryEventPort()
protected void thresholdHasBeenReached(java.lang.String pId,
                                       java.lang.String pLocationId,
                                       java.lang.String pLevelPropertyName,
                                       java.lang.String pThresholdPropertyName,
                                       long pCurrentValue,
                                       long pThreshold)
                                throws InventoryException
pId - The id of the SKU at a critical inventory level.pLocationId - The id of the location for this inventory.pLevelPropertyName - The name of the property that is at a critical levelpThresholdPropertyName - The name of the threshold that has been reached.pCurrentValue - The current value of pLevelPropertyNamepThreshold - The vale of pThresholdPropertyName
InventoryExceptionInventoryThresholdReached, 
getInventoryEventPort()
protected int deriveAvailabilityStatus(java.lang.String pId)
                                throws InventoryException
    if(stockLevel != 0)
      return IN_STOCK;
    else if(backorderLevel != 0)
      return BACKORDERABLE;
    else if(preorderLevel != 0)
      return PREORDERABLE;
    else
      return OUT_OF_STOCK;
 
pId - The sku we are deriving the status for
InventoryException
protected int deriveAvailabilityStatus(java.lang.String pId,
                                       java.lang.String pLocationId)
                                throws InventoryException
    if(stockLevel != 0)
      return IN_STOCK;
    else if(backorderLevel != 0)
      return BACKORDERABLE;
    else if(preorderLevel != 0)
      return PREORDERABLE;
    else
      return OUT_OF_STOCK;
 
pId - The sku we are deriving the status forpLocationId - The location of the inventory we are deriving the status for
InventoryException
public java.lang.String getNextMessageId()
                                  throws InventoryException
InventoryException
protected void updateItem(MutableRepositoryItem pItem)
                   throws RepositoryException
pItem - The inventory's RepositoryItem
RepositoryException
protected void lock(java.lang.String pItemId)
             throws java.sql.SQLException
pItemId - The catalog ref id whose inventory we want to change
java.sql.SQLExceptiongetMillisecondDelayBeforeLockRetry(), 
getMaximumRetriesPerRowLock(), 
getInventoryRowLockProperty(), 
getInventoryRowLockSQL()
protected void lock(java.lang.String pItemId,
                    java.lang.String pLocationId)
             throws java.sql.SQLException
pItemId - The catalog ref id whose inventory we want to changepLocationId - the LocationId of the inventory we want to change
java.sql.SQLExceptiongetMillisecondDelayBeforeLockRetry(), 
getMaximumRetriesPerRowLock(), 
getInventoryRowLockProperty(), 
getInventoryRowLockSQL()
protected void unlock(java.lang.String pItemId)
               throws java.sql.SQLException
java.sql.SQLException
protected void unlock(java.lang.String pItemId,
                      java.lang.String pLocationId)
               throws java.sql.SQLException
java.sql.SQLException
public void acquireInventoryLocks(java.util.List pItemIds,
                                  java.lang.String pLocationId)
                           throws InventoryException
lock
 The locks are acquired in sorted order.  Any locks for
 ids contained within a bundle are also acquired in the
 correct order.
 If one of the ids does not exist, it is ignored.
acquireInventoryLocks in interface atg.commerce.inventory.LocationInventoryManagerpItemIds - The list of catalog ref ids
InventoryException
public void releaseInventoryLocks(java.util.List pItemIds,
                                  java.lang.String pLocationId)
                           throws InventoryException
releaseInventoryLocks in interface atg.commerce.inventory.LocationInventoryManagerInventoryException
public java.util.List getBundledIds(java.lang.String pBundleId)
                             throws InventoryException
InventoryException
protected java.util.List getBundleLinks(java.lang.String pId)
                                 throws InventoryException
pId - The id of the sku in question
InventoryException
protected java.util.List getBundleLinks(RepositoryItem pBundle)
                                 throws InventoryException
pBundle - The sku.
InventoryException
protected boolean isBundle(java.lang.String pId)
                    throws InventoryException
pId - The id of the sku in question
InventoryException
protected int deriveBundleAvailabilityStatus(java.lang.String pBundleId)
                                      throws InventoryException
 for each item
     queryAvailabilityStatus(item)
     if any items are AVAILABILITY_STATUS_OUT_OF_STOCK
         return AVAILABILITY_STATUS_OUT_OF_STOCK
     else if any are AVAILABILITY_STATUS_PREORDERABLE
         return AVAILABILITY_STATUS_PREORDERABLE
     else if any are AVAILABILITY_STATUS_BACKORDERABLE
         return AVAILABILITY_STATUS_BACKORDERABLE
     else
         return AVAILABILITY_STATUS_IN_STOCK
 
pId - the id of the bundle
InventoryException
protected int deriveBundleAvailabilityStatus(java.lang.String pBundleId,
                                             java.lang.String pLocationId)
                                      throws InventoryException
 for each item
     queryAvailabilityStatus(item)
     if any items are AVAILABILITY_STATUS_OUT_OF_STOCK
         return AVAILABILITY_STATUS_OUT_OF_STOCK
     else if any are AVAILABILITY_STATUS_PREORDERABLE
         return AVAILABILITY_STATUS_PREORDERABLE
     else if any are AVAILABILITY_STATUS_BACKORDERABLE
         return AVAILABILITY_STATUS_BACKORDERABLE
     else
         return AVAILABILITY_STATUS_IN_STOCK
 
pId - the id of the bundlepLocationId - the location id of the bundle
InventoryException
protected int purchaseBundle(java.lang.String pBundleId,
                             long pHowMany)
                      throws InventoryException
 foreach item
 queryAvailabilityStatus(bundle)
 if AVAILABILITY_STATUS_IN_STOCK
     for each item
         purchase(item, itemQuantity)
         if purchase returns INVENTORY_STATUS_INSUFFICIENT_SUPPLY
             for each item already purchased
                 increaseStockLevel
             return INVENTORY_STATUS_INSUFFICIENT_SUPPLY
         if purchase returns INVENTORY_STATUS_FAILED
             for each item already purchased
                 increaseStockLevel
             return INVENTORY_STATUS_FAILED
     return INVENTORY_STATUS_SUCCEED
 else
     return INVENTORY_STATUS_FAILED
 
pBundleId - The id of the bundlepHowMany - the quantity of the bundle to purchase
InventoryException
protected int purchaseBundle(java.lang.String pBundleId,
                             long pHowMany,
                             java.lang.String pLocationId)
                      throws InventoryException
 foreach item
 queryAvailabilityStatus(bundle)
 if AVAILABILITY_STATUS_IN_STOCK
     for each item
         purchase(item, itemQuantity)
         if purchase returns INVENTORY_STATUS_INSUFFICIENT_SUPPLY
             for each item already purchased
                 increaseStockLevel
             return INVENTORY_STATUS_INSUFFICIENT_SUPPLY
         if purchase returns INVENTORY_STATUS_FAILED
             for each item already purchased
                 increaseStockLevel
             return INVENTORY_STATUS_FAILED
     return INVENTORY_STATUS_SUCCEED
 else
     return INVENTORY_STATUS_FAILED
 
pBundleId - The id of the bundlepHowMany - the quantity of the bundle to purchasepLocationId - the location of the bundle
InventoryException
protected int backorderBundle(java.lang.String pBundleId,
                              long pHowMany,
                              java.lang.String pLocationId)
                       throws InventoryException
 foreach item
         backorder(item, itemQuantity)
         if backorder returns INVENTORY_STATUS_INSUFFICIENT_SUPPLY
             for each item already backordered
                 increaseBackorderLevel
             return INVENTORY_STATUS_INSUFFICIENT_SUPPLY
         if backorder returns INVENTORY_STATUS_FAILED
             for each item already backordered
                 increaseBackorderLevel
             return INVENTORY_STATUS_FAILED
     return INVENTORY_STATUS_SUCCEED
 else
     return INVENTORY_STATUS_FAILED
 
pBundleId - The id of the bundle we are backorderingpHowMany - the quantity of the bundle to backorder
InventoryException
protected int preorderBundle(java.lang.String pBundleId,
                             long pHowMany)
                      throws InventoryException
 foreach item
         preorder(item, itemQuantity)
         if preorder returns INVENTORY_STATUS_INSUFFICIENT_SUPPLY
             for each item already preordered
                 increasePreorderLevel
             return INVENTORY_STATUS_INSUFFICIENT_SUPPLY
         if preorder returns INVENTORY_STATUS_FAILED
             for each item already preordered
                 increasePreorderLevel
             return INVENTORY_STATUS_FAILED
     return INVENTORY_STATUS_SUCCEED
 else
     return INVENTORY_STATUS_FAILED
 
pBundleId - The id of the bundle we are backorderingpHowMany - the quantity of the bundle to backorder
InventoryException
protected int preorderBundle(java.lang.String pBundleId,
                             long pHowMany,
                             java.lang.String pLocationId)
                      throws InventoryException
InventoryException
protected int purchaseBundleOffPreorder(java.lang.String pBundleId,
                                        long pHowMany)
                                 throws InventoryException
pBundleId - The id of the bundlepHowMany - the quantity of the bundle to purchase
InventoryException
protected int purchaseBundleOffPreorder(java.lang.String pBundleId,
                                        long pHowMany,
                                        java.lang.String pLocationId)
                                 throws InventoryException
pBundleId - The id of the bundlepHowMany - the quantity of the bundle to purchasepLocationId - the location of the bundle
InventoryException
protected int purchaseBundleOffBackorder(java.lang.String pBundleId,
                                         long pHowMany)
                                  throws InventoryException
pBundleId - The id of the bundlepHowMany - the quantity of the bundle to purchase
InventoryException
protected int purchaseBundleOffBackorder(java.lang.String pBundleId,
                                         long pHowMany,
                                         java.lang.String pLocationId)
                                  throws InventoryException
pBundleId - The id of the bundlepHowMany - the quantity of the bundle to purchasepLocationId - the location id of the bundle
InventoryException
protected long queryBundleStockLevel(java.lang.String pId,
                                     java.lang.String pLocationId)
                              throws InventoryException
pId - The id of the bundle
InventoryException
protected long queryBundleBackorderLevel(java.lang.String pId)
                                  throws InventoryException
pId - The id of the bundle
InventoryException
protected long queryBundleBackorderLevel(java.lang.String pId,
                                         java.lang.String pLocationId)
                                  throws InventoryException
pId - The id of the bundlepLocationId - the location id of the bundle
InventoryException
protected long queryBundlePreorderLevel(java.lang.String pId,
                                        java.lang.String pLocationId)
                                 throws InventoryException
pId - The id of the bundle
InventoryException
protected long queryBundleStockThreshold(java.lang.String pId,
                                         java.lang.String pLocationId)
                                  throws InventoryException
pId - The id of the bundle
InventoryException
protected long queryBundleBackorderThreshold(java.lang.String pId,
                                             java.lang.String pLocationId)
                                      throws InventoryException
pId - The id of the bundle
InventoryException
protected long queryBundlePreorderThreshold(java.lang.String pId,
                                            java.lang.String pLocationId)
                                     throws InventoryException
pId - The id of the bundle
InventoryException
public java.util.Date queryBundleAvailabilityDate(java.lang.String pBundleId,
                                                  java.lang.String pLocationId)
                                           throws InventoryException
pBundleId - The id of the bundle
InventoryException
MissingInventoryItemExceptionqueryAvailabilityDate(java.lang.String, java.lang.String)
public java.util.Collection<InventoryInfo> queryInventoryInformation(java.util.Collection<java.lang.String> pItemIds,
                                                                     java.lang.String pLocationId)
                                                              throws InventoryException
queryInventoryInformation in interface atg.commerce.inventory.LocationInventoryManagerInventoryException
public java.util.Collection<InventoryInfo> queryInventoryInformation(java.lang.String pId,
                                                                     java.util.Collection<java.lang.String> pLocationIds)
                                                              throws InventoryException
queryInventoryInformation in interface atg.commerce.inventory.LocationInventoryManagerInventoryException
public java.util.Collection<InventoryInfo> queryInventoryInformation(java.util.Collection<java.lang.String> pItemIds,
                                                                     java.util.Collection<java.lang.String> pLocationIds)
                                                              throws InventoryException
queryInventoryInformation in interface atg.commerce.inventory.LocationInventoryManagerInventoryException
public InventoryInfo queryInventoryInformation(java.lang.String pId,
                                               java.lang.String pLocationId)
                                        throws InventoryException
queryInventoryInformation in interface atg.commerce.inventory.LocationInventoryManagerInventoryException
public atg.commerce.inventory.AvailableToPromise queryAvailableToPromise(java.lang.String pId,
                                                                         java.lang.String pLocationId)
                                                                  throws InventoryException
queryAvailableToPromise in interface atg.commerce.inventory.LocationInventoryManagerInventoryException
public int purchase(java.lang.String pId,
                    long pHowMany)
             throws InventoryException
InventoryManager
purchase in interface InventoryManagerpId - the id of the item involved
InventoryException - if there was a problem during the purchase process.
public int purchaseOffBackorder(java.lang.String pId,
                                long pHowMany)
                         throws InventoryException
InventoryManager
purchaseOffBackorder in interface InventoryManagerpId - the id of the item involved
InventoryException - if there was a problem during the purchase process.
public int purchaseOffPreorder(java.lang.String pId,
                               long pHowMany)
                        throws InventoryException
InventoryManager
purchaseOffPreorder in interface InventoryManagerpId - the id of the item involved
InventoryException - if there was a problem during the purchase process.
public int preorder(java.lang.String pId,
                    long pHowMany)
             throws InventoryException
InventoryManager
preorder in interface InventoryManagerpId - the id of the item involved
InventoryException - if there was a problem in trying to preorder the item
public int backorder(java.lang.String pId,
                     long pHowMany)
              throws InventoryException
InventoryManager
backorder in interface InventoryManagerpId - the id of the item involved
InventoryException - if there was a problem with the backordering process.
public int setStockLevel(java.lang.String pId,
                         long pNumber)
                  throws InventoryException
InventoryManager
setStockLevel in interface InventoryManagerpId - the id of the item involvedpNumber - the number of the given item to restock
InventoryException - if there was a problem trying to restock
public int setBackorderLevel(java.lang.String pId,
                             long pNumber)
                      throws InventoryException
InventoryManager
setBackorderLevel in interface InventoryManagerpId - the id of the item involvedpNumber - the number of the given item to restock
InventoryException - if there was a problem trying to restock
public int setPreorderLevel(java.lang.String pId,
                            long pNumber)
                     throws InventoryException
InventoryManager
setPreorderLevel in interface InventoryManagerpId - the id of the item involvedpNumber - the number of the given item to restock
InventoryException - if there was a problem trying to restock
public int increaseStockLevel(java.lang.String pId,
                              long pNumber)
                       throws InventoryException
InventoryManager
increaseStockLevel in interface InventoryManagerpId - the id of the item involvedpNumber - the number of items to add to the current stock level
InventoryException - if there was a problem trying to restock
public int decreaseStockLevel(java.lang.String pId,
                              long pNumber)
                       throws InventoryException
InventoryManager
decreaseStockLevel in interface InventoryManagerpId - the id of the item involvedpNumber - the number of items to decrease from the current stock level
InventoryException - if there was a problem trying to restock
public int increaseBackorderLevel(java.lang.String pId,
                                  long pNumber)
                           throws InventoryException
InventoryManager
increaseBackorderLevel in interface InventoryManagerpId - the id of the item involvedpNumber - the number of items to add to the current stock level
InventoryException - if there was a problem trying to restock
public int decreaseBackorderLevel(java.lang.String pId,
                                  long pNumber)
                           throws InventoryException
InventoryManager
decreaseBackorderLevel in interface InventoryManagerpId - the id of the item involvedpNumber - the number of items to decrease from the current stock level
InventoryException - if there was a problem trying to restock
public int increasePreorderLevel(java.lang.String pId,
                                 long pNumber)
                          throws InventoryException
InventoryManager
increasePreorderLevel in interface InventoryManagerpId - the id of the item involvedpNumber - the number of items to add to the current stock level
InventoryException - if there was a problem trying to restock
public int decreasePreorderLevel(java.lang.String pId,
                                 long pNumber)
                          throws InventoryException
InventoryManager
decreasePreorderLevel in interface InventoryManagerpId - the id of the item involvedpNumber - the number of items to decrease from the current stock level
InventoryException - if there was a problem trying to restock
public int setStockThreshold(java.lang.String pId,
                             long pNumber)
                      throws InventoryException
InventoryManager
setStockThreshold in interface InventoryManagerpId - the id of the item involvedpNumber - the number of the given item to restock
InventoryException - if there was a problem trying to restock
public int setBackorderThreshold(java.lang.String pId,
                                 long pNumber)
                          throws InventoryException
InventoryManager
setBackorderThreshold in interface InventoryManagerpId - the id of the item involvedpNumber - the number of the given item to restock
InventoryException - if there was a problem trying to restock
public int setPreorderThreshold(java.lang.String pId,
                                long pNumber)
                         throws InventoryException
InventoryManager
setPreorderThreshold in interface InventoryManagerpId - the id of the item involvedpNumber - the number of the given item to restock
InventoryException - if there was a problem trying to restock
public int setAvailabilityStatus(java.lang.String pId,
                                 int pStatus)
                          throws InventoryException
InventoryManager
setAvailabilityStatus in interface InventoryManagerpId - the id of the item involvedpStatus - the new status (one of AVAILABILITY_STATUS_IN_STOCK, 
                                       AVAILABILITY_STATUS_BACKORDERABLE,
                                       AVAILABILITY_STATUS_PREORDERABLE,
                                       AVAILABILITY_STATUS_OUT_OF_STOCK,
                                       AVAILABILITY_STATUS_DISCONTINUED,
                                    or AVAILABILITY_STATUS_DERIVED)
InventoryException
public int setAvailabilityDate(java.lang.String pId,
                               java.util.Date pDate)
                        throws InventoryException
InventoryManager
setAvailabilityDate in interface InventoryManagerpId - the id of the item involvedpDate - The new availability date for the item.
InventoryException
public int queryAvailabilityStatus(java.lang.String pId)
                            throws InventoryException
InventoryManager
queryAvailabilityStatus in interface InventoryManagerpId - The id of the item involved.
InventoryException - if there was a problem determining the status of the item
public long queryStockLevel(java.lang.String pId)
                     throws InventoryException
InventoryManager
queryStockLevel in interface InventoryManagerInventoryException - if there was a problem determining the number
public long queryBackorderLevel(java.lang.String pId)
                         throws InventoryException
InventoryManager
queryBackorderLevel in interface InventoryManagerInventoryException - if there was a problem determining the number
public long queryPreorderLevel(java.lang.String pId)
                        throws InventoryException
InventoryManager
queryPreorderLevel in interface InventoryManagerInventoryException - if there was a problem determining the number
public long queryStockThreshold(java.lang.String pId)
                         throws InventoryException
InventoryManager
queryStockThreshold in interface InventoryManagerInventoryException - if there was a problem determining the number
public long queryBackorderThreshold(java.lang.String pId)
                             throws InventoryException
InventoryManager
queryBackorderThreshold in interface InventoryManagerInventoryException - if there was a problem determining the number
public long queryPreorderThreshold(java.lang.String pId)
                            throws InventoryException
InventoryManager
queryPreorderThreshold in interface InventoryManagerInventoryException - if there was a problem determining the number
public java.util.Date queryAvailabilityDate(java.lang.String pId)
                                     throws InventoryException
InventoryManager
queryAvailabilityDate in interface InventoryManagerInventoryException - if there was a problem determining the date
public int inventoryWasUpdated(java.util.List pItemIds)
                        throws InventoryException
InventoryManager
inventoryWasUpdated in interface InventoryManagerpItemIds - The items with recently added inventory
InventoryException
public void acquireInventoryLocks(java.util.List pItemIds)
                           throws InventoryException
InventoryManager
acquireInventoryLocks in interface InventoryManagerInventoryException
public void releaseInventoryLocks(java.util.List pItemIds)
                           throws InventoryException
InventoryManager
releaseInventoryLocks in interface InventoryManagerInventoryException| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||